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


функция MPI_Win_allocate_shared

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

Синтаксис

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
    Размер локальной единицы для смещения в байтах.

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

  • Comm
    Интра-коммуникатор.

  • 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. Пользователь несет ответственность за то, чтобы коммуникатор представлял группу процессов, которые могут создать сегмент общей памяти, к которому могут получить доступ все процессы в группе.

Требования

Продукт

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