PGI Guide to AMBER

This guide is intended to help build and run AMBER Version 8 on LInux using PGI 5.2 compilers.

Version Information

This guide was created for the Version 8 release of Amber using PGI Compiler Release 5.2. This information is for both x64 processors running 64-bit Linux or x86 processors running 32-bit Linux.

Application Notes

Information about Amber (Assisted Model Building with Energy Refinement) can be found at the Amber Homepage.

Obtaining the Source Code

Information about obtaining the source can be found at:



Configuration and Set-up Information

To make use of the PGI compilers, two "configure" scripts need to be modified. Replace the file, ./amber8/src/configure with the following file. Replace the file, ./amber8/src/pmemd/configure with the following file.

In addition to replacing the configure scripts, four new files need to be added to the ./amber8/src/pmemd/config_data directory. These files are needed to build the pmemd executable using the PGI compilers. The files to be added are:

  1. linux_opteron.pgf90.mpich
  2. linux_opteron.pgf90.nopar
  3. linux_p4.pgf90.mpich
  4. linux_p4.pgf90.nopar

Finally, the Makefile in the directory, ./amber8/src/leap/src/leap/Makefile needs to be changed to allow successful linking of both 32 bit and 64 bit executables. This is done by defining a parameter(X11LIBDIR) that will be specified on the make command line.

Change line 114

../Xmu/libXmu.a -L$(XHOME)/lib -lXt -lXext -lSM -lICE -lX11 -lm -lpthread


../Xmu/libXmu.a -L$(XHOME)/$(X11LIBDIR) -lXt -lXext -lSM -lICE -lX11 -lm -lpthread

Building AMBER

Configuring the source directories and building the executables depends on a number of different parameters. Before executing these commands make sure that your shell's "PATH" variable includes the location of the PGI compilers and the location of the MPICH environment.

For example, to configure and build for a single Opteron processor using the ACML and LAPACK libraries, execute the following commands:

cd ./amber8/src
./configure -nopar -opteron -acml -lapack pgf90
make -e YACC="/usr/bin/bison -y" X11LIBDIR="lib64" serial  (64 bit)
make -e YACC="/usr/bin/bison -y" X11LIBDIR="lib" serial    (32 bit)
cd pmemd
./configure linux_opteron pgf90 nopar
make install

To configure and build for a cluster of Pentium IV processors using MPICH, execute the following commands:

cd ./amber8/src
./configure -mpich -p4 pgf90
make -e YACC="/usr/bin/bison -y" X11LIBDIR="lib" parallel
cd pmemd
./configure linux_p4 pgf90 mpich
make install

Running AMBER

There are two sets of tests provided with the Amber distrubution. The first set is used to verify correctness and the second set is used for benchmarking. To run these tests, do the following:

cd ./amber8/test
make test
cd ./amber8/benchmarks
make bench

Verifying Correctness

The AMBER correctness and benchmark tests self-verify their correctness using the script dacdif that is found in the directory ./amber8/test. Some tests will state that a possible failure has occured. You should inspect these failures and verify that the output is correct. Note that some precision differences are to be expected.

Known Issues and Limitations

The tests "cytosine" and "pure_wat" can fail with the pmemd executable built with release 5.2-2 or 5.2-1. The tests run correctly with the Sander executable. The failure is due to a bug in the IO library which incorrectly executes a READ statement when the READ statement's DO variable iteration count is 0. This will be fixed in an upcoming release.

Click me