AMBER Archive (2009)

Subject: [AMBER] Compiling AMBER 10 (parallel, MPICH2) on Mac OS X Intel w/gcc, ifort, icc

From: David Watson (
Date: Thu Jul 23 2009 - 15:03:59 CDT

System/software configuration:
     MacBook, 2 GHz Intel Core 2 Duo
     Xcode 3.1.3
     Intel Fortran 11.1 (058)

Installing developer tools:
Uninstalled previous versions of Intel Software Development Products
Installed Xcode 3.1.3
Installed Intel Fortan Compiler 11.1 (058)
Installed Intel C++ Compiler 11.1 (058)

Edited ~/.bash_profile to include
# BEGIN bash configuration for AMBER10 compilation
  . /opt/intel/Compiler/11.1/058/bin/ ia32
  . /opt/intel/Compiler/11.1/058/bin/ ia32
  . /Library/Frameworks/Intel_MKL.framework/Versions/Current/tools/
  export MPI_HOME
  export MKL_HOME
# END bash configuration for AMBER10 compilation

Configured MPICH2 with the following script
# BEGIN file
export CC=icc
export CFLAGS="-xHost -I/opt/intel/Compiler/11.1/058/lib"
export F77=ifort
export FFLAGS="-xHost -I/opt/intel/Compiler/11.1/058/lib"
export F90=ifort
export F90FLAGS="-xHost -I/opt/intel/Compiler/11.1/058/lib"
export CXX=icpc
export CXXFLAGS="-xHost -I/opt/intel/Compiler/11.1/058/lib"
export LDFLAGS="-L/opt/intel/Compiler/11.1/058/lib"

./configure --prefix=/opt/mpich2
# END file

Ran the mpich2 configure script, then executed "make" and "make
install" to install mpich2 executables and libraries in /opt/mpich2

Configured parallel installation of amber10 with
     ./configure_amber -openmp -mpich2 -nosanderidc ifort_macosx

Edited the config_amber.h file
     added -xHost to both the FFLAGS and FOPTFLAGS
     changed LOADLIB to:
         LOADLIB= -L$(MKL_HOME)/lib/32 $(MKL_HOME)/lib/32/
libmkl_solver.a -lmkl_intel -lmkl_intel_thread -lmkl_core -lmkl_lapack
-openmp -lpthread

Compiled amber parallel

Proceeded to configure pmemd with
     ./configure linux_p4 ifort mpich2 bintraj
and made the following changes to config.h
     MATH_LIBS= -L$(MKL_HOME)/lib/32 $(MKL_HOME)/lib/32/
libmkl_solver.a -lmkl_intel -lmkl_intel_thread -lmkl_core -openmp -
     MPI_LIBS = -L$(MPI_LIBDIR) -lmpich -lpthread
     CPP = /usr/bin/cpp
     F90 = mpif90
     F90_OPT_HI = -xHost -ip -O3
     LOAD = mpif90
     LOADLIBS = -limf -lsvml

Compiled pmemd parallel

Nearly all of the tests, except the noesy and evb/
poh_dbonds_umb_dg_UFF_9DG* tests ran and gave acceptable results.

Go ahead, bug me again about -xHost, somebody!
The Intel Fortran Compiler User and Reference Guide says that this
option "Can generate instructions for the highest instruction set
available on the compilation host processor." (Fortran 11, for Mac OS X)
Is this something that shouldn't be done?
As long as I'm running it on the same host that I compiled on, this
should be fine, right?

AMBER mailing list