다음을 통해 공유


MPI_Iscatterv 함수

구문

int MPIAPI MPI_Iscatterv(
  _In_opt_  const void         *sendbuf,
  _In_opt_  const int          sendcounts[],
  _In_opt_  const int          displs[],
  _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 은 그룹 크기입니다. 루트 프로세스에 해당하는 세그먼트는 이동되지 않습니다.

  • sendcounts[] [in, optional]
    각 프로세스에 보낼 요소 수입니다. sendcounts[i]가 0이면 해당 프로세스에 대한 메시지의 데이터 부분이 비어 있습니다.

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

  • displs[] [in, optional]
    각 통신기 프로세스에 보낼 데이터의 위치입니다. 배열의 각 위치는 sendbuf 배열의 해당 요소를 기준으로 합니다.

    sendbuf, sendcountsdispls 매개 변수 배열에서 각 배열의 n번째 요소는 n번째 통신기 프로세스로 보낼 데이터를 참조합니다.

    이 매개 변수는 루트 프로세스에서만 중요합니다.

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

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

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

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

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

  • root [in]
    지정된 전달자 내의 전송 프로세스에서 순위입니다.

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

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

반환 값

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

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

Fortran

    MPI_ISCATTERV(SENDBUF, SENDCOUNTS, DISPLS, SENDTYPE, RECVBUF, RECVCOUNT, RECVTYPE, ROOT, COMM, REQUEST, IERROR)
        <type> SENDBUF(*), RECVBUF(*)
        INTEGER SENDCOUNTS(*), DISPLS(*), 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_Scatterv

MPI_Test

MPI_Testall

MPI_Testany

MPI_Testsome

MPI_Wait

MPI_Waitall

MPI_Waitany

MPI_Waitsome