Programming
Assuming you have a working MPI program (e.g. one that has been built on a linux cluster), the difference on WinHPC is that there is no "mpicc". You use the regular compiler, but you have to explicitly specify where the MPI header (mpi.h) and library (msmpi.lib) are. To build from the command line, run
Start/Intel Software Development Tools/Intel C++ Compiler Professional.../C++ Build Environment for applications running on Intel 64
This starts a DOS command shell that has its environment set up correctly.
To use the mpi libraries your compile command needs to look like:
icl mpi_test.c "C:\Program Files\Microsoft HPC Pack 2008 SDK\Lib\amd64\msmpi.lib" /I"C:\Program Files\Microsoft HPC Pack 2008 SDK\Include" -o mpi_test.exe
"icl" is the intel C compiler. The fortran compiler is "ifort"
To run this program via the scheduler, you need to copy it to
\\winhpchn1\public\
or some subdirectory.
Then go to the scheduler program.
In your "task", the working directory should be set to point to where you put your executable, e.g. \\winhpchn1\public\pgraf\mpi_test\
Then the command line of the task might be
mpiexec -np 16 mpi_test.exe
In this case, you are telling MPI you have 16 cores. (I have found that I cannot get more than 8 cores unless I go to the task dialog and change the "resource type" to "nodes". Then I ask for 2 nodes, which equals 16 cores, and it works.)
Now submit the job and hope for the best.
By Peter Graf