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


функция MPI_Win_allocate

Создает объект Окна MPI, который выделяет память.

Синтаксис

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

Параметры

  • size
    Размер окна памяти в байтах.

  • disp_unit
    Размер локальной единицы для смещения в байтах.

  • сведения
    Аргумент Info.

  • Comm
    Communicator.

  • baseptr [out]
    Начальный адрес окна памяти.

  • win [out]
    Объект Window, возвращаемый вызовом .

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

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

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

Fortran

    MPI_WIN_ALLOCATE(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 для выполнения операций RMA. Возвращаемая память состоит из байтов, локальных для каждого процесса, начиная с baseptr адреса, и связана с окном, как если бы пользователь MPI_Win_create в существующей памяти. Аргумент size может отличаться в каждом процессе, и допустимый размер = 0 ; однако библиотека может выделить и предоставить больше памяти, чтобы создать быстрое, глобально симметричное выделение.

Требования

Продукт

Распространяемый пакет 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