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
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. 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.
Serial version
CYGWIN> cd $AMBERHOME/AmberTools/src
CYGWIN> ./configure -windows intel
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.
CYGWIN> cd $AMBERHOME/test
CYGWIN> make test.serial.pmemd
This will run a series of tests, most of which should say PASSED.
You are now ready to build the parallel native Windows version of pmemd.
CYGWIN> cd $AMBERHOME/AmberTools/src
CYGWIN> ./configure -mpi -windows intel
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.
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.