Sdílet prostřednictvím


MSMPI_Waitsome_interruptible funkce

Počká, dokud se nedokončí alespoň jedna z operací přidružených k aktivním popisovačům v seznamu, nebo dokud není volání přerušeno jiným vláknem, které volá MSMPI_Queuelock_acquire.

Syntaxe

int MPIAPI MSMPI_Waitsome_interruptible(
        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) int array_of_statuses[]
);

Parametry

  • incount
    Počet požadavků v poli array_of_requests.

  • array_of_requests
    Pole zpracování požadavků operací, u kterých se má čekat na dokončení. Pokud byl popisovač požadavku přidělen neblokující komunikační funkcí, uvolní se a přidružený popisovač se nastaví na MPI_REQUEST_NULL.

  • outcount [out]
    Počet dokončených požadavků zadaných v parametru array_of_requests a počet prvků v polích array_of_indices a array_of_statuses .

    Pokud array_of_requests neobsahuje žádné aktivní popisovače, vrátí funkce okamžitě s parametrem outcount nastaveným na MPI_UNDEFINED.

    Pokud je tato funkce přerušena před dokončením požadavků, vrátí se volání s parametrem outcount nastaveným na nulu.

  • array_of_indices
    Vrátí indexy v rámci parametru array_of_requests dokončených operací. Indexy polí jsou v jazyce C založené na nule a 1 ve Fortranu.

  • array_of_statuses
    Vrátí stav dokončených operací. Prvky tohoto pole odpovídají prvkům array_of_indices pole.

Vrácená hodnota

Vrátí MPI_SUCCESS při úspěchu. V opačném případě je návratovou hodnotou kód chyby.

Ve Fortranu je vrácená hodnota uložena v parametru IERROR .

Pokud funkce vrátí jinou chybu než MPI_ERR_IN_STATUS, neaktualizuje pole chyb stavů v parametru array_of_statuses .

Poznámky

V prostředí s více vlákny musí uživatelé získat globální zámek MPI společnosti Microsoft pomocí funkce MSMPI_Queuelock_acquire před voláním MSMPI_Waitsome_interruptible. Tato funkce je přerušena, když jiné vlákno volá funkci MSMPI_Queuelock_acquire pro přístup ke knihovně MPI.

Tato funkce je rozšířením standardu.

Požadavky

Produkt

HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package nebo HPC Pack 2008 Client Utilities

Hlavička

Mpi.h

Knihovna

Msmpi.lib

DLL

Msmpi.dll

Viz také

Funkce MPI typu point-to-point

MSMPI_Lock_queue

MSMPI_Queuelock_acquire

MSMPI_Queuelock_release

MPI_Waitsome