Я пробую реализацию Microsoft MPI. Я установил CCP SDK отсюда:
http://www.microsoft.com/en-us/download/details.aspx?id=239
А затем в настройках моего проекта я добавил папку include, папку lib и упомянутый msmpi.lib.
С остальными настройками как есть, я создаю программу, а затем в командной строке запускаю программу, но после ее запуска ничего не происходит.
Вот код (он должен отображать номера идентификаторов для каждого потока):
#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();
}
Как только я запускаю mpiexec.exe (команды в комментариях), программа просто ничего не делает, пока я не нажму Ctrl-C. Кто-нибудь знает, что я делаю неправильно? При сборке программы ошибок нет, и если я запускаю ее из Visual Studio, она действует так, как будто запущен только один процесс.