私はMPIを学んでいます。私が従った最初のチュートリアルはこちらです
MSVC 2010 を搭載した Windows 7 で正常に実行されたコードは次のとおりです。
#include "mpi.h"
#include "iostream.h"
int main(int argc,char *argv [])
{
int numtasks, rank, rc;
rc = MPI_Init(&argc,&argv);
if (rc != MPI_SUCCESS) {
printf ("Error starting MPI program. Terminating.\n");
MPI_Abort(MPI_COMM_WORLD, rc);
}
MPI_Comm_size(MPI_COMM_WORLD,&numtasks);
MPI_Comm_rank(MPI_COMM_WORLD,&rank);
printf ("Number of tasks= %d My rank= %d\n", numtasks,rank);
MPI_Finalize();
}
Pentium-4 マシンでこのコードを正常に実行しています (まだ Pentium-4 が 1 つあることに驚かないでください)。
ここで、イーサネット LAN に接続された複数のマシンでこのコード (またはその他の MPI コード) を実行したいと考えています。たとえば、各マシンが 1 から 1000 までの合計を出し、マスター ノードに送り返すと、マスター ノードはこれらすべての数値を加算して最終的な合計を取得します。
私の質問は、ネットワークで MPI プログラミングを開始する方法です。各マシンで実行する必要があるすべてのツール/ソフトウェア。
チュートリアルへのポインタを教えていただければ幸いです。
MPI Implemnetation: MPICH2
O.S:each machine is having Windows 7, 32 bit CPU: Intel's Pentium 4 and Dual core
Network: Ethernet
IDE:MSVC2010
アップデート:
Jevの答えで疑問が解消されました。私の最近の質問は次のとおりです。
各マシンに MPICH2 をインストールしますか? cfg ファイルに 1 行ごとに各マシンの名前を書き込んだ後、他に何かする必要がありますか、それとも単に次のコマンドを実行する必要がありますか:
<path-to-mpich2>/bin/mpiexec.exe -machinefile hosts.cfg -n nPEs <your-executable>
アプリケーションがすべてのマシンで実行されていることをどのように確認できますか? アプリの実行中に、各マシンで特別な構成などを行う必要がありますか?