Linux Distribution: RedHat 7.3
Compiler: gcc-2.96, g77-2.96 0.5.26 (distribution default)
MPI library: mpich-1.2.5
MACHINE file: Machine.g77_mpich (from amber7 distribution)
No additional setup should be required for getting the default compilers
to work.
Compile and install mpich-1.2.5:
./configure --prefix=/usr/local/mpich-1.2.5_gcc make installCompile and install amber7:
export AMBERHOME=/usr/local/amber7.g77_mpich export MPICH_HOME=/usr/local/mpich-1.2.5_gcc ln -s Machines/Machine.g77_mpich MACHINE make install (in $AMBERHOME/src should compile and install Amber7)
Linux Distribution: RedHat 7.3
Compiler: Portland Group pgf77/pgcc 4.0-1
MPI library: mpich-1.2.5
MACHINE file: Machine/Machine.pgf77_mpich
Set up PG compilers, e.g. from your .bashrc:
# PGI compilers environment settings export PGI=/usr/pgi export PATH=$PGI/linux86/bin:$PATH export MANPATH=$MANPATH:$PGI/man # FLEXlm manager for PGI export LM_LICENSE_FILE=$PGI/license.dat
Compile MPICH libraries with PG compilers too, for example:
export CC=pgcc export FC=pgf77 ./configure --prefix=/usr/local/mpich-1.2.5_pg -cc=$CC -fc=$FC make installThen follow with compilation of Amber7 as usual but remember to set MPICH_HOME correctly to point to the MPI location specified above (/usr/local/mpich_1.2.5_pg in our example).
It is possible to link Amber7 compiled with pgf77 and MPICH libraries compiled with gcc but the procedure is more complicated. In general, most linking problems are related to different naming conventions of library routines in MPICH and sander (especially the addition/omission of the second underscore). You can check the consistency of naming quite easily (thanks to Mike Crowley for suggesting this procedure).
Linux Distribution: RedHat 9
Compiler: gcc-3.2.2, g77-3.2.2 (distribution default)
MPI library: mpich-1.2.5.2
MACHINE file: Machine.g77_mpich (from amber7 distribution)
No additional setup was needed.
Linux Distribution: RedHat 9
Compiler: Intel Fortran (ifort) and C (icc) compilers 8.0
MPI library: mpich-1.2.5.2
MACHINE file: Machine/Machine.ifort_mpich
Intel recently released version 8.0 of their Fortran and C compilers for linux. This version finally supports newer Linux distributions (such as RedHat9, Suse8.2). Their compilers are very efficient on Intel chips, so if you have Pentium/Xeon machines in the cluster, it is worthwhile to get amber compiled with ifort/icc. Do not forget to set compilers environment first, e.g. from your .bashrc:
# Intel C Compiler (icc8.0), Fortran compiler (ifc8.0) source /opt/intel_cc_80/bin/iccvars.sh source /opt/intel_fc_80/bin/ifortvars.sh
Again, we recommended to compile MPICH libraries with Intel compilers too, e.g.:
export CC=icc export FC=ifort ./configure --prefix=/usr/local/mpich-1.2.5.2_icc -cc=$CC -fc=$FC make install
Proceed with amber7 compilation as in previous cases.
Linux Distribution: Suse 8.2
Compiler: Intel Fortran (ifort) and C (ifc) compilers 8.0
MPI library: mpich-1.2.5.2
MACHINE file: Machine/Machine.ifort_mpich
Follow the same steps as in a previous case (RedHat9 + Intel ifort/icc 8.0).
Compilation of amber with Suse 8.2 default GNU compilers (gcc/g77-3.3) did not pass many sander tests. One might try to install gcc/g77-3.2 or lower the optimization flags for compilation to get it working, but since Intel version seems to be working fine, there is not much incentive to do so.
We do not currently use LAM MPI (as a replacement for MPICH) for parallel compilations but other people reported successful compilations of Amber7 with LAM.
Always run tests from $AMBERHOME/test directory to confirm the correctness of installation. Remember to set DO_PARALLEL to point to your mpirun executable with appropriate options included before you run test.sander from the test subdirectory.
It is also useful to run benchmarks ($AMBERHOME/benchmarks) to
see how well your compiled version of amber runs, and how well it scales
on parallel jobs.
Warning: Use wall-clock times for any benchmarks you do and beware
that wall-clock times reported by applications are often not correct!