• ベストアンサー

mpiによる多次元配列の送受信

私はmpiによる並列計算プログラムをfortranを使って書いてます。 配列a(i, j, k) (i=1~10, j=1~10, k=1~10)があったとします。 これを call mpi_send(a(1, 1, 1), 100, MPI_INTEGER, ...) とすると、a(1,1,1), a(1,1,2), …, a(1,1,10), a(1,2,1), a(1,2,2), …, a(1,10,10) のようにiを固定した100個のデータが送信されますよね? これをjやkを固定してデータを送りたい場合どのようにすればいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • f272
  • ベストアンサー率46% (8626/18446)
回答No.1

mpi_type_vectorでデータをまとめて送受信するようにするのが吉。 ところで配列は,a(1,1,1), a(1,1,2), …, a(1,1,10), a(1,2,1), a(1,2,2), …, a(1,10,10)のように並んでいないと思うぞ。

symmetry5
質問者

お礼

回答ありがとうございます。 mpi_type_vectorですか。勉強してみます。 すみません。まだ熟知していないもので。 配列はどのように並んでいるのでしょう?

関連するQ&A