0
こんにちは皆、正方形のプリマフォーマットで3D配列を散布しようとしています。私はこの絵が私の意味を明確にすることを願っています。大きなキューブのMPIスキャッタリング3Dアレイから正方晶形へ
だと思うが3D配列である(4x4x4寸法言うことができます)とP0..3はプロセッサです。 (P0は大きな配列の[0..1] [0..3]部分を取る)。私はこれを行うためにデータ型を使用しています。私は2つのデータ型を作成しました。
MPI_Datatype dtype1, surface,dtype2,tetragonal;
MPI_Type_vector((N)/sqrt(size),
(N),
(N),
MPI_FLOAT,
&dtype1);
MPI_Type_commit(&dtype1);
MPI_Type_create_resized(dtype1, 0, 1*sizeof(float), &surface);
MPI_Type_commit(&surface);
MPI_Type_vector(N/sqrt(size),
1,
sqrt(size),
surface,
&dtype2);
MPI_Type_commit(&dtype2);
MPI_Type_create_resized(dtype2, 0, 1*sizeof(float), &tetragonal);
MPI_Type_commit(&tetragonal);
はしかし、私は非常に奇妙な結果を得ています、私はので、私はデータ型が実際にどのように機能するかを理解するために、この問題に関するいくつかの助けを必要としMPI環境に新しいです。 ありがとうございます。
(プロセッサのサイズは数が二乗され、NはSQRT(サイズ)で割り切れると仮定)
ありがとう、長い試行後、それは働いた! –