Re: [AMBER-Developers] pretty severe bug in Amber11 pmemd Makefile?

From: Ross Walker <>
Date: Tue, 24 Aug 2010 12:28:16 -0700

> I just ran across this while running GPU benchmarks, but I'd like to
> see
> if maybe I'm missing something:
> The Makefile in amber11/src/pmemd/src has load lines that begin:
> The problem is that PMEMD_OPTFLAGS is *not* set in config.h; this looks
> like
> a typo, and should be $(PMEMD_FOPTFLAGS).

Bummer.... Yes this should be PMEMD_FOPTFLAGS. We should probably release a
bugfix for this ASAP. The strange thing though is this seems to be dependent
on Intel compiler version. E.g. on my version

ifort -V
Intel(R) Fortran Compiler for applications running on Intel(R) 64, Version
10.1 Build 20080801 Package ID: l_fc_p_10.1.018

The compiler seems to notice that the object files were compiled with -fast
and still does all the vectorization even if -fast is not specified at load
time. This is why I never noticed this. I am guessing you are using 11.0 or
11.1 which probably doesn't do this. E.g. on my machine I get:

ifort -o pmemd 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 ../../netcdf/lib/libnetcdf.a
-L/opt/intel/mkl/ -Wl,--start-group
/opt/intel/mkl/ -Wl,--end-group -lpthread

ipo: remark #11000: performing multi-file optimizations
ipo: remark #11005: generating object file /tmp/ipo_ifortM72ko1.o
master_setup.f90(330): (col. 10) remark: LOOP WAS VECTORIZED.
master_setup.f90(484): (col. 10) remark: LOOP WAS VECTORIZED.
file_io.f90(760): (col. 10) remark: PARTIAL LOOP WAS VECTORIZED.
file_io.f90(760): (col. 10) remark: PARTIAL LOOP WAS VECTORIZED.

So it does all the optimization even with no -fast in there.

So yes we should probably change this to FOPTFLAGS and issue the bugfix. I
am at ACS right now so it is a little hard to fully check this and make sure
it doesn't break anything else - PGF90 or Gfortran for example but I can
check later in the week if someone else doesn't have an opportunity to
quickly try it.

All the best

|\oss Walker

| Assistant Research Professor |
| San Diego Supercomputer Center |
| Adjunct Assistant Professor |
| Dept. of Chemistry and Biochemistry |
| University of California San Diego |
| NVIDIA Fellow |
| | |
| Tel: +1 858 822 0854 | EMail:- |

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
Received on Tue Aug 24 2010 - 12:30:07 PDT
Custom Search