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 |