다음을 통해 공유


MPI_Win_lock 함수

대상 프로세스에서 RMA 액세스 Epoch를 시작합니다.

구문

int MPIAPI MPI_Win_lock(
   int     lock_type,
   int     rank,
   int     assert,
   MPI_Win win
);

매개 변수

  • lock_type
    다른 프로세스가 동시에 대상 창에 액세스할 수 있는지 여부를 나타냅니다( MPI_LOCK_SHARED 경우)(MPI_LOCK_EXCLUSIVE).

  • rank
    잠긴 창의 순위입니다.

  • 주장
    이 호출을 최적화하는 데 사용됩니다. 0은 기본값으로 사용할 수 있습니다.

  • 승리
    Window 개체입니다.

반환 값

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

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

Fortran

    MPI_WIN_LOCK(LOCK_TYPE, RANK, ASSERT, WIN, IERROR)
        INTEGER LOCK_TYPE, RANK, ASSERT, WIN, IERROR

설명

이 루틴의 이름은 오해의 소지가 있습니다. 특히 대상 프로세스가 호출 프로세스인 경우를 제외하고 이 루틴은 차단할 필요가 없습니다.

구현은 MPI_Alloc_mem 할당된 메모리의 창에 대한 잠금 호출로 동기화되는 RMA 통신의 사용을 제한할 수 있습니다. 잠금은 이러한 메모리에서만 이식적으로 사용할 수 있습니다.

assert 인수는 구현이 MPI_Win_fence 작업을 최적화하는 데 사용할 수 있는 펜스에 대한 특수 조건을 나타내는 데 사용됩니다. 값 0은 항상 정확합니다. 다른 어설션 값은 ORed를 함께 사용할 수 있습니다. MPI_Win_fence 유효한 어설션은 다음과 같습니다.

  • MPI_MODE_NOCHECK - 호출자가 창 잠금을 보유하는 동안 다른 프로세스가 보유하지 않거나 충돌하는 잠금을 획득하려고 시도합니다. 이는 다른 방법으로 상호 배제를 수행할 때 유용하지만 잠금 및 잠금 해제 호출에 연결할 수 있는 일관성 작업이 여전히 필요합니다.

요구 사항

제품

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

헤더

Mpi.h; Mpif.h

라이브러리

Msmpi.lib

DLL

Msmpi.dll

추가 정보

MPI One-Sided Communications Functions