Running AmberTools 1.4 and Amber 11 on Microsoft Windows


| General remarks | Installation on Windows using Cygwin |
| Installation of the native Windows version of PMEMD |
| PMEMD benchmarks | Return to Main Amber Page |

1. General remarks

All of AmberTools 1.4 and Amber 11 (including the X-windows parts) will compile and run on Windows using the Cygwin development tools: see http://www.cygwin.com. The cygwin package provides a way to make Microsoft Windows machines resemble a Linux/Unix environment; if you are unfamiliar with the Linux/Unix environment, you will need to learn at least the basics of that in order to use Amber on Windows.

Note that Cygwin provides a POSIX-compatible environment for Windows. Effective use of this environment requires a basic familiarity with the principles of Linux or Unix operating systems. Building the Windows version is thus somewhat more complex (not simpler) than building under other operating systems. The Windows version has primarily been used in serial (single-cpu) mode but will also work with MPICH2 libraries. For long-running jobs, Windows can have an annoying habit of giving lots (or all) of the CPU time to an interactive process, so that background processes suffer.

The bottom line is that the Windows version is functional, but the primary development and target operating system is Unix or Linux.

Amber 11 has a new option to build and run certain executables outside the Cygwin environment, using Intel compilers. In particular, pmemd can be built both in serial and in parallel using Microsoft MPI for maximum performance under Windows Desktops and Windows HPC Clusters (see section 3. below). This Windows port was developed by Thorsten Wölfle, Andreas W. Götz and Ross C. Walker. Precompiled pmemd binaries for Windows may be obtained here.

^

2. Installation on Windows using Cygwin

Compilation and execution of AmberTools 1.4 and Amber 11 under Windows requires a Cygwin installation (see section 2.1 below) including the packages gcc4, gcc4-fortran, make, m4, flex, diffutils, tcsh, util-linux. If you already have a working Cygwin environment, you can skip this step and directly proceed with the installation of AmberTools 1.4 (see section section 2.2 below).

^

2.1 Installation of Cygwin

  1. Go to http://www.cygwin.com, and click on "install cygwin now". You might want to save the file (called "setup.exe") on your desktop, since you will need to run this program again later on.

  2. Run the setup.exe program. When asked, it is in general safe to accept all the defaults. When you get to the selection of packages that can be installed for Cygwin you have to make sure to include the following programs/libraries:

    gcc4, gcc4-fortran, make, m4, flex, diffutils, tcsh, util-linux, patch, libXt, libXt-devel, libXext, libXext-devel

    You should be seeing list of packages that can be installed. There is a button in the upper right corner, called "View" that cycles between various views of the optional packages. Click on it until you reach the "Full" view (indicated to the right of the "View" button) You should see a giant list of all individual packages (in alphabetical order). For most packages, the status column will say "skip", meaning that the package will not be installed. If you go to some package and click on the little arrows next to it, the "skip" label will change to a version number. (Clicking again and again on the arrows cycles between all the possibilities -- play with this a bit unitl you see how it works -- it's only intuitive after you've experimented a bit.) Look for the above-mentioned programs/libraries and make sure that they are selected for installation (an easy way to find the program name in the list is to enter its name in the "Search" field on the top left corner). Finally, press "Next" at the bottom to complete the installation.

  3. You will now have an icon called "Cygwin" on your desktop. If you double-click on that, you will get a text terminal (white text with a black background.) This is where you will type commands. (If you click on the top window bar, and select "properties", you can change the color scheme or the font size)

  4. Under the C:\ directory, you will find a directory called \cygwin\home\name, where "name" is your name. This is called your home directory. Ist is the default location your text terminal is in after double-clicking on the "Cygwin" icon.

  5. You can now continue with the installation of AmberTools version 1.4.

^

