다음을 통해 공유


MPI_Win_allocate_shared 함수

메모리를 할당하는 MPI Window 개체를 만들고, 직접 로드/저장소 지침을 사용하여 창 그룹의 모든 프로세스에서 할당된 메모리에 액세스할 수 있습니다.

구문

int MPIAPI MPI_Win_allocate_shared(
        MPI_Aint size,
        int      disp_unit,
        MPI_Info info,
        MPI_Comm comm,
  _Out_ void     *baseptr,
  _Out_ MPI_Win  *win
);

매개 변수

  • size
    메모리 창의 크기(바이트)입니다.

  • disp_unit
    변위의 로컬 단위 크기(바이트)입니다.

  • 정보
    정보 인수입니다.

  • 통신
    통신 내.

  • baseptr [out]
    로컬 할당 창 세그먼트의 주소입니다.

  • win [out]
    호출에서 반환된 Window 개체입니다.

반환 값

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

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

Fortran

    MPI_WIN_ALLOCATE_SHARED(SIZE, DISP_UNIT, INFO, COMM, BASEPTR, WIN, IERROR)
        <type> BASEPTR(*)
        INTEGER(KIND=MPI_ADDRESS_KIND) SIZE
        INTEGER DISP_UNIT, INFO, COMM, WIN, IERROR

설명

이는 comm 그룹의 모든 프로세스에서 실행되는 집단 호출입니다. 각 프로세스에서 comm의 모든 프로세스 간에 공유되는 최소 크기 바이트의 메모리를 할당하고 호출 프로세스에서 로드/저장소 액세스에 사용할 수 있는 baseptr의 로컬로 할당된 세그먼트에 대한 포인터를 반환합니다. 로컬로 할당된 메모리는 원격 프로세스에 의한 부하/저장소 액세스의 대상이 될 수 있습니다. 함수 MPI_Win_shared_query 사용하여 다른 프로세스에 대한 기본 포인터를 쿼리할 수 있습니다. 또한 호출은 COMM의 모든 프로세스에서 RMA 작업을 수행하는 데 사용할 수 있는 창 개체를 반환합니다. size 인수는 각 프로세스에서 다를 수 있으며 크기 = 0은 유효합니다. Communicator comm 이 그룹의 모든 프로세스에서 액세스할 수 있는 공유 메모리 세그먼트를 만들 수 있는 프로세스 그룹을 나타내는지 확인하는 것은 사용자의 책임입니다.

요구 사항

제품

HPC 팩 2012 MS-MPI 재배포 가능 패키지, HPC 팩 2008 R2 MS-MPI 재배포 가능 패키지, HPC Pack 2008 MS-MPI 재배포 가능 패키지 또는 HPC 팩 2008 클라이언트 유틸리티

헤더

Mpi.h; Mpif.h

라이브러리

Msmpi.lib

DLL

Msmpi.dll

추가 정보

MPI One-Sided Communications Functions