MPI_Grequest_query_function fonction de rappel
MPI_Grequest_query_function est un espace réservé pour le nom de fonction défini par l’application.
Syntaxe
int MPI_Grequest_query_function(
_In_opt_ void *extra_state,
_Out_ MPI_Status *status
);
Paramètres
extra_state [in, facultatif]
État supplémentaire.status [out]
Objet MPI status.
Valeur retournée
Toutes les fonctions de rappel retournent un code d’erreur. Le code est renvoyé et traité en fonction du code d’erreur par la fonction MPI qui a appelé la fonction de rappel. Par exemple, si des codes d’erreur sont retournés, le code d’erreur retourné par la fonction de rappel est retourné par la fonction MPI qui a appelé la fonction de rappel. Dans le cas d’un MPI_{Wait|Test}tout appel appelant à la fois query_fn et free_fn, l’appel MPI retourne le code d’erreur retourné par le dernier rappel, à savoir free_fn. Si une ou plusieurs des demandes d’un appel à MPI_{Attendre|Test}{some|all} a échoué, puis l’appel MPI retourne MPI_ERR_IN_STATUS. Dans ce cas, si l’appel MPI a été passé un tableau d’états, MPI retourne dans chacun des états correspondant à une demande généralisée terminée le code d’erreur retourné par l’appel correspondant à sa fonction de rappel free_fn . Toutefois, si la fonction MPI a été transmise MPI_STATUSES_IGNORE, les codes d’erreur individuels retournés par chaque fonction de rappel seront perdus.
Fortran
SUBROUTINE GREQUEST_QUERY_FUNCTION(EXTRA_STATE, STATUS, IERROR)
INTEGER STATUS(MPI_STATUS_SIZE), IERROR
INTEGER(KIND=MPI_ADDRESS_KIND) EXTRA_STATE
Remarques
La fonction query_fn calcule le status qui doit être retourné pour la requête généralisée. Le status inclut également des informations sur l’annulation réussie/infructueuse de la demande (résultat à retourner par MPI_Test_cancelled).
Le rappel query_fn est appelé par le MPI_{Wait|Test}{any|some|all} call qui a terminé la demande généralisée associée à ce rappel. La fonction de rappel est également appelée par des appels à MPI_Request_get_status, si la demande est terminée lorsque l’appel se produit. Dans les deux cas, le rappel est passé une référence à la variable status correspondante transmise par l’utilisateur à l’appel MPI ; le status défini par la fonction de rappel est retourné par l’appel MPI. Si l’utilisateur a fourni MPI_STATUS_IGNORE ou MPI_STATUSES_IGNORE à la fonction MPI qui provoque l’appel de query_fn, MPI transmet un objet status valide à query_fn, et cette status sera ignorée lors du retour de la fonction de rappel. Notez que query_fn n’est appelé qu’après l’appel de MPI_Grequest_complete sur la demande ; il peut être appelé plusieurs fois pour la même demande généralisée, par exemple, si l’utilisateur appelle MPI_Request_get_status plusieurs fois pour cette demande. Notez également qu’un appel à MPI_{Wait|Test}{some|all} peut provoquer plusieurs appels de query_fn fonctions de rappel, un pour chaque requête généralisée terminée par l’appel MPI. L’ordre de ces appels n’est pas spécifié par MPI.
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 |