2011-01-28 14 views
3

私はMPIライブラリで作業していますが、varタイプのMPI_statusを使用している間、フィールドカウントに疲れましたが、コンパイラはそれが不可能だと言います。
構造体にcountという名前のフィールドがあり、inにsizeという名前のフィールドがあると主張する2つの異なるスカーが見つかりました。
私は両方を試しましたが、どちらもコンパイルされません。何か案は?MPI_statusの不明なフィールド

ありがとうございました。 Cにおいて

答えて

8

http://www.netlib.org/utk/papers/mpi-book/node31.html

、ステータスはMPI_SOURCE、MPI_TAG、及びMPI_ERRORという3つのフィールドを含む型MPI_Statusの構造です。構造体に追加フィールドが含まれている可能性があります。

使用:

MPI_Get_count(MPI_Status *status, MPI_Datatype datatype, int *count) 
+0

私は同意するものとします。 MSMPIでは、Microsoft HPCバージョンのMPIにはstatus.countフィールドがあり、そこには受信メッセージのサイズがバイト単位で格納されます。とにかく標準のMPI_Get_count呼び出しを使用する方が、Fortの移植性が優れています。 – GBBL

+0

カウントに直接アクセスするのは悪いです。これはMPI標準に違反し、動作しているように見えてもコードを移植性がなく、脆いものにします。 – Jeff

関連する問題