Re: [AMBER] problem in running AMBER12 in GPU

From: Jason Swails <jason.swails.gmail.com>
Date: Wed, 4 Sep 2013 10:56:20 -0400

On Wed, Sep 4, 2013 at 10:21 AM, Sanjib Paul <sanjib88paul.gmail.com> wrote:

> Hello,
> Thanks for your valuable suggestion. After updating we are able to
> run AMBER12 (sander, pmemd, sander.MPI & pmemd.MPI, pmemd.cuda). But
> unfortunately when we are not able to install pmemd.cuda.MPI successfully.
> Those are few following errors which we are getting at the end of
> installation process.
>
> ./cuda/cuda.a(gpu.o): In function `MPI::Intracomm::Clone() const':
> gpu.cpp:(.text._ZNK3MPI9Intracomm5CloneEv[MPI::Intracomm::Clone()
> const]+0x27): undefined reference to `MPI::Comm::Comm()'
>
> ./cuda/cuda.a(gpu.o):gpu.cpp:(.text._ZNK3MPI9Intracomm5SplitEii[MPI::Intracomm::Split(int,
> int) const]+0x24): more undefined references to `MPI::Comm::Comm()' follow
> ./cuda/cuda.a(gpu.o):(.rodata._ZTVN3MPI3WinE[vtable for MPI::Win]+0x48):
> undefined reference to `MPI::Win::Free()'
> ./cuda/cuda.a(gpu.o):(.rodata._ZTVN3MPI8DatatypeE[vtable for
> MPI::Datatype]+0x78): undefined reference to `MPI::Datatype::Free()'
> collect2: ld returned 1 exit status
> make[3]: *** [pmemd.cuda.MPI] Error 1
> make[3]: Leaving directory `/home/test/amber12/src/pmemd/src'
> make[2]: *** [cuda_parallel] Error 2
> make[2]: Leaving directory `/home/test/amber12/src/pmemd'
> make[1]: *** [cuda_parallel] Error 2
> make[1]: Leaving directory `/home/test/amber12/src'
> make: *** [install] Error 2
>
> We are using cuda version 5.5 with openmpi 1.7.2 built with installed cuda.
> We did not understand what the problem is. Please give some suggestion.
>

It's likely that your MPI was not built with the appropriate support that
pmemd.cuda.MPI needs (make sure the MPI is built with C++ support, I
think). I've been using mpich2 (now just 'mpich') for some time and I've
never had a problem building pmemd.cuda.MPI before. Note, if you google
the last little bit of your error message:

./cuda/cuda.a(gpu.o):(.rodata._ZTVN3MPI8DatatypeE[vtable for
MPI::Datatype]+0x78): undefined reference to `MPI::Datatype::Free()'

it brings you to this link: http://archive.ambermd.org/201106/0678.html

which provides useful things to try.

Try adding -lmpi_cxx to the PMEMD_CU_LIBS line in config.h. If that still
doesn't work, rebuild your MPI with C++ support. If you are unsure what to
do, use the configure_mpich2 script in $AMBERHOME/AmberTools/src to build
your own MPI (see the manual for instructions -- you need to download
mpich2 first to use it). You also need to set up PATH and LD_LIBRARY_PATH
so that "which mpif90" returns the version in $AMBERHOME/bin.

HTH,
Jason

-- 
Jason M. Swails
BioMaPS,
Rutgers University
Postdoctoral Researcher
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Wed Sep 04 2013 - 08:00:03 PDT
Custom Search