[AMBER] error running pmemd cuda tests

From: Blake Mertz <mertzjb.gmail.com>
Date: Wed, 8 May 2013 14:32:46 -0400

Hello,

I've been following Jason Swails' blog post on compiling Amber12 and
AmberTools12 (thanks, by the way), and can get serial, parallel, and
parallel with cuda versions of PMEMD compiled on my workstation
equipped with two GPUs, using both openmpi (v1.4) and mpich2. "make
test" runs successfully for both the serial and parallel versions of
PMEMD, but when I run make test for the cuda-based version of PMEMD, I
get the following error message for each test:

cd nmropt/pme/distance/ && ./Run.dist_pbc SPFP
/usr/local/src/amber12/include/netcdf.mod
../../../../../bin/pmemd.cuda_SPFP.MPI: symbol lookup error:
../../../../../bin/pmemd.cuda_SPFP.MPI: undefined symbol:
cudaFuncSetSharedMemConfig
../../../../../bin/pmemd.cuda_SPFP.MPI: symbol lookup error:
../../../../../bin/pmemd.cuda_SPFP.MPI: undefined symbol:
cudaFuncSetSharedMemConfig
../../../../../bin/pmemd.cuda_SPFP.MPI: symbol lookup error:
../../../../../bin/pmemd.cuda_SPFP.MPI: undefined symbol:
cudaFuncSetSharedMemConfig
  ./Run.dist_pbc: Program error
make[3]: [test.pmemd.cuda.pme] Error 1 (ignored)
cd nmropt/pme/nmropt_1_torsion/ && ./Run.nmropt_1_torsion SPFP
/usr/local/src/amber12/include/netcdf.mod
../../../../../bin/pmemd.cuda_SPFP.MPI: symbol lookup error:
../../../../../bin/pmemd.cuda_SPFP.MPI: undefined symbol:
cudaFuncSetSharedMemConfig
../../../../../bin/pmemd.cuda_SPFP.MPI: symbol lookup error:
../../../../../bin/pmemd.cuda_SPFP.MPI: undefined symbol:
cudaFuncSetSharedMemConfig
  ./Run.nmropt_1_torsion: Program error
make[3]: [test.pmemd.cuda.pme] Error 1 (ignored)

I've searched for the symbol 'cudaFuncSetSharedMemConfig' without much
luck -- no occurrences on the amber mailing list, and very few from a
google search. The only reference I could find was for someone using
openmpi v1.6, which I don't think applies to this particular
situation, since I got the same error with openmpi and mpich-based
PMEMD codes. Here is the relevant information with the steps and
environment variables I used:

- Debian v7
- CUDA libraries and toolkit installed from Debian repositories,
version 4.2.9-2, nvidia driver 304.88
- openmpi v.1.4.5-1 and mpich2 v1.4.1-4.2

root.NEI-GPU:/usr/local/src/amber12# echo $CUDA_HOME
/usr/lib/nvidia-cuda-toolkit

root.NEI-GPU:/usr/local/src/amber12# echo $LD_LIBRARY_PATH
/usr/lib:/usr/lib/mpich2/lib:/usr/local/src/amber12/lib:/usr/local/cuda/lib:/usr/local/cuda/lib64

root.NEI-GPU:/usr/local/src/amber12# echo $AMBERHOME
/usr/local/src/amber12

root.NEI-GPU:/usr/local/src/amber12# mpif90 -show
gfortran -Wl,-z,relro -I/usr/include/mpich2 -I/usr/include/mpich2
-L/usr/lib -lmpichf90 -lmpichf90 -lmpich -lopa -lmpl -lrt -lcr
-lpthread

root.NEI-GPU:/usr/local/src/amber12# mpicc -show
gcc -D_FORTIFY_SOURCE=2 -Wl,-z,relro -I/usr/include/mpich2 -L/usr/lib
-lmpich -lopa -lmpl -lrt -lcr -lpthread

To get the openmpi-based version of cuda PMEMD to compile, I had to
add the -lmpi_cxx flag to PMEMD_CU_LIBS line in config.h, as per Tru
Huynh's suggestion on the amber mailing list:

http://archive.ambermd.org/201210/0097.html

I've been banging on this for a few days now, and thought I had it
licked after successfully compiling the cuda-based PMEMD, but I'm
definitely stuck on getting these tests to pass. Any help would be
awesome. Thanks!

Blake

_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Wed May 08 2013 - 12:00:03 PDT
Custom Search