0

C で記述された MPI プログラムに値を渡しています。値 5 を渡す場合、スレッド番号 1 に番号 5、スレッド番号 2 に番号 4 を指定します。 ?

最後に、これらすべての値 (5*4*3...) の積を計算する MPI reduce があるので、スレッドで何もする必要はありませんが、それぞれに異なる値を渡すだけで済みます。スレッド。

4

1 に答える 1

2

これは割り当てのように聞こえるので、疑似コードのみを書き出します。

  1. 値 (たとえば 5) を変数に読み込む
  2. MPI_Init
  3. MPI_Comm_rank を使用して MPI プロセスのランクを取得する
  4. ループ内で、プロセスのランクに基づいて変数に値を割り当てます
  5. 手順 4 で初期化した変数に対して MPI_Reduce を呼び出します。
  6. MPI_ファイナライズ
  7. 要件に基づく単一/複数プロセスからの印刷

あなたが実際に意味しているのはプロセスであり、スレッドではないと思います(suszterpattがコメントですでに指摘しているように)。

于 2012-04-09T21:55:04.123 に答える