Главная страница
Навигация по странице:

  • MPI_Allgather

  • MPI_IN_PLACE

  • Функция

  • Коллоквиум сұрақтары жауаптары (2) (копия). Коллоквиум сратары


    Скачать 2 Mb.
    НазваниеКоллоквиум сратары
    Дата15.02.2022
    Размер2 Mb.
    Формат файлаdocx
    Имя файлаКоллоквиум сұрақтары жауаптары (2) (копия).docx
    ТипДокументы
    #363200
    страница5 из 10
    1   2   3   4   5   6   7   8   9   10

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


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

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

    Функция MPI_Allgather


    Собирает данные от всех членов группы и отправляет данные всем членам группы. Функция MPI_Allgather аналогична функции MPI_Gather, за исключением того, что она отправляет данные всем процессам, а не только в корневой каталог. Правила использования MPI_Allgather соответствуют правилам MPI_Gather.

    int MPIAPI MPI_Allgather(

    _In_  void         *sendbuf,

    _In_  int          sendcount,

    _In_  MPI_Datatype sendtype,

    _Out_ void         *recvbuf,

          int          recvcount,

          MPI_Datatype recvtype,

          MPI_Comm     comm

    );

    Параметры


    • sendbuf [в]
      Указатель на данные, которые должны быть отправлены всем процессам в группе. Количество и тип данных элементов в буфере указываются в параметрах sendcount и sendtype. Каждый элемент в буфере соответствует процессу в группе.

    Если параметр связи ссылается на внутрикоммуникатор, вы можете указать параметр на месте, указав MPI_IN_PLACE во всех процессах. Параметры sendcount и sendtype игнорируются. Каждый процесс вводит данные в соответствующий элемент буфера приема. n- й процесс отправляет данные в n-й элемент буфера приема.

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

    • sendtype [in]
      Тип данных MPI элементов в буфере отправки.

    • recvbuf [выход]
      Указатель на буфер, содержащий данные, полученные от каждого процесса. Количество и тип данных элементов в буфере указываются в параметрах recvcount и recvtype.

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

    • recvtype
      Тип данных MPI элементов в буфере приема.

    • связь
      Дескриптор коммуникатора MPI_Comm.

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


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

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

    Функция MPI_Allgatherv


    Собирает переменный объем данных от каждого члена группы и отправляет данные всем членам группы. Функция MPI_Allgatherv похожа на функциюMPI_Gatherv, за исключением того, что все процессы получают результат, а не только корень. Блок данных, отправленный из j-го процесса, принимается каждым процессом и помещается в j-й блок буфера recvbuf. Эти блоки не все должны быть одинакового размера.

    Синтаксис


    int MPIAPI MPI_Allgatherv(

    _In_  void         *sendbuf,

          int          sendcount,

          MPI_Datatype sendtype,

    _Out_ void         *recvbuf,

    _In_  int          *recvcounts,

    _In_  int          *displs,

          MPI_Datatype recvtype,

          MPI_Comm     comm

    );

    Параметры


    • sendbuf [в]
      Указатель на данные, которые должны быть отправлены всем процессам в группе. Количество и тип данных элементов в буфере указываются в параметрах sendcount и sendtype. Каждый элемент в буфере соответствует процессу в группе.

    Если параметр связи ссылается на внутрикоммуникатор, вы можете указать параметр на месте, указав MPI_IN_PLACE во всех процессах. Параметры sendcount и sendtype игнорируются. Каждый процесс вводит данные в соответствующий элемент буфера приема. n- й процесс отправляет данные в n-й элемент буфера приема.

    • количество отправок
      Количество элементов данных, которые этот процесс отправляет в буфер, указанное в параметре sendbuf. Если элемент в sendcount равен нулю, часть данных сообщения из этого процесса пуста.

    • тип отправки
      Тип данных MPI элементов в буфере отправки.

    • recvbuf [выход]
      Указатель на буфер, содержащий данные, полученные от каждого процесса. Количество и тип данных элементов в буфере указываются в параметрах recvcount и recvtype.

    • пересчеты [в]
      Количество элементов данных от каждого процесса коммуникатора в буфере приема.

    • смещается [в]
      Расположение относительно параметра recvbuf данных от каждого процесса коммуникатора.

    В массивах параметров recvbuf, recvcountsи displs n-й элемент каждого массива ссылается на данные, полученные от n-го процесса коммуникатора.

    • recvtype
      Тип данных MPI каждого элемента в буфере.

    • связь
      Дескриптор коммуникатора MPI_Comm.
    1   2   3   4   5   6   7   8   9   10


    написать администратору сайта