AMBER Archive (2007)

Subject: Re: AMBER: pmemd install error

From: Robert Duke (rduke_at_email.unc.edu)
Date: Tue Jan 30 2007 - 14:24:19 CST


If you look at the output when you try using mpif90, it is clear that it (OpenMPI) was installed with gfortran installed as the compiler, NOT ifort. You have to rebuild OpenMPI with ifort as the fortran compiler. This may not be absolutely required; it depends on whether gfortran and ifort have compatible linkage conventions. Still, safest thing to do is always use the same fortran for both mpi and the amber sources. Dave mentioned in his last mail that you may also have to whack the scripts to find the fortran-included stuff in the OpenMPI header (this is not very nice of the OpenMPI guys). SO your easiest route to success is to 1) rebuild OpenMPI with the correct fortran compiler specified, and 2) change the line that reads:
F90FLAGS = -c -auto

to

F90FLAGS = -c -auto -I$(MPI_HOME)/include

and use the script with ifort as the compiler, not the mpif90 script.

That should do it, but I can't be certain because 1) I don't know anything about how your system is really set up, and 2) I don't support OpenMPI in the pmemd and have never built the parallel version of pmemd with it (it SHOULD work, but it was very green when amber 9 was released so I did not support it, and there are perfectly fine free alternatives that are supported that you can use instead). I almost certainly will support OpenMPI in the next amber release, but if I chased after every new piece of s/w and h/w that becomes popular between releases I would not get anything else done...
Best Regards - Bob
  ----- Original Message -----
  From: Ji-Lai Li
  To: amber_at_scripps.edu
  Sent: Sunday, January 28, 2007 10:18 PM
  Subject: Re: AMBER: pmemd install error

  Dear Prof. Case,
   I am depressed with pmemd install now. I tried many times and by many means, but all failed.

  The EV was set to: (as Bob Duke suggested at amber web)
  setenv PREPROCFLAGS "-DDIRFRC_VECT_OPT"
  setenv CPP "/lib/cpp -traditional "
  setenv OPT_LO "ifort -c -auto -tpp7 -mp1 -O0"
  setenv OPT_MED "ifort -c -auto -tpp7 -mp1 -O2"
  setenv OPT_HI "ifort -c -auto -tpp7 -xW -mp1 -ip -O3"
  setenv LOAD "ifort"
  setenv LOADLIB " -limf -lsvml "
  setenv MPI_HOME /home/mds/progpack/openmpi-1.1.3/build/
  setenv MPI_INCLUDE $MPI_HOME/include
  setenv MPI_LIBDIR $MPI_HOME/lib
  setenv MPILIB "-L$MPI_LIBDIR -lmpich"
  setenv PREPROCFLAGS "-DMPI -DSLOW_NONBLOCKING_MPI -DDIRFRC_VECT_OPT"
  setenv CPP "/lib/cpp -traditional -I$MPI_INCLUDE"
  setenv OPT_LO "ifort -c -auto -tpp7 -mp1 -O0"
  setenv OPT_MED "ifort -c -auto -tpp7 -mp1 -O2"
  setenv OPT_HI "ifort -c -auto -tpp7 -xW -mp1 -ip -O3"
  setenv LOAD "ifort"
  setenv LOADLIB " -limf -lsvml $MPILIB"
   
  1. the config.h file was created by "./configure linux_em64t ifort mpich"

  MATH_DEFINES =
  MATH_LIBS =
  IFORT_RPATH = /home/mds/progpack/openmpi-1.1.3/build/lib:/opt/intel/mkl/9.0/lib:/opt/intel/cce/9.1.044/lib:/opt/intel/cce/9.1.044/lib:/opt/intel/fce/9.0/lib:/opt/intel/fce/9.0/lib:/usr/local/gcc411/lib64:/usr/pgi/linux86-64/6.0/bin:/home/mds/amber9/antechamber- 1.27/bin:/home/mds/amber9/perl:/home/mds/amber9/exe:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/mds/g03C02/g03/bsd:/home/mds/g03C02/g03/local:/home/mds/g03C02/g03/extras:/home/mds/g03C02/g03
  MATH_DEFINES = -DMKL
  MATH_LIBS = -L/opt/intel/mkl/9.0/lib/em64t -lmkl_em64t -lpthread
  FFT_DEFINES = -DPUBFFT
  FFT_INCLUDE =
  FFT_LIBS =
  NETCDF_HOME =
  NETCDF_DEFINES =
  NETCDF_MOD =
  NETCDF_LIBS =
  MPI_HOME = /home/mds/progpack/openmpi- 1.1.3/build/
  MPI_DEFINES = -DMPI -DSLOW_NONBLOCKING_MPI
  MPI_INCLUDE = -I$(MPI_HOME)/include
  MPI_LIBDIR = $(MPI_HOME)/lib
  MPI_LIBS = -L$(MPI_LIBDIR) -lmpich
  DIRFRC_DEFINES = -DDIRFRC_EFS -DDIRFRC_COMTRANS -DDIRFRC_NOVEC
  CPP = /lib/cpp
  CPPFLAGS = -traditional -P
  F90_DEFINES = -DFFTLOADBAL_2PROC
  F90 = ifort
  MODULE_SUFFIX = mod
  F90FLAGS = -c -auto
  F90_OPT_DBG = -g -traceback
  F90_OPT_LO = -tpp7 -O0
  F90_OPT_MED = -tpp7 -O2
  F90_OPT_HI = -tpp7 -xW -ip -O3
  F90_OPT_DFLT = $(F90_OPT_HI)

  CC = gcc
  CFLAGS =

  LOAD = ifort
  LOADFLAGS =
  LOADLIBS = -limf -lsvml -Wl,-rpath=$(IFORT_RPATH)

  and the prompt is (the ifort.txt attachment):
  fortcom: Error: parallel_dat.f90, line 96: Cannot open include file 'mpif-common.h'
        include 'mpif-common.h'
  --------------^
  fortcom: Error: parallel_dat.f90, line 227: This name does not have a type, and must have an explicit type. [MPI_COMM_WORLD]
      call mpi_abort(mpi_comm_world, i, err_ret_code)
  -------------------^
  compilation aborted for parallel_dat.f90 (code 1)
  make[1]: *** [parallel_dat.o] Error 1
  make[1]: Leaving directory `/home/mds/amber9/src/pmemd/src'
  make: *** [install] Error 2

  2. when the "ifort" was replaced by "mpif90", and the EV were also changed, it prompts:
  ............
  gfortran: language W not recognized
  ...................
   and many unrecongnized languages and I paste the error as an attachment mpif90.txt.

    Does anybody know how to fix this problem?
    Many thanks!

  Ji-Lai Li

-----------------------------------------------------------------------
The AMBER Mail Reflector
To post, send mail to amber_at_scripps.edu
To unsubscribe, send "unsubscribe amber" to majordomo_at_scripps.edu