MPI_Bcast関数
グループの 1 つのメンバーからグループのすべてのメンバーにデータをブロードキャストします。
構文
int MPIAPI MPI_Bcast(
_Inout_ void *buffer,
_In_ int count,
_In_ MPI_Datatype datatype,
_In_ int root,
_In_ MPI_Comm comm
);
パラメーター
buffer [in, out]
データ バッファーへのポインター。 ルート パラメーターで指定されたプロセスでは、バッファーにはブロードキャストするデータが含まれます。 comm パラメーターで指定されたコミュニケーター内の他のすべてのプロセスでは、バッファーはルート プロセスによってデータ ブロードキャストを受け取ります。count [in]
バッファー内のデータ要素の数。 count パラメーターが 0 の場合、メッセージのデータ部分は空です。datatype [in]
送信バッファー内の要素の MPI データ型。root [in]
データを送信するプロセスのランク。comm [in]
MPI_Comm コミュニケーター ハンドル。
戻り値
成功 したMPI_SUCCESS を返します。 それ以外の場合、戻り値はエラー コードです。
Fortran では、戻り値は IERROR パラメーターに格納されます。
Fortran
MPI_BCAST(BUFFER, COUNT, DATATYPE, ROOT, COMM, IERROR)
<type> BUFFER(*)
INTEGER COUNT, DATATYPE, ROOT, COMM, IERROR
注釈
各プロセスの count パラメーターと datatype パラメーターで指定された型シグネチャは、ルートの型シグネチャと等しい必要があります。 この要件は、送信されるデータの量が、各プロセスとルートの間のペアごとの受信量と等しい必要があることを意味します。 MPI_Bcast およびその他のすべてのデータ移動集合ルーチンは、この制限を行います。 送信者と受信側の間の個別の型マップは引き続き許可されます。
comm パラメーターがコマンド内を参照している場合、MPI_Bcast関数は、指定されたプロセスから、それ自体を含むグループのすべてのプロセスにメッセージをブロードキャストします。 同じパラメーターを使用しているグループのすべてのメンバーによって呼び出されます。 返されると、ルート バッファーの内容が他のすべてのプロセスにコピーされます。
comm パラメーターが相互通信子を参照している場合、呼び出しには、ルート プロセスを定義する 1 つのグループ A を含む、相互通信のすべてのプロセスが含まれます。 他のグループ (グループ B) 内のすべてのプロセスは、ルート パラメーターに同じ値を設定します。つまり、グループ A のルート プロセスのランクを設定します。ルート プロセスは、ルート パラメーターにMPI_ROOT値を設定します。 グループ A の他のすべてのプロセスは、ルート パラメーターにMPI_PROC_NULL値を設定します。 データは、ルート プロセスからグループ B のすべてのプロセスにブロードキャストされます。グループ B のプロセスの バッファー パラメーターは、ルート プロセスの バッファー パラメーターと一致している必要があります。
要件
製品 |
HPC Pack 2012 MS-MPI 再頒布可能パッケージ、HPC Pack 2008 R2 MS-MPI 再頒布可能パッケージ、HPC Pack 2008 MS-MPI 再頒布可能パッケージまたは HPC Pack 2008 クライアント ユーティリティ |
ヘッダー |
Mpi.h;Mpif.h |
ライブラリ |
Msmpi.lib |
[DLL] |
Msmpi.dll |