Running AmberTools and Amber 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

Almost all of AmberTools and Amber (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 or Mac OSX.

Amber also has the 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

  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, xinit, libXt, libXt-devel, libXext, libXext-devel, zlib, libbz2

    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. To run the xleap program, you will need to start up the X-window system by typing the command "xinit &". Then, set your display variable by typing "export DISPLAY=:0.0". After this, you can run xleap, which will show up in the X-display window. (Note that these instructions are for the Xorg 7.6 system that was released for cygwin in Oct., 2011).

  6. You can now continue with the installation of Amber12 and AmberTools12, following the instructions in Chapter 1.2 of the AmberTools12 Reference Manual. Be sure to give the "-cygwin" option to configure.

^

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 above). Once the native Windows executables of pmemd have been built, they can be executed on Windows machines that do not have Cygwin installed.

^

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 may have been built with Cygwin (see section 2 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.

^