AMBER Archive (2009)

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

From: David Watson (dewatson_at_olemiss.edu)
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)
     MPICH2-1.1.1

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/ifortvars.sh ia32
  . /opt/intel/Compiler/11.1/058/bin/iccvars.sh ia32
  . /Library/Frameworks/Intel_MKL.framework/Versions/Current/tools/
environment/mklvars32.sh
  MPI_HOME=/opt/mpich2
  export MPI_HOME
  MKL_HOME=/Library/Frameworks/Intel_MKL.framework/Versions
  export MKL_HOME
# END bash configuration for AMBER10 compilation

Configured MPICH2 with the following script
# BEGIN file mpich2_for_mac.sh
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 mpich2_for_mac.sh

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 -
lpthread
     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
AMBER_at_ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber