다음을 통해 공유


MPI_Iscatter 함수

비차단 방식으로 그룹의 모든 멤버에 한 멤버의 데이터를 분산합니다. 이 함수는 MPI_Igather함수에서 수행하는 작업의 역방향을 수행합니다.

구문

int MPIAPI MPI_Iscatter(
  _In_opt_  const void         *sendbuf,
  _In_             int         sendcount,
  _In_            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, optional]
    루트 프로세스로 보낼 데이터가 포함된 버퍼에 대한 포인터입니다.

    이 매개 변수는 루트가 아닌 모든 프로세스에 대해 무시됩니다.

    comm 매개 변수가 명령 내 매개 변수를 참조하는 경우 루트 프로세스에서 MPI_IN_PLACE 지정하여 현재 위치 옵션을 지정할 수 있습니다. recvcountrecvtype 매개 변수는 무시됩니다. 분산된 벡터는 여전히 n 세그먼트를 포함하는 것으로 간주됩니다. 여기서 n 은 그룹 크기입니다. 루트 프로세스에 해당하는 세그먼트는 이동되지 않습니다.

  • sendcount [in]
    송신 버퍼의 요소 수입니다. sendcount가 0이면 메시지의 데이터 부분이 비어 있습니다.

    이 매개 변수는 루트가 아닌 모든 프로세스에 대해 무시됩니다.

  • sendtype [in]
    버퍼에 있는 각 요소의 데이터 형식입니다.

    이 매개 변수는 루트가 아닌 모든 프로세스에 대해 무시됩니다.

  • recvbuf [out, optional]
    각 프로세스에서 수신되는 데이터를 포함하는 버퍼에 대한 핸들입니다. 버퍼에 있는 요소의 수와 데이터 형식은 recvcountrecvtype 매개 변수에 지정됩니다.

  • recvcount [in]
    수신 버퍼의 요소 수입니다. 개수가 0이면 메시지의 데이터 부분이 비어 있습니다.

  • recvtype [in]
    수신 버퍼에 있는 요소의 MPI 데이터 형식입니다.

  • root [in]
    지정된 통신기 내의 수신 프로세스의 순위입니다.

  • comm [in]
    MPI_Comm 통신기 핸들입니다.

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

반환 값

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

Fortran에서 반환 값은 IERROR 매개 변수에 저장됩니다.

Fortran

    MPI_ISCATTER(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 v7

헤더

Mpi.h; Mpif.h

라이브러리

Msmpi.lib

DLL

Msmpi.dll

추가 정보

MPI 집합 함수

MPI_Datatype

MPI_Scatter

MPI_Test

MPI_Testall

MPI_Testany

MPI_Testsome

MPI_Wait

MPI_Waitall

MPI_Waitany

MPI_Waitsome