Partilhar via


função MPI_Waitsome

Conclui algumas das várias operações pendentes.

Sintaxe

int MPIAPI MPI_Waitsome(
        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)     *array_of_statuses
);

Parâmetros

  • conta
    O número de entradas no parâmetro array_of_requests .

  • array_of_requests
    Uma matriz de MPI_Request processa operações pendentes.

  • outcount [out]
    O número de pedidos concluídos.

  • array_of_indices
    Matriz de índices na array_of_requests de operações que foram concluídas. O array_of_requests é indexado de zero em C e de um em Fortran.

  • array_of_statuses
    Matriz de objetos de estado para operações concluídas ou MPI_STATUSES_IGNORE.

Valor devolvido

Devolve MPI_SUCCESS com êxito. Caso contrário, o valor devolvido é um código de erro.

Em Fortran, o valor devolvido é armazenado no parâmetro IERROR .

Fortran

    MPI_WAITSOME(INCOUNT, ARRAY_OF_REQUESTS, OUTCOUNT, ARRAY_OF_INDICES, ARRAY_OF_STATUSES, IERROR)
        INTEGER INCOUNT, ARRAY_OF_REQUESTS(*), OUTCOUNT, ARRAY_OF_INDICES(*),
        ARRAY_OF_STATUSES(MPI_STATUS_SIZE,*), IERROR

Observações

A matriz de índices está no intervalo 0 a contar - 1 para C e no intervalo 1 a contar para Fortran.

Os pedidos NULL são ignorados; se todos os pedidos forem NULL, a rotina é devolvida com a contagem definida como MPI_UNDEFINED.

Embora seja possível listar um identificador de pedido mais do que uma vez no array_of_requests, tal ação é considerada errada e pode fazer com que o programa termine de forma não específica ou produza resultados incorretos.

MPI_Waitsome fornece uma interface semelhante às chamadas unix "select" ou "poll" e, numa implementação de elevada qualidade, indica todos os pedidos que foram concluídos quando MPI_Waitsome é chamado. No entanto, MPI_Waitsome apenas garante que pelo menos um pedido foi concluído; não há garantias de que todos os pedidos concluídos serão devolvidos ou que as entradas no array_of_indices estarão por ordem crescente. Além disso, os pedidos que são concluídos enquanto MPI_Waitsome está a ser executado podem ou não ser devolvidos, dependendo da temporização da conclusão da mensagem.

Requisitos

Produto

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

Cabeçalho

Mpi.h; Mpif.h

Biblioteca

Msmpi.lib

DLL

Msmpi.dll

Ver também

Funções Ponto a Ponto do MPI