Поделиться через


функция MPI_Win_lock

Начинает эпоху доступа RMA в целевом процессе.

Синтаксис

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

Параметры

  • lock_type
    Указывает, могут ли другие процессы одновременно обращаться к целевому окну (если MPI_LOCK_SHARED) или нет (MPI_LOCK_EXCLUSIVE).

  • rank
    Ранг заблокированного окна.

  • Утверждать
    Используется для оптимизации этого вызова; по умолчанию может использоваться ноль.

  • Выиграть
    Объект Window.

Возвращаемое значение

Возвращает MPI_SUCCESS об успешном выполнении. В противном случае возвращаемое значение является кодом ошибки.

В Fortran возвращаемое значение хранится в параметре IERROR .

Fortran

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

Комментарии

Название этой процедуры вводит в заблуждение. В частности, эту подпрограмму не нужно блокировать, за исключением случаев, когда целевой процесс является вызывающим процессом.

Реализации могут ограничивать использование обмена данными по протоколу RMA, которое синхронизируется с помощью вызовов блокировки к окнам в памяти, выделенной MPI_Alloc_mem. Блокировки можно использовать только в такой памяти.

Аргумент assert используется для указания особых условий для ограждения, которые реализация может использовать для оптимизации операции MPI_Win_fence . Нулевое значение всегда является правильным. Другие значения утверждений могут быть илиed вместе. Утверждения, допустимые для MPI_Win_fence :

  • MPI_MODE_NOCHECK — другой процесс не удерживает или не будет пытаться получить конфликтующую блокировку, в то время как вызывающий объект удерживает блокировку окна. Это полезно, если взаимное исключение достигается другими средствами, но операции согласованности, которые могут быть присоединены к вызовам блокировки и разблокировки, по-прежнему требуются.

Требования

Продукт

Распространяемый пакет HPC 2012 MS-MPI, пакет HPC 2008 R2 распространяемый пакет MS-MPI, пакет HPC 2008 MS-MPI распространяемый пакет или служебные программы клиента ПАКЕТА HPC 2008

Заголовок

Mpi.h; Mpif.h

Библиотека

Msmpi.lib

DLL

Msmpi.dll

См. также раздел

Функции One-Sided связи MPI