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.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.scripps.edu
To unsubscribe, send "unsubscribe amber" to majordomo.scripps.edu
Received on Wed Jan 31 2007 - 06:07:42 PST