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


функция MPI_Ibcast

Передает сообщение из процесса с рангом "root" во все остальные процессы коммуникации в неблокирующий способ.

Синтаксис

int MPIAPI MPI_Ibcast(
  _Inout_  void        *buffer,
  _In_    int          count,
  _In_    MPI_Datatype datatype,
  _In_    int          root,
  _In_    MPI_Comm     comm,
  _Out_   MPI_Request  *request
);

Параметры

  • буфер [in, out]
    Указатель на буфер данных. В процессе, указанном параметром корневого, буфер содержит данные для трансляции. Во всех остальных процессах в коммуникаторе, указанном параметром comm, буфер получает данные, транслироваемые корневым процессом. буфер состоит из числа последовательных элементов MPI_Datatype, указанных дескриптором типа данных . Длина сообщения указана с точки зрения количества элементов, а не числа байтов.

  • счетчик [in]
    Количество элементов данных в буфере. Если параметр счетчика равен нулю, часть данных сообщения пуста.

  • тип данных [in]
    Дескриптор MPI_Datatype, представляющий тип данных каждого элемента в буфере.

  • корневой [in]
    Ранг процесса в MPI_Comm отправки буфера .

  • comm [in]
    Дескриптор MPI_Comm коммуникации.

  • запрос [out]
    MPI_Request дескриптор, представляющий операцию обмена данными..

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

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

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

Фортран

    MPI_IBCAST(BUFFER, COUNT, DATATYPE, ROOT, COMM, REQUEST, IERROR)
        <type> BUFFER(*)  
        INTEGER COUNT, DATATYPE, ROOT, COMM, REQUEST, IERROR

Замечания

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

Все вызовы завершения (например, MPI_Wait) поддерживаются для неблокирующих широковещательных операций.

Требования

Продукт

Microsoft MPI версии 6

Заголовок

Mpi.h; Mpif.h

Библиотека

Msmpi.lib

Библиотека dll

Msmpi.dll

См. также

коллективных функций MPI

MPI_Bcast

MPI_Datatype

MPI_Test

MPI_Testall

MPI_Testany

MPI_Testsome

MPI_Wait

MPI_Waitall

MPI_Waitany

MPI_Waitsome

MPI_Comm