2.2 Installation of AmberTools version 1.4 using Cygwin

  1. Download AmberTools itself from http://ambermd.org. Save the file somewhere, for example on the desktop.

    Drag AmberTools-1.4.tar.bz2 from the desktop to your home directory.

  2. Start Cygwin, and extract the AmberTools files by typing the following command:

    tar xvjf AmberTools-1.4.tar.bz2

    If you type "ls" (equivalent to the dos "dir" command), you should see two files: the AmberTools file, and a new directory called "amber11". You can explore now, for example with commands like the following:

    cd amber11 (moves you "into" the amber11 directory)
    ls(lists the files and directories)
    cd AmberTools(moves you down further into the AmberTools directory)
    cd(moves you back to your home directory)

  3. Next, set your AMBERHOME environment variable and add the exe directory to the search path for executables by typing:
    export AMBERHOME=/home/name/amber11 (where name is your Windows user name)
    export PATH=$PATH:$AMBERHOME/exe
    We suggest to add these lines to your bash configuration file (/home/name/.bashrc). You can use editors like vi or emacs for this purpose. This way the AMBERHOME and PATH environment variables are set automatically whenever you open a Cygwin terminal.

  4. Now download and apply any available bugfixes by typing:

    cd $AMBERHOME
    wget http://ambermd.org/bugfixes/AmberTools/1.4/bugfix.all

    This will download the file bugfix.all. If no bug fixes are available you will obtain an error message. Otherwise, procced to apply the bug fixes by typing:

    patch -p0 -N < bugfix.all

  5. Now move to the directory which contains the AmberTools source code:

    cd $AMBERHOME/AmberTools/src

  6. Once you are in the AmberTools source directory ($AMBERHOME/AmberTools/src), you need to configure the build process:

    ./configure -cygwin gnu

    [Aside: you can type "./configure --help" to see more options.] Be patient, the configuration process takes a while to complete. Pay attention to any warning or error messages and proceed with the installation only if the configuration process was successful.

  7. You are now ready to build AmberTools by typing:

    make install

    At this point the screen will fill up with compilation messages. The build process will take several minutes. At the end you should see the message:

    "Installation of AmberTools, version 1.4 serial is complete at date"

  8. You can test the installation by typing:

    cd $AMBERHOME/AmberTools/test
    ./test_at_serial.sh

    This will run a series of tests, most of which should say PASSED. In the end you will obtain a summary of how many tests passed, failed and experienced errors. Note that sometimes tests can fail due to rounding errors which are not critical. In case that you have test failures, please inspect the test outputs to determine whether the failures are acceptable.

Note: Cygwin has just undergone a major change (as of 12/23/09); right now we are experiencing trouble with running xleap. Since all this used to work with the older Cygwin, we will try to post updated instructions here soon.

^

2.3 Installation of Amber version 11 using Cygwin

If you have not yet done so, unpack and install AmberTools version 1.4 (see section 2.2 above). This package contains files and codes that you will need for Amber version 11, as well. Both AmberTools version 1.4 and Amber version 11 tar files unpack into the same directory tree, with amber11 at its root. We will assume that you have installed AmberTools version 1.4 in your home directory.
  1. Copy Amber11.tar.bz2 to your Cygwin home directory.

  2. Start the Cygwin shell and extract the Amber version 11 source files by typing (in your home directory):

    tar xvjf Amber11.tar.bz2

  3. Now download and apply any available bugfixes by typing:

    cd $AMBERHOME
    wget http://ambermd.org/bugfixes/11.0/bugfix.all

    This will download the file bugfix.all. If no bug fixes are available you will obtain an error message. Otherwise, procced to apply the bug fixes by typing:

    patch -p0 -N < bugfix.all

  4. Move to the directory which contains the Amber version 11 source code:

    cd $AMBERHOME/src

  5. Now build and install Amber version 11 by typing:

    make install

  6. At this point the screen will fill up with compilation messages. The build process will take several minutes. At the end you should see the message:

    "Installation of Amber11 (serial) is complete at date"

  7. You can test the installation by typing:

    cd $AMBERHOME/test
    ./test_amber_serial.sh

    This will run a series of tests, most of which should say PASSED. In the end you will obtain a summary of how many tests passed, failed and experienced errors. Note that sometimes tests can fail due to rounding errors which are not critical. In case that you have test failures, please inspect the test outputs to determine whether the failures are acceptable.

^

3. Installation of the native Windows version of PMEMD

For maximum performance under Windows, Amber 11's PMEMD program can now be built and run, both in serial and in parallel using Microsoft MPI, outside the Cygwin environment. The configuration step of the build process, however, still requires a Cygwin installation (see section 2.1 above). Once the native Windows executables of pmemd have been built, they can be executed on Windows machines that do not have Cygwin installed.

