Compartilhar via


função MPI_Igather

Coleta dados de todos os membros de um grupo para um membro de maneira não bloqueada.

Sintaxe

int WINAPI MPI_Igather(
  _In_      void         *sendbuf,
            int          sendcount,
            MPI_Datatype sendtype,
  _Out_opt_ void         *recvbuf,
  _In_      int          recvcount,
  _In_      MPI_Datatype recvtype,
  _In_      int          root,
  _In_      MPI_Comm     comm,
  _Out_     MPI_Request  *request
);

Parâmetros

  • sendbuf [in]
    O ponteiro para um buffer que contém os dados a serem enviados para a raiz. O buffer consiste em elementos de sendcount sucessivos do MPI_Datatype indicado pelo identificador sendtype . O comprimento da mensagem é especificado em termos de número de elementos, não número de bytes.

  • sendcount
    O número de elementos sendtype no sendbuf. Se o valor for zero, a parte de dados da mensagem estará vazia.

  • sendtype
    O identificador MPI_Datatype que representa o tipo de dados de cada elemento no sendbuf.

  • recvbuf [out, opcional]
    O ponteiro para um buffer que contém os dados recebidos de cada processo na raiz, incluindo os dados enviados pelo processo raiz (significativo somente na raiz). O recvbuf do buffer de recebimento é ignorado para todos os processos não raiz. No processo raiz, recvbuf consiste em elementos revcount sucessivos do MPI_Datatype indicado pelo identificador de recvtype . O comprimento da mensagem é especificado em termos de número de elementos, não número de bytes.

  • recvcount [in]
    O número de elementos recvtype no recvbuf. Se o valor for zero, a parte de dados da mensagem estará vazia (significativa apenas na raiz).

  • recvtype [in]
    O identificador MPI_Datatype que representa o tipo de dados de cada elemento no recvbuf (significativo somente na raiz).

  • raiz [in]
    A classificação do processo de recebimento dentro do MPI_Commcomm.

  • comm [in]
    O identificador MPI_Comm comunicador.

  • solicitação [out]
    O identificador MPI_Request que representa a operação de comunicação.

Retornar valor

Retorna MPI_SUCCESS com êxito. Caso contrário, o valor retornado será um código de erro.

No Fortran, o valor retornado é armazenado no parâmetro IERROR .

Fortran

    MPI_IGATHER(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNT, RECVTYPE,
    ROOT, COMM, REQUEST, IERROR)
        <type> SENDBUF(*), RECVBUF(*)
        INTEGER SENDCOUNT, SENDTYPE, RECVCOUNT, RECVTYPE, ROOT, COMM, REQUEST, IERROR

Comentários

Uma chamada sem bloqueio inicia uma operação de coleta coletiva que deve ser concluída em uma chamada de conclusão separada. Depois de iniciada, a operação pode progredir independentemente de qualquer computação ou outra comunicação em processos participantes. Dessa forma, as operações de coleta sem bloqueio podem atenuar possíveis efeitos de sincronização das operações de coleta executando-as em "segundo plano".

Todas as chamadas de conclusão (por exemplo, MPI_Wait) têm suporte para operações de coleta sem bloqueio.

Requisitos

Produto

Microsoft MPI v6

parâmetro

Mpi.h; Mpif.h

Biblioteca

Msmpi.lib

DLL

Msmpi.dll

Confira também

Funções coletivas de MPI

MPI_Datatype

MPI_Gather

MPI_Test

MPI_Testall

MPI_Testany

MPI_Testsome

MPI_Wait

MPI_Waitall

MPI_Waitany

MPI_Waitsome