You are here: Home Documentation How-To lifev parallel on leopard

lifev parallel on leopard

This is a short how-to to help people install lifev on leopard mac os x

notes

Xcode comes with gcc-4.0.1 and mpi.

I am currently installing the minimal tools to compile and install LifeV (parallel version) on my intel MacBook.

Note: I told the installer to format my disk with case-sensitive + journaling.

Requirements

  • Xcode 3 gfortran (which is part of the fink package gcc42)
  • aquamacs :-) or emacs.
  • make sure that you use templates.el and dirvars.el: http://www.lifev.org/documentation/codingstandards http://www.lifev.org/documentation/codingstandards/Emacs

Xcode3 openmpi

I tried by using openmpi that is shipped with leopard/Xcode3. New now it works with openmpi!

Note: openmpi is in /usr and, eg, for trilinos I needed:

  --with-mpi=/usr \
  --with-mpi-libs="-lmpi_cxx -lmpi -lopen-rte -lopen-pal -lutil"

Installing trilinos

discover the mpi flags::

$ mpicxx -show

for example I get::

g++ -D_REENTRANT -I/usr//include -Wl,-u,_munmap \ -Wl,-multiply_defined,suppress -L/usr//lib -lmpi_cxx -lmpi\ -lopen-rte -lopen-pal -lutil

the libraries are -lmpi_cxx -lmpi -lopen-rte -lopen-pal -lutil

  • download trilinos 9.x and install it. e.g.:
      cd trilinos
      mkdir debug
      cd debug
      ../configure --prefix=$HOME/local/debug/trilinos-9 \
      --enable-default-packages=yes \
      --disable-belos --disable-capo --disable-claps --disable-didasko \
      --disable-komplex --disable-loca --disable-meros --disable-ml \
      --disable-new_package --disable-pliris --disable-pytrilinos \
      --disable-python --disable-rythmos --disable-thyra --disable-tpetra \
      --disable-tsf --disable-tsfcore --disable-tsfcoreutils \
      --disable-tsfextended --disable-tests --disable-examples \
      --enable-teuchos --enable-ifpack --enable-ifpack-amesos \
      --enable-ifpack-teuchos --enable-amesos --enable-triutils --enable-anasazi \
      --enable-amesos --enable-aztecoo --enable-epetra-ext --enable-nox \
      --enable-triutils \
      \
      --enable-epetraext-hdf5 \
      --with-incdirs=-I/Users/simone/local/opt-mpich-1/hdf5/include \
      --with-ldflags=-L/Users/simone/local/opt-mpich-1/hdf5/lib/ \
      --with-libs=-lhdf5 \
      \
      --with-trilinos --with-gnumake \
      --enable-epetra-abc \
      --with-mpi=$HOME/local/mpich-1.2.7/ch_p4 \
      --with-mpi-libs="-lmpi_cxx -lmpi -lopen-rte -lopen-pal -lutil" \
      CC=gcc CCC=g++ F77=gfortran-mp-4.2
    
      make
      make install
    

Boost

dowload and install boost:

   fink install boost1.33

parmetis

dowload and detar Parmetis3.1 Modify ParMETISLib/stdheaders.h:

   #include <malloc.h>

should be:

   #include <malloc/malloc.h>

modify Makefile.in following your needs (eg, tell which mpi compiler to use). Then compile and copy the header and the libraries where you need them, e.g.:

   PARMETIS_INST_DIR=where you want to install
   mkdir -p ${PARMETIS_INST_DIR}/include
   mkdir -p ${PARMETIS_INST_DIR}/lib
   cp -p libmetis.a libparmetis.a ${PARMETIS_INST_DIR}/lib
   cp -p parmetis.h ${PARMETIS_INST_DIR}/include

LifeV

download lifev, then:

  make -f Makefile.cvs LIBTOOL=glibtool

important: use glibtool under mac. then, e.g.:

  mkdir debug
  cd debug
  ../configure --with-trilinos=/Users/simone/local/debug-mpich-1/trilinos-8 \
  --with-mpi=/Users/simone/local/mpich-1.2.5/ch_p4 \
  --with-parmetis=PARMETIS_INST_DIR \
  --with-boost-include=/sw/include \
  --with-boost-lib=/sw/lib \
  --with-mpi="/usr" \
  GCC=gcc GXX=g++ F77=gfortran-mp-4.2 

  Note that you have to install gfortran, possibly from fink or macport

Remarks are welcome :-)

Document Actions
« August 2010 »
August
MoTuWeThFrSaSu
1
2345678
9101112131415
16171819202122
23242526272829
3031