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