MPI_Ibcast関数
ランク "root" のプロセスから、非ブロッキングの方法でコミュニケーターの他のすべてのプロセスにメッセージをブロードキャストします。
構文
int MPIAPI MPI_Ibcast(
_Inout_ void *buffer,
_In_ int count,
_In_ MPI_Datatype datatype,
_In_ int root,
_In_ MPI_Comm comm,
_Out_ MPI_Request *request
);
パラメーター
バッファー [in, out]
データ バッファーへのポインター。 ルート パラメーターで指定されたプロセスでは、バッファーにはブロードキャストするデータが含まれます。 comm パラメーターで指定されたコミュニケーター内の他のすべてのプロセスで、バッファーはルート プロセスによってブロードキャストされたデータを受け取ります。バッファー は、データ型 ハンドルによって示される MPI_Datatype の連続する要素カウントで構成されます。 メッセージの長さは、バイト数ではなく、要素の数で指定されます。 カウント [in]
バッファー内のデータ要素の数。 count パラメーターが 0 の場合、メッセージのデータ部分は空です。datatype [in]
バッファー内の各要素のデータ型を表すMPI_Datatype ハンドル。 ルート の
[in]
バッファーを送信、MPI_Comm comm 内のプロセス ランク。 comm [in]
MPI_Comm コミュニケーター ハンドル。要求 [out]
MPI_Request 通信操作を表すハンドルです。.
戻り値
成功した MPI_SUCCESS を返します。 それ以外の場合、戻り値はエラー コードです。
Fortran では、戻り値は IERROR パラメーターに格納されます。
Fortran
MPI_IBCAST(BUFFER, COUNT, DATATYPE, ROOT, COMM, REQUEST, IERROR)
<type> BUFFER(*)
INTEGER COUNT, DATATYPE, ROOT, COMM, REQUEST, IERROR
備考
非ブロッキング呼び出しは、個別の完了呼び出しで完了する必要がある集合ブロードキャスト操作を開始します。 開始されると、操作は、参加プロセスでの計算やその他の通信とは無関係に進行する可能性があります。 このように、非ブロッキング ブロードキャスト操作は、"バックグラウンド" で実行することで、ブロードキャスト操作の同期の影響を軽減できます。
ブロックされていないブロードキャスト操作では、すべての完了呼び出し (MPI_Waitなど) がサポートされます。
必要条件
積 |
Microsoft MPI v6 |
ヘッダ |
Mpi.h;Mpif.h |
図書館 |
Msmpi.lib |
DLL |
Msmpi.dll |