Sto provando l'implementazione di Microsoft di MPI. Ho installato l'SDK PCC da qui:Microsoft MPI non viene eseguito
http://www.microsoft.com/en-us/download/details.aspx?id=239
E poi nelle mie impostazioni del progetto ho aggiunto l'inclusione cartella, la cartella lib e msmpi.lib menzionato.
Con le impostazioni rimanenti così come sono, costruisco il programma e quindi nel prompt dei comandi procedo per eseguire il programma, ma non succede nulla dopo l'avvio.
Ecco il codice (Si suppone per visualizzare i numeri ID per ogni 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();
}
Appena corro mpiexec.exe (i comandi sono nei commenti), il programma solo non fa nulla, fino a quando Premo Ctrl-C. Qualcuno sa cosa sto sbagliando? Non ci sono errori quando costruisco il programma, e se lo eseguo da Visual Studio, agisce come se ci fosse solo un processo avviato.
È possibile eseguire gli esempi forniti con l'SDK? – zeFrenchy
Non ho trovato documentazione/campioni con l'SDK nel link che ho mostrato. –
MPI_Finalize(); dovrebbe essere prima della dichiarazione di ritorno – veda