[AMBER-Developers] pmemd.MPI build broken

From: Jason Swails <jason.swails.gmail.com>
Date: Sat, 5 Mar 2016 02:18:23 -0500

mpif90 -fplugin=/usr/lib64/dragonegg.so -fplugin=/usr/lib64/dragonegg.so
-fPIC -O3 -mtune=native -o /home/swails/build_amber/amber/bin/pmemd.MPI
gbl_constants.o gbl_datatypes.o state_info.o file_io_dat.o mdin_ctrl_dat.o
mdin_emil_dat.o mdin_ewald_dat.o mdin_debugf_dat.o prmtop_dat.o
inpcrd_dat.o dynamics_dat.o emil.o img.o nbips.o offload_allocation.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 gb_ene_hybrid.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 AmberNetcdf.o bintraj.o binrestart.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 findmask.o remd.o
multipmemd.o remd_exchg.o amd.o gamd.o ti.o gbsa.o barostats.o scaledMD.o
constantph.o energy_records.o constantph_dat.o relaxmd.o sgld.o emap.o
get_efield_energy.o -L/home/swails/build_amber/amber/lib \
    /home/swails/build_amber/amber/lib/libnetcdff.a
/home/swails/build_amber/amber/lib/libnetcdf.a
/home/swails/build_amber/amber/lib/libemil.a -lstdc++ -lmpi_cxx
gb_parallel.o: In function `__gb_parallel_mod_MOD_gb_parallel_setup':
gb_parallel.F90:(.text+0x9f3): undefined reference to `omp_get_num_threads_'
gb_ene_hybrid.o: In function
`__gb_ene_hybrid_mod_MOD_gb_ene_hyb_force_timode':
gb_ene_hybrid.F90:(.text+0x2b69): undefined reference to
`omp_get_thread_num_'
gb_ene_hybrid.F90:(.text+0x401c): undefined reference to
`omp_get_thread_num_'
gb_ene_hybrid.o: In function `__gb_ene_hybrid_mod_MOD_gb_ene_hyb_force':
gb_ene_hybrid.F90:(.text+0x7928): undefined reference to
`omp_get_thread_num_'
gb_ene_hybrid.F90:(.text+0x8c6c): undefined reference to
`omp_get_thread_num_'
gb_ene_hybrid.o: In function `__gb_ene_hybrid_mod_MOD_gb_ene_hyb_energy':
gb_ene_hybrid.F90:(.text+0xc579): undefined reference to
`omp_get_thread_num_'
gb_ene_hybrid.o:gb_ene_hybrid.F90:(.text+0xd76c): more undefined references
to `omp_get_thread_num_' follow
gb_ene_hybrid.o: In function
`__gb_ene_hybrid_mod_MOD_final_gb_setup_hybrid':
gb_ene_hybrid.F90:(.text+0x194eb): undefined reference to
`omp_get_num_threads_'
bonds.o: In function `__bonds_mod_MOD_get_bond_energy_gb':
bonds.F90:(.text+0x3d0): undefined reference to `omp_set_lock_'
bonds.F90:(.text+0x44f): undefined reference to `omp_unset_lock_'
bonds.F90:(.text+0x470): undefined reference to `omp_set_lock_'
bonds.F90:(.text+0x4c3): undefined reference to `omp_unset_lock_'
bonds.o: In function `__bonds_mod_MOD_bonds_setup':
bonds.F90:(.text+0x117f): undefined reference to `omp_init_lock_'
angles.o: In function `__angles_mod_MOD_get_angle_energy_gb':
angles.F90:(.text+0x5ec): undefined reference to `omp_set_lock_'
angles.F90:(.text+0x662): undefined reference to `omp_unset_lock_'
angles.F90:(.text+0x683): undefined reference to `omp_set_lock_'
angles.F90:(.text+0x6ec): undefined reference to `omp_unset_lock_'
angles.F90:(.text+0x70d): undefined reference to `omp_set_lock_'
angles.F90:(.text+0x764): undefined reference to `omp_unset_lock_'
angles.o: In function `__angles_mod_MOD_angles_setup':
angles.F90:(.text+0x112f): undefined reference to `omp_init_lock_'
dihedrals.o: In function `__dihedrals_mod_MOD_get_dihed_energy_gb':
dihedrals.F90:(.text+0x2847): undefined reference to `omp_set_lock_'
dihedrals.F90:(.text+0x28c1): undefined reference to `omp_unset_lock_'
dihedrals.F90:(.text+0x28e5): undefined reference to `omp_set_lock_'
dihedrals.F90:(.text+0x2948): undefined reference to `omp_unset_lock_'
dihedrals.F90:(.text+0x296c): undefined reference to `omp_set_lock_'
dihedrals.F90:(.text+0x29c6): undefined reference to `omp_unset_lock_'
dihedrals.F90:(.text+0x29ea): undefined reference to `omp_set_lock_'
dihedrals.F90:(.text+0x2a44): undefined reference to `omp_unset_lock_'
dihedrals.o: In function `__dihedrals_mod_MOD_dihedrals_setup':
dihedrals.F90:(.text+0x398f): undefined reference to `omp_init_lock_'
extra_pnts_nb14.o: In function
`__extra_pnts_nb14_mod_MOD_get_nb14_energy_gb':
extra_pnts_nb14.F90:(.text+0x21aa): undefined reference to `omp_set_lock_'
extra_pnts_nb14.F90:(.text+0x23f7): undefined reference to `omp_unset_lock_'
extra_pnts_nb14.F90:(.text+0x241d): undefined reference to `omp_set_lock_'
extra_pnts_nb14.F90:(.text+0x24ce): undefined reference to `omp_unset_lock_'
extra_pnts_nb14.o: In function `__extra_pnts_nb14_mod_MOD_nb14_setup':
extra_pnts_nb14.F90:(.text+0x859f): undefined reference to `omp_init_lock_'
shake.o: In function `__shake_mod_MOD_shake_gb':
shake.F90:(.text+0x1c1): undefined reference to `omp_get_thread_num_'
pmemd.o: In function `main':
pmemd.F90:(.text+0x7a6): undefined reference to `omp_get_max_threads_'
pme_alltasks_setup.o: In function
`__pme_alltasks_setup_mod_MOD_pme_alltasks_setup':
pme_alltasks_setup.F90:(.text+0x1f): undefined reference to
`omp_set_num_threads_'
collect2: error: ld returned 1 exit status
Makefile:103: recipe for target
'/home/swails/build_amber/amber/bin/pmemd.MPI' failed
make[3]: *** [/home/swails/build_amber/amber/bin/pmemd.MPI] Error 1
make[3]: Leaving directory '/home/swails/build_amber/amber/src/pmemd/src'
Makefile:22: recipe for target 'parallel' failed
make[2]: *** [parallel] Error 2
make[2]: Leaving directory '/home/swails/build_amber/amber/src/pmemd'
Makefile:28: recipe for target 'parallel' failed
make[1]: *** [parallel] Error 2
make[1]: Leaving directory '/home/swails/build_amber/amber/src'
Makefile:7: recipe for target 'install' failed
make: *** [install] Error 2


Looks like it needs -lgomp for gfortran, but I'm not sure what the Intel
version of the OpenMP library is called. Was this actually tested? Should
we really be mixing OpenMP and MPI by default when users don't request
-openmp?
_______________________________________________
AMBER-Developers mailing list
AMBER-Developers.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber-developers
Received on Fri Mar 04 2016 - 23:30:07 PST
Custom Search