I'm trying out Microsoft's implementation of MPI. I installed the CCP sdk from here:
http://www.microsoft.com/en-us/download/details.aspx?id=239
And then in my project settings I added the include folder, the lib folder and mentioned msmpi.lib.
With the remaining settings as-is, I build the program and then in the command prompt I proceed to run the program, but nothing happens after I start it up.
Here's the code (It's supposed to display the id numbers for each thread):
#include "stdafx.h"
#include "mpi.h"
#include <stdio.h>
//Commands in cmd prompt
//cd "C:\Program Files\Microsoft Compute Cluster Pack\Bin"
//mpiexec.exe -n 2 "C:\Users\MyNameHere\Documents\Visual Studio 2012\Projects\tspMpi\Debug\tspMpi.exe"
int main(int argc, char* argv[])
{
int nTasks = 0, rank = 0;
MPI_Init(&argc,&argv);
MPI_Comm_size(MPI_COMM_WORLD,&nTasks);
MPI_Comm_rank(MPI_COMM_WORLD,&rank);
printf ("Number of threads = %d, My rank = %d\n", nTasks, rank);
return 0;
MPI_Finalize();
}
As soon as I run mpiexec.exe (the commands are in the comments) the program just does nothing, until I press Ctrl-C. Does anyone know what I'm doing wrong? There are no errors when I build the program, and if I run it from visual studio, it acts as if there was only one process started up.
To use MPI with Windows, you will need to install the free download of Microsoft MPI. Go to the installation page and download MSMpiSetup.exe . Once downloaded, run the executable and follow the instructions. If you want to set the PATH permanently, follow these instructions.
Microsoft MPI (MS-MPI) is a Microsoft implementation of the Message Passing Interface standard for developing and running parallel applications on the Windows platform. MS-MPI offers several benefits: Ease of porting existing code that uses MPICH.
I didn't find SDK useful at all, here are my steps to enable MPI cluster debugging in VS 2010 (VC10):
step 1. Install MS-MPI: http://www.microsoft.com/en-us/download/details.aspx?id=36045 (x64 only), this creates
C:\Program Files\Microsoft HPC Pack 2012\Inc
C:\Program Files\Microsoft HPC Pack 2012\Lib\amd64
C:\Program Files\Microsoft HPC Pack 2012\Lib\i386
step 2. Download example: http://msdn.microsoft.com/en-us/library/ee441265(v=vs.100).aspx#BKMK_debugMany
step 3. Debugging setting: Right click on the Startup Project > Properties > Debugging
Debugger to launch, change "Local Windows Debugger" to "MPI Cluster Debugger"
Run Environment, change "localhost/1" to "localhost/4"
Right click on Visudal Studio Toolbar area to check "Debug Location", now you can switch Process and its Threads in the Debug Location toolbar, have fun!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With