0

C の MPI プログラムのコア数はどこで指定または表示できますか。つまり、2 コアで動作する C で記述されたプログラム (MPI フォックス アルゴリズム) を改善しましたが、実際には 4 コアで動作するように変更したいと考えています。 ... プログラムはデカルト トポロジーを使用します。

4

1 に答える 1

5

SPMD / MPMDランチャーmpiexec(またはmpirun)への必要なプロセス数を、通常は次のように指定します。

mpiexec -n <# of processes> <other options> ./executable <arguments>

次に、ワールドコミュニケーターのサイズを照会することで起動されたMPIプロセスの数を確認できます。

int nprocs;
MPI_Comm_size(MPI_COMM_WOLRD, &nprocs);
printf("There are %d processes running in this MPI program\n", nprocs);

プログラムがハイブリッドMPI+OpenMPコードでもある場合、各プロセスのスレッド数は、環境変数を設定することで制御できます。ただし、リージョンへの呼び出しまたは明示的な句を適用しOMP_NUM_THREADSてコード内で数をオーバーライドする場合を除きます。omp_set_num_threads()num_threadsparallel

于 2012-11-25T11:49:41.887 に答える