Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Crée et retourne une requête définie par l’utilisateur.
Syntaxe
int MPIAPI MPI_Grequest_start(
_In_ MPI_Grequest_query_function *query_fn,
_In_ MPI_Grequest_free_function *free_fn,
_In_ MPI_Grequest_cancel_function *cancel_fn,
_In_opt_ void *extra_state,
_Out_ MPI_Request *request
);
Paramètres
query_fn [in]
Fonction de rappel appelée lorsque la demande status est interrogée.free_fn [in]
Fonction de rappel appelée lorsque la demande est libérée.cancel_fn [in]
Fonction de rappel appelée lorsque la demande est annulée.extra_state [in, facultatif]
État supplémentaire passé aux fonctions ci-dessus.request [out]
Requête généralisée.
Valeur retournée
Retourne MPI_SUCCESS en cas de réussite. Sinon, la valeur de retour est un code d’erreur.
Dans Fortran, la valeur de retour est stockée dans le paramètre IERROR .
Fortran
MPI_GREQUEST_START(QUERY_FN, FREE_FN, CANCEL_FN, EXTRA_STATE, REQUEST, IERROR)
INTEGER REQUEST, IERROR
EXTERNAL QUERY_FN, FREE_FN, CANCEL_FN
INTEGER (KIND=MPI_ADDRESS_KIND) EXTRA_STATE
Remarques
Les valeurs de retour des fonctions de rappel doivent être un code d’erreur MPI valide ou une classe. Cette valeur peut être la valeur de retour de n’importe quelle routine MPI (à une exception près indiquée ci-dessous) ou l’une des classes d’erreur MPI. Pour les programmes portables, MPI_ERR_OTHER peuvent être utilisés ; pour fournir des informations plus spécifiques, créez une classe d’erreur MPI ou un code avec MPI_Add_error_class ou MPI_Add_error_code et retournez cette valeur.
La norme MPI n’est pas claire sur les valeurs de retour des routines de rappel. Toutefois, il existe des notes dans la norme qui impliquent qu’il s’agit de codes d’erreur MPI. Par exemple, les pages 169 de la ligne 46 à la page 170, ligne 1, exigent que le free_fn retourne un code d’erreur MPI qui peut être utilisé dans les fonctions d’achèvement MPI lorsqu’ils retournent MPI_ERR_IN_STATUS.
Le seul cas particulier est la valeur d’erreur retournée par MPI_Comm_dup lorsque la routine de rappel d’attribut retourne un échec. La norme MPI n’indique pas clairement quelles valeurs peuvent être utilisées pour indiquer un retour d’erreur. En outre, la suite de tests Intel MPI a utilisé des valeurs non nulles pour indiquer l’échec et s’attendait à ce que ces valeurs soient retournées par le MPI_Comm_dup lorsque les routines d’attribut rencontraient une erreur. Ces valeurs d’erreur peuvent ne pas être des codes d’erreur MPI ou des classes valides. Pour cette raison, il incombe à l’utilisateur d’utiliser des codes d’erreur MPI valides en retour à partir des rappels d’attribut, si ces codes d’erreur doivent être retournés par un rappel de demande généralisée, ou de détecter et de convertir ces codes d’erreur en codes d’erreur MPI valides (rappelez-vous que les classes d’erreur MPI sont des codes d’erreur valides).
Configuration requise
Produit |
HpC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package ou HPC Pack 2008 Client Utilities |
En-tête |
Mpi.h ; Mpif.h |
Bibliothèque |
Msmpi.lib |
DLL |
Msmpi.dll |