[AMBER-Developers] Help with NVIDIA Compilation using ifort

From: Ross Walker <ross.rosswalker.co.uk>
Date: Fri, 26 Mar 2010 15:49:14 -0700

Hi All,

I have now modified the cuda install so that it does not rely on any static
libraries anymore. Thus one should be able to build with both gnu and intel
compilers. With gnu everything works fine. However with Intel we get:

./configure cuda intel
make cuda

make[3]: Leaving directory
`/server-home/rcw/cvs_checkouts/amber11/src/pmemd/src/cuda'
ifort -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 ../../netcdf/lib/libnetcdf.a
-L/opt/intel/mkl/10.1.1.019//lib/em64t -Wl,--start-group
/opt/intel/mkl/10.1.1.019//lib/em64t/libmkl_intel_lp64.a
/opt/intel/mkl/10.1.1.019//lib/em64t/libmkl_sequential.a
/opt/intel/mkl/10.1.1.019//lib/em64t/libmkl_core.a -Wl,--end-group -lpthread
ipo: warning #11043: unresolved gpu_get_nb_energy_
        Referenced in /tmp/ipo_ifortAZkkA7.o
ipo: warning #11043: unresolved gpu_vdw_correction_
        Referenced in /tmp/ipo_ifortAZkkA7.o
ipo: warning #11043: unresolved gpu_self_
...
...
prmtop_dat.f90(1194): (col. 5) remark: LOOP WAS VECTORIZED.
/tmp/ipo_ifortRaiE9U.o(.text+0x206): In function `MAIN__':
: undefined reference to `gpu_setup_system_'
/tmp/ipo_ifortRaiE9U.o(.text+0x214): In function `MAIN__':
: undefined reference to `gpu_upload_crd_'
/tmp/ipo_ifortRaiE9U.o(.text+0x222): In function `MAIN__':
...
...

The problem is clearly a naming convention. However, adding -assume
nounderscore or -assume 2underscores to the link line just gives:

ifort -assume nounderscore -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
../../netcdf/lib/libnetcdf.a -L/opt/intel/mkl/10.1.1.019//lib/em64t
-Wl,--start-group /opt/intel/mkl/10.1.1.019//lib/em64t/libmkl_intel_lp64.a
/opt/intel/mkl/10.1.1.019//lib/em64t/libmkl_sequential.a
/opt/intel/mkl/10.1.1.019//lib/em64t/libmkl_core.a -Wl,--end-group -lpthread

/opt/intel/fce/10.1.018/lib/for_main.o(.text+0x26): In function `main':
: undefined reference to `MAIN__'

ifort -assume 2underscores -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
../../netcdf/lib/libnetcdf.a -L/opt/intel/mkl/10.1.1.019//lib/em64t
-Wl,--start-group /opt/intel/mkl/10.1.1.019//lib/em64t/libmkl_intel_lp64.a
/opt/intel/mkl/10.1.1.019//lib/em64t/libmkl_sequential.a
/opt/intel/mkl/10.1.1.019//lib/em64t/libmkl_core.a -Wl,--end-group -lpthread

/opt/intel/fce/10.1.018/lib/for_main.o(.text+0x26): In function `main':
: undefined reference to `MAIN__'

Does anyone have an idea how to address this?

All the best
Ross

/\
\/
|\oss Walker

| Assistant Research Professor |
| San Diego Supercomputer Center |
| Tel: +1 858 822 0854 | EMail:- ross.rosswalker.co.uk |
| http://www.rosswalker.co.uk | http://www.wmd-lab.org/ |

Note: Electronic Mail is not secure, has no guarantee of delivery, may not
be read every day, and should not be used for urgent or sensitive issues.





_______________________________________________
AMBER-Developers mailing list
AMBER-Developers.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber-developers
Received on Fri Mar 26 2010 - 16:00:03 PDT
Custom Search