0

次の3D配列があります。

U[Timesteps][X][Y]

範囲あり

Timesteps ( 0 to 100)
X ( 0 to 480)
Y ( 0 to 480)

MPI を使用して処理するために、配列送信をノード間で分割する必要があります。

次のように分割したい

プロセス (ノード 0) を取得する必要があります

U[Timesteps][X][Y]

範囲あり

Timesteps ( 0 to 100)
X ( 0 to 200)
Y ( 0 to 200)

およびプロセス (ノード 1) を取得する必要があります

U[Timesteps][X][Y]

範囲あり

Timesteps ( 0 to 100)
X ( 201 to 480)
Y ( 201 to 480)

同様に、実行時に使用可能になるノードの数だけ分割できます。(つまり、フルタイムステップで x と Y を分割)

誰でも MPI コードのサンプルを手伝ってもらえますか? 私の要件に対する MPI の派生データ型の使用に混乱しています。

ありがとう

4

1 に答える 1

0

いくつかの MPI チュートリアルを行った後、3D 配列を送信する方法を理解しました。MPI_TYPE_INDEXED 派生データ型を使用する必要があります

于 2013-02-27T21:43:44.110 に答える