Both AmberTools version 1.4 and all other parts of Amber version 11 can be built and run under Cygwin by following the steps described in section 2.2 and section 2.3 above. In the following we will assume that both AmberTools version 1.4 and Amber version 11 have been extracted and installed in the directory $AMBERHOME as described in these sections.

^

3.1 Prerequisites

To compile the native Windows version of pmemd on Windows Vista, Windows 7 or Windows HPC Cluster Server 2008 you have to install (in addition to Cygwin):
  1. Visual Studio 2008 (or later), optionally with the Intel C compiler.

  2. The Intel Fortran compiler.

  3. GNU make for Windows (you can download this from Steve Kemp's Homepage).
For building and installing the parallel version of pmemd you need to install in addition
  1. Intel Cluster Toolkit (for parallel builds, mpif90 ...).

  2. Microsoft HPC Pack 2008 SDK (Provides MSMPI, mpiexec).
If you are running a cluster with Windows HPC Cluster Server 2008, you have to set it up according to the documentation provided by Microsoft. If you are going to run pmemd on a workstation and not a cluster of nodes connected to a server, you will typically be running under Windows Vista or Windows 7.

^

3.2 Installation of PMEMD

In order to build the native Windows version of pmemd you need to open both a Cygwin shell and a DOS shell which contains the Intel Fortran Build Environment (this DOS shell is included in the Intel Visual Fortran Compiler package). In what follows, every command that should be typed into the Cygwin and DOS shell is preceded by "CYGWIN>" and "DOS>", respectively.

Serial version

  1. Using the Cygwin shell, configure Amber for the native Windows installation:

    CYGWIN> cd $AMBERHOME/AmberTools/src
    CYGWIN> ./configure -windows intel

  2. Using the Fortran enabled DOS shell, you can now build pmemd:

    DOS> set PATH=C:\path_to_make;%PATH%

    (here, path_to_make.exe is the directory where you installed the GNU make executable)

    DOS> set AMBERHOME=C:\cygwin\home\name\amber11
    DOS> cd %AMBERHOME%\src
    DOS> make serial_win

    At this point the screen will fill up with compilation messages. Upon a successful build you will see the message "move pmemd.exe ..\..\..\bin" and "1 file(s) moved" close to the end of the output. Any error messages following this message can be safely ignored.

    Note that the pmemd executable which was built with Cygwin (see section 2.1 above) has now been overwritten with the native Windows executable.

  3. You can now test the installation of pmemd in the Cygwin shell (although the pmemd executable which you have just built does not require the Cygwin shell the test scripts rely on it) by typing:

    CYGWIN> cd $AMBERHOME/test
    CYGWIN> make test.serial.pmemd

    This will run a series of tests, most of which should say PASSED.

Parallel version

You are now ready to build the parallel native Windows version of pmemd.

  1. First, you have to configure the parallel version in the Cygwin shell:

    CYGWIN> cd $AMBERHOME/AmberTools/src
    CYGWIN> ./configure -mpi -windows intel

  2. Now you can build parallel pmemd in the Fortran enabled DOS shell. Please note that the DOS shell also needs to have the Intel Cluster Toolkit enabled. If this is not yet the case, you can enable it by typing (we assume that the Intel Cluster Toolkit is installed in the default installation directory):

    DOS> C:\Program Files (x86)\Intel\ICT\3.2.2.015\ictvars

    For building parallel pmemd you have to type:

    DOS> cd %AMBERHOME%\src
    DOS> make clean
    DOS> make parallel_win

    At this point the screen will fill up with compilation messages. Upon a successful build you will see the message "move pmemd.MPI.exe ..\..\..\bin" and "1 file(s) moved" close to the end of the output. Any error messages following this message can be safely ignored.

  3. You can now test the installation of parallel pmemd in the Cygwin shell. At the time of writing, you need to first type the following:

    CYGWIN> cd $AMBERHOME
    CYGWIN> rm exe
    CYGWIN> mv bin exe
    CYGWIN> ln -s exe bin

    (This needs to be done because Microsoft's mpiexec environment cannot follow symbolic links.)

    Now run the tests:

    CYGWIN> export DO_PARALLEL="mpiexec -n 4" (to run on 4 processors)
    CYGWIN> cd $AMBERHOME/test
    CYGWIN> make test.parallel.pmemd

    This will run a series of tests, most of which should say PASSED.

^