función MSMPI_Waitsome_interruptible
Espera hasta que haya finalizado al menos una de las operaciones asociadas a los identificadores activos de la lista, o la llamada se interrumpe mediante otro subproceso que llama a MSMPI_Queuelock_acquire.
Sintaxis
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[]
);
Parámetros
incount
Número de solicitudes de la matriz array_of_requests.array_of_requests
Matriz de identificadores de solicitud de las operaciones en las que se esperará la finalización. Si una función de comunicación de no bloqueo asignó un identificador de solicitud, se desasigna y el identificador asociado se establece en MPI_REQUEST_NULL.outcount [out]
Número de solicitudes especificadas en el parámetro array_of_requests que se completan y el número de elementos de la array_of_indices y array_of_statuses matrices.Si el array_of_requests no contiene identificadores activos, la función devuelve inmediatamente con el parámetro outcount establecido en MPI_UNDEFINED.
Si esta función se interrumpe antes de que se completen las solicitudes, la llamada devuelve con el parámetro outcount establecido en cero.
array_of_indices
Devuelve los índices dentro del parámetro array_of_requests de las operaciones que se completan. Los índices de matriz se basan en cero en C y en uno en Fortran.array_of_statuses
Devuelve el estado de las operaciones completadas. Los elementos de esta matriz corresponden a los elementos de la matriz array_of_indices .
Valor devuelto
Devuelve MPI_SUCCESS si se realiza correctamente. De lo contrario, el valor devuelto es un código de error.
En Fortran, el valor devuelto se almacena en el parámetro IERROR .
Si la función devuelve un error distinto de MPI_ERR_IN_STATUS, no actualiza los campos de error de los estados en el parámetro array_of_statuses .
Comentarios
En un entorno multiproceso, los usuarios deben obtener el bloqueo MPI global de Microsoft mediante la función MSMPI_Queuelock_acquire antes de llamar a MSMPI_Waitsome_interruptible. Esta función se interrumpe cuando otro subproceso llama a la función MSMPI_Queuelock_acquire para acceder a la biblioteca MPI.
Esta función es una extensión para el estándar.
Requisitos
Producto |
Paquete redistribuible de HPC Pack 2012 MS-MPI, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package o HPC Pack 2008 Client Utilities |
Encabezado |
Mpi.h |
Biblioteca |
Msmpi.lib |
Archivo DLL |
Msmpi.dll |