Microsoft の MPI の実装を試しています。ここからCCP SDKをインストールしました:
http://www.microsoft.com/en-us/download/details.aspx?id=239
そして、私のプロジェクト設定で、include フォルダー、lib フォルダーを追加し、msmpi.lib に言及しました。
残りの設定はそのままでプログラムをビルドし、コマンドプロンプトでプログラムを実行しますが、起動しても何も起こりません。
コードは次のとおりです (各スレッドの ID 番号を表示することになっています)。
#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 から実行すると、プロセスが 1 つしか起動していないかのように動作します。