Partager via


MPI_Waitsome fonction

Termine certaines de plusieurs opérations en suspens.

Syntaxe

int MPIAPI MPI_Waitsome(
        int                                         incount,
        _Inout_count_(incount) MPI_Request          array_of_requests,
  _Out_ int                                         *outcount,
        _Out_cap_post_count_(incount,*outcount) int *array_of_indices,
        _Out_cap_post_count_(incount,*outcount)     *array_of_statuses
);

Paramètres

  • incount
    Nombre d’entrées dans le paramètre array_of_requests .

  • array_of_requests
    Tableau de MPI_Request de handles d’opérations en attente.

  • outcount [out]
    Nombre de demandes terminées.

  • array_of_indices
    Tableau d’index dans le array_of_requests des opérations terminées. Le array_of_requests est indexé à partir de zéro en C et d’un dans Fortran.

  • array_of_statuses
    Tableau d’objets status pour les opérations terminées ou MPI_STATUSES_IGNORE.

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_WAITSOME(INCOUNT, ARRAY_OF_REQUESTS, OUTCOUNT, ARRAY_OF_INDICES, ARRAY_OF_STATUSES, IERROR)
        INTEGER INCOUNT, ARRAY_OF_REQUESTS(*), OUTCOUNT, ARRAY_OF_INDICES(*),
        ARRAY_OF_STATUSES(MPI_STATUS_SIZE,*), IERROR

Remarques

Le tableau d’indics se trouve dans la plage de 0 à incount - 1 pour C et dans la plage 1 à incount pour Fortran.

Les requêtes NULL sont ignorées ; si toutes les requêtes ont la valeur NULL, la routine retourne avec le nombre d’attente défini sur MPI_UNDEFINED.

Bien qu’il soit possible de répertorier plusieurs fois un handle de requête dans le array_of_requests, une telle action est considérée comme erronée et peut entraîner l’arrêt inexécutable du programme ou produire des résultats incorrects.

MPI_Waitsome fournit une interface semblable aux appels Unix « select » ou « poll » et, dans une implémentation de haute qualité, indique toutes les requêtes qui se sont terminées lors de l’appel de MPI_Waitsome . Toutefois, MPI_Waitsome garantit seulement qu’au moins une demande a été effectuée ; il n’est pas garanti que toutes les demandes terminées seront retournées ou que les entrées dans array_of_indices seront dans un ordre croissant. En outre, les demandes effectuées pendant l’exécution de MPI_Waitsome peuvent ou non être retournées, en fonction du moment où le message est terminé.

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

Voir aussi

Fonctions point à point MPI