6

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 つしか起動していないかのように動作します。

4

1 に答える 1

7

SDK はまったく役に立ちませんでした。VS 2010 (VC10) で MPI クラスターのデバッグを有効にする手順は次のとおりです。

ステップ 1. MS-MPI をインストールします: http://www.microsoft.com/en-us/download/details.aspx?id=36045 (x64 のみ)。

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

ステップ 2. ダウンロード例: http://msdn.microsoft.com/en-us/library/ee441265(v=vs.100).aspx#BKMK_debugMany

ステップ 3. デバッグ設定: スタートアップ プロジェクトを右クリック > プロパティ > デバッグ

Debugger to launch, change "Local Windows Debugger" to "MPI Cluster Debugger"
Run Environment, change "localhost/1" to "localhost/4"

Visudal Studio のツールバー領域を右クリックして [デバッグの場所] をチェックします。これで、デバッグの場所のツールバーでプロセスとそのスレッドを切り替えることができます。お楽しみください!

于 2013-03-20T00:40:55.050 に答える