다음을 통해 공유


MPI_Igather 함수

비차단 방식으로 그룹의 모든 멤버에서 하나의 멤버로 데이터를 수집합니다.

구문

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
);

매개 변수

  • sendbuf [in]
    루트로 보낼 데이터를 포함하는 버퍼에 대한 포인터입니다. 버퍼는 sendtype 핸들로 표시된 MPI_Datatypesendcount 연속 요소로 구성됩니다. 메시지 길이는 바이트 수가 아닌 요소 수로 지정됩니다.

  • sendcount
    sendbufsendtype 요소 수입니다. 값이 0이면 메시지의 데이터 부분이 비어 있습니다.

  • sendtype
    sendbuf에 있는 각 요소의 데이터 형식을 나타내는 MPI_Datatype 핸들입니다.

  • recvbuf [out, optional]
    루트 프로세스에서 보낸 데이터(루트에서만 중요)를 포함하여 루트의 각 프로세스에서 받은 데이터를 포함하는 버퍼에 대한 포인터입니다. 모든 루트가 아닌 프로세스에 대해 수신 버퍼 recvbuf 가 무시됩니다. 루트 프로세스에서 recvbufrecvtype 핸들로 표시되는 MPI_Datatype 연속적인 recvcount 요소로 구성됩니다. 메시지 길이는 바이트 수가 아닌 요소 수로 지정됩니다.

  • recvcount [in]
    recvbufrecvtype 요소 수입니다. 값이 0이면 메시지의 데이터 부분이 비어 있습니다(루트에서만 중요).

  • recvtype [in]
    recvbuf에 있는 각 요소의 데이터 형식을 나타내는 MPI_Datatype 핸들입니다(루트에서만 중요).

  • root [in]
    MPI_Commcomm 내의 수신 프로세스의 순위입니다.

  • comm [in]
    MPI_Comm 커뮤니케이터 핸들입니다.

  • request [out]
    통신 작업을 나타내는 MPI_Request 핸들입니다.

반환 값

성공에 대한 MPI_SUCCESS 반환합니다. 그렇지 않으면 반환 값이 오류 코드입니다.

Fortran에서 반환 값은 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

설명

비차단 호출은 별도의 완료 호출에서 완료되어야 하는 집단 수집 작업을 시작합니다. 작업이 시작되면 참여 프로세스에서 계산 또는 기타 통신과 독립적으로 작업이 진행될 수 있습니다. 이러한 방식으로 비차단 수집 작업은 "백그라운드"에서 실행하여 수집 작업의 가능한 동기화 효과를 완화할 수 있습니다.

모든 완료 호출(예: MPI_Wait)은 비블로킹 수집 작업에 대해 지원됩니다.

요구 사항

제품

Microsoft MPI v6

헤더

Mpi.h; Mpif.h

라이브러리

Msmpi.lib

DLL

Msmpi.dll

추가 정보

MPI 집합 함수

MPI_Datatype

MPI_Gather

MPI_Test

MPI_Testall

MPI_Testany

MPI_Testsome

MPI_Wait

MPI_Waitall

MPI_Waitany

MPI_Waitsome