Re: [AMBER] Test results for amber-cuda, single node, single GPU, Tesla C2070

From: Jason Swails <jason.swails.gmail.com>
Date: Wed, 25 May 2011 17:30:19 -0400

On Wed, May 25, 2011 at 4:35 PM, Paul Rigor <paul.rigor.uci.edu> wrote:

> Hi gang,
>
> The parallel and serial CPU versions compile just fine. The GPU
> installation
> directions are also out of sync, ie, it refers to "cuda_parallel" target,
> whereas the distributed makefile does not contain such a target.
>
> I'm using the latest CUDA toolkit (4.x) with the latest drivers for the
> C2070. Our sysadmin should have obtain the latest amber11/ambertools 1.5.0
> sources as well (but I'll double check).
>
> CUDA Driver Version: 4.0
> CUDA Capability Major/Minor version number: 2.0
> Device has ECC support enabled: Yes
>
>
> The packaged netcdf was not being linked correctly and we were getting
> unnamed reference errors.


Does the variable NETCDFLIB in the config.h point to the right NetCDF
library? Also, though, Amber fortran codes need the NetCDF mod file
(netcdf.mod). However, the location of this module file changed
(apparently) between AmberTools 1.5 and AmberTools 1.4, so you need to run
the script AT15_Amber11.py *after* running configure to make AmberTools 1.5
compatible with Amber11.


> Its actual compilation and library generation
> works fine:
>

The libraries are used for the C(++) codes that handle NetCDF files (ptraj,
cpptraj, etc.).


>
> /usr/bin/install -c .libs/libnetcdf.a
> /extra/dock2/tools/amber/md/11-1.5.0/AmberTools/lib/libnetcdf.achmod 644
> /extra/dock2/tools/amber/md/11-1.5.0/AmberTools/lib/libnetcdf.aranlib
> /extra/dock2/tools/amber/md/11-1.5.0/AmberTools/lib/libnetcdf.a
>
>
> But then we get the following error messages once compiling pmemd:
>
>
> make[3]: Leaving directory
> `/extra/dock2/tools/amber/md/11-1.5.0/src/pmemd/src/cuda'
> gfortran -DCUDA -o pmemd.cuda gbl_constants.o gbl_datatypes.o
> state_info.o
> file_io_dat.o mdin_ctrl_dat.o mdin_ewald_dat.o mdin_debugf_dat.o
> prmtop_dat.o inpcrd_dat.o dynamics_dat.o img.o parallel_dat.o parallel.o
> gb_parallel.o pme_direct.o pme_recip_dat.o pme_slab_recip.o pme_blk_recip.o
> pme_slab_fft.o pme_blk_fft.o pme_fft_dat.o fft1d.o bspline.o pme_force.o
> pbc.o nb_pairlist.o nb_exclusions.o cit.o dynamics.o bonds.o angles.o
> dihedrals.o extra_pnts_nb14.o runmd.o loadbal.o shake.o prfs.o mol_list.o
> runmin.o constraints.o axis_optimize.o gb_ene.o veclib.o gb_force.o
> timers.o
> pmemd_lib.o runfiles.o file_io.o bintraj.o pmemd_clib.o pmemd.o random.o
> degcnt.o erfcfun.o nmr_calls.o nmr_lib.o get_cmdline.o master_setup.o
> pme_alltasks_setup.o pme_setup.o ene_frc_splines.o gb_alltasks_setup.o
> nextprmtop_section.o angles_ub.o dihedrals_imp.o cmap.o charmm.o
> charmm_gold.o -L/usr/local/cuda/lib64 -L/usr/local/cuda/lib -lcufft
> -lcudart
> ./cuda/cuda.a
> mdin_ctrl_dat.o: In function `__mdin_ctrl_dat_mod__bcast_mdin_ctrl_dat':
> mdin_ctrl_dat.f90:(.text+0x98d8): undefined reference to `mpi_bcast_'
> mdin_ctrl_dat.f90:(.text+0x9903): undefined reference to `mpi_bcast_'
> mdin_ewald_dat.o: In function `__mdin_ewald_dat_mod__bcast_mdin_ewald_dat':
> mdin_ewald_dat.f90:(.text+0x1c7f): undefined reference to `mpi_bcast_'
> mdin_ewald_dat.f90:(.text+0x1cab): undefined reference to `mpi_bcast_'
> mdin_debugf_dat.o: In function
> `__mdin_debugf_dat_mod__bcast_mdin_debugf_dat':
> mdin_debugf_dat.f90:(.text+0x2eb): undefined reference to `mpi_bcast_'
>

Yikes. Not good. Are you trying to build in serial here? If so, it
appears as though you didn't do a "make clean" before trying to make in
serial. You should always run a "make clean" when trying to do a
*different* install than the one that came before it. MPI calls (i.e.
mpi_bcast) don't exist in serial, and are not processed in a normal serial
build. MPI builds use the compiler and linker mpif90, not gfortran.

Thus, you've either forgotten to do a make clean prior to a serial build
_or_ you've modified the config.h file, replaced the mpif90 with gfortran,
and forgotten to link the MPI libraries by hand if that was your intention
(I'd suggest just leaving mpif90 here in this case).

Hope this helps,
Jason

-- 
Jason M. Swails
Quantum Theory Project,
University of Florida
Ph.D. Candidate
352-392-4032
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Wed May 25 2011 - 15:00:04 PDT
Custom Search