Re: [AMBER-Developers] pmemd.MPI build broken

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

Looks like OpenMP+MPI is forced on us... this is a pretty hefty change...
I'll just skip pmemd testing until this gets fixed.

On Sat, Mar 5, 2016 at 2:19 AM, Jason Swails <jason.swails.gmail.com> wrote:

> Oh, because dragonegg doesn't support OpenMP yet. Is there a compiler
> flag to disable OpenMP in pmemd?
>
> On Sat, Mar 5, 2016 at 2:18 AM, Jason Swails <jason.swails.gmail.com>
> wrote:
>
>> 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:09 PST
Custom Search