MSMPI_Waitsome_interruptible functie
Wacht tot ten minste één van de bewerkingen die zijn gekoppeld aan actieve ingangen in de lijst, is voltooid of de aanroep wordt onderbroken door een andere thread die MSMPI_Queuelock_acquire aanroept.
Syntaxis
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[]
);
Parameters
incount
Het aantal aanvragen in de matrix array_of_requests.array_of_requests
Matrix van aanvraagingangen van de bewerkingen waarop moet worden gewacht op voltooiing. Als een aanvraagingsingang is toegewezen door een niet-blokkerende communicatiefunctie, wordt de toewijzing ongedaan gemaakt en wordt de bijbehorende ingang ingesteld op MPI_REQUEST_NULL.outcount [out]
Het aantal aanvragen dat is opgegeven in de array_of_requests parameter die zijn voltooid en het aantal elementen in de array_of_indices en array_of_statuses matrices.Als de array_of_requests geen actieve ingangen bevat, wordt de functie onmiddellijk geretourneerd met de parameter outcount ingesteld op MPI_UNDEFINED.
Als deze functie wordt onderbroken voordat aanvragen zijn voltooid, wordt de aanroep geretourneerd met de parameter outcount ingesteld op nul.
array_of_indices
Retourneert de indexen binnen de array_of_requests parameter van de bewerkingen die zijn voltooid. Matrixindexen zijn nul gebaseerd in C en één in Fortran.array_of_statuses
Retourneert de status van de bewerkingen die zijn voltooid. De elementen van deze matrix komen overeen met de elementen van de array_of_indices matrix.
Retourwaarde
Retourneert MPI_SUCCESS bij succes. Anders is de retourwaarde een foutcode.
In Fortran wordt de retourwaarde opgeslagen in de parameter IERROR .
Als de functie een andere fout dan MPI_ERR_IN_STATUS retourneert, worden de foutvelden van de statussen in de parameter array_of_statuses niet bijgewerkt.
Opmerkingen
In een omgeving met meerdere threads moeten gebruikers de algemene Microsoft MPI-vergrendeling verkrijgen met behulp van de functie MSMPI_Queuelock_acquire voordat ze MSMPI_Waitsome_interruptible aanroepen. Deze functie wordt onderbroken wanneer een andere thread de functie MSMPI_Queuelock_acquire aanroept om toegang te krijgen tot de MPI-bibliotheek.
Deze functie is een uitbreiding op de standaard.
Vereisten
Product |
HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package of HPC Pack 2008 Client Utilities |
Header |
Mpi.h |
Bibliotheek |
Msmpi.lib |
DLL |
Msmpi.dll |