funktionen MSMPI_Waitsome_interruptible

Väntar tills minst en av de åtgärder som är associerade med aktiva referenser i listan har slutförts, eller så avbryts anropet av en annan tråd som anropar MSMPI_Queuelock_acquire.

Syntax

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[]
);

Parametrar

  • incount
    Antalet begäranden i matrisen array_of_requests.

  • array_of_requests
    Matris med begäranden hanterar de åtgärder som ska vänta på slutförande. Om en begärandereferens har allokerats av en icke-blockerande kommunikationsfunktion frigörs den och den associerade referensen anges till MPI_REQUEST_NULL.

  • outcount [out]
    Antalet begäranden som anges i parametern array_of_requests som har slutförts och antalet element i array_of_indices och array_of_statuses matriser.

    Om array_of_requests inte innehåller några aktiva referenser returnerar funktionen omedelbart med parametern outcount inställd på MPI_UNDEFINED.

    Om den här funktionen avbryts innan några begäranden har slutförts returneras anropet med outcount-parametern inställd på noll.

  • array_of_indices
    Returnerar indexen inom parametern array_of_requests för de åtgärder som har slutförts. Matrisindex är nollbaserade i C och enbaserade i Fortran.

  • array_of_statuses
    Returnerar status för de åtgärder som har slutförts. Elementen i den här matrisen motsvarar elementen i den array_of_indices matrisen.

Returvärde

Returnerar MPI_SUCCESS vid lyckat resultat. Annars är returvärdet en felkod.

I Fortran lagras returvärdet i parametern IERROR .

Om funktionen returnerar ett annat fel än MPI_ERR_IN_STATUS uppdateras inte felfälten för statusarna i parametern array_of_statuses .

Kommentarer

I en miljö med flera trådar måste användarna hämta det globala Microsoft MPI-låset med hjälp av funktionen MSMPI_Queuelock_acquire innan de anropar MSMPI_Waitsome_interruptible. Den här funktionen avbryts när en annan tråd anropar funktionen MSMPI_Queuelock_acquire för att få åtkomst till MPI-biblioteket.

Den här funktionen är ett tillägg till standarden.

Krav

Produkt

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

Huvud

Mpi.h

Bibliotek

Msmpi.lib

DLL

Msmpi.dll

Se även

MPI punkt-till-punkt-funktioner

MSMPI_Lock_queue

MSMPI_Queuelock_acquire

MSMPI_Queuelock_release

MPI_Waitsome