Question: How can I use mpi version of make3d?

Answer:

First of all, you need a mpi package to compile a mpi version of EMAN(make3d). We use mpich1.2.7. You need compile mpich1.2.7 as following:

$./configure -prefix=/usr/local -rsh=ssh
$make CXXFLAGS='-O2 -fPIC'
$su
$make install

Add following envoronmental viraibles to your .bashrc. Here I use Bash as a example, you can set those variables in CShell accordingly.

export MPIDIR=~/bin/mpich
export PATH=${MPIDIR}/bin:${PATH}
export LD_LIBRARY_PATH=${MPIDIR}/lib:${LD_LIBRARY_PATH}

source .bashrc

Then turn on ENABLE_MPI flag in ccmake step when compiling EMAN.

Note:

1. We need add a '-fPIC' option for static mpi libraries compilation. Otherwise in the process of compiling EMAN, you will get link error when link make3d to static mpich libraries.

2. We cannot link EMAN with shared pi libraries. The compilation will be OK, but we will get runtime error like:

p4_error: Child process exited while making connection to remote process on

EMAN1MpiMake3d (last edited 2010-05-27 22:06:37 by gtang)