Compartir a través de


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

Consulte también

Funciones de punto a punto de MPI

MSMPI_Lock_queue

MSMPI_Queuelock_acquire

MSMPI_Queuelock_release

MPI_Waitsome