MPI_Grequest_query_functionコールバック関数
MPI_Grequest_query_function は、アプリケーション定義関数名のプレースホルダーです。
構文
int MPI_Grequest_query_function(
_In_opt_ void *extra_state,
_Out_ MPI_Status *status
);
パラメーター
extra_state [in, optional]
追加の状態。status [out]
MPI 状態オブジェクト。
戻り値
すべてのコールバック関数はエラー コードを返します。 コードは返され、コールバック関数を呼び出した MPI 関数によってエラー コードに応じて処理されます。 たとえば、エラー コードが返された場合、コールバック関数によって返されるエラー コードは、コールバック関数を呼び出した MPI 関数によって返されます。 MPI_の場合{Wait|テスト}query_fnとfree_fnの両方を呼び出す呼び出しでは、MPI 呼び出しは最後のコールバックによって返されたエラー コード (つまりfree_fn) を返します。 の呼び出しで 1 つ以上の要求が MPI_{Wait|Test}{some|all} が失敗した場合、MPI 呼び出しは MPI_ERR_IN_STATUSを返します。 このような場合、MPI 呼び出しに状態の配列が渡された場合、MPI は、完了した一般化された要求に対応する各状態で、 free_fn コールバック関数の対応する呼び出しによって返されるエラー コードを返します。 ただし、MPI 関数が MPI_STATUSES_IGNORE渡された場合、各コールバック関数によって返される個々のエラー コードは失われます。
Fortran
SUBROUTINE GREQUEST_QUERY_FUNCTION(EXTRA_STATE, STATUS, IERROR)
INTEGER STATUS(MPI_STATUS_SIZE), IERROR
INTEGER(KIND=MPI_ADDRESS_KIND) EXTRA_STATE
注釈
query_fn関数は、一般化された要求に対して返される状態を計算します。 状態には、要求の取り消しの成功または失敗に関する情報も含まれます ( MPI_Test_cancelledによって返される結果)。
query_fn コールバックは、MPI_{Wait| によって呼び出されます。このコールバックに関連付けられた一般化された要求を完了した Test}{any|some|all} 呼び出し。 コールバック関数は、呼び出しの発生時に要求が完了した場合、 MPI_Request_get_statusの呼び出しによっても呼び出されます。 どちらの場合も、コールバックは、ユーザーが MPI 呼び出しに渡した対応する状態変数への参照を渡します。コールバック関数によって設定された状態は、MPI 呼び出しによって返されます。 query_fnが呼び出される原因となる MPI 関数にMPI_STATUS_IGNOREまたはMPI_STATUSES_IGNOREユーザーが指定した場合、MPI は有効な status オブジェクトをquery_fnに渡し、コールバック関数の戻り時にこの状態は無視されます。 query_fnは、要求でMPI_Grequest_completeが呼び出された後にのみ呼び出されることに注意してください。これは、同じ一般化された要求に対して複数回呼び出される場合があります。たとえば、ユーザーがこの要求に対してMPI_Request_get_statusを複数回呼び出す場合などです。 また、MPI_{Wait| の呼び出しにも注意してください。Test}{some|all} は、MPI 呼び出しによって完了した一般化された要求ごとに 1 つずつ、query_fnコールバック関数の複数の呼び出しを発生させる可能性があります。 これらの呼び出しの順序は MPI では指定されません。
要件
製品 |
HPC Pack 2012 MS-MPI 再頒布可能パッケージ、HPC Pack 2008 R2 MS-MPI 再頒布可能パッケージ、HPC Pack 2008 MS-MPI 再頒布可能パッケージまたは HPC Pack 2008 クライアント ユーティリティ |
ヘッダー |
Mpi.h;Mpif.h |