Средства программирования для многопроцессорных вычислительных систем. Немнюгин C.А. - 54 стр.

UptoLike

Составители: 

54
Входные
параметры
:
function
пользовательская
функция
;
commute
флаг
,
которому
присваивается
значение
"
истина
",
если
операция
коммутативна
(
результат
не
зависит
от
порядка
операндов
).
Описание
типа
пользовательской
функции
выглядит
следующим
образом
:
typedef void (MPI_User_function)(void *a, void *b, int *len,
MPI_Datatype *dtype)
Здесь
операция
определяется
так
:
b[I] = a[I] op b[I]
для
I = 0, …,
len
– 1.
Таблица 3.
Предопределенные
операции
приведения
MPI
Операция Описание
MPI_MAX
Определение
максимальных
значений
элементов
одномерных
массивов
целого
или
вещественного
типа
MPI_MIN
Определение
минимальных
значений
элементов
одномерных
массивов
целого
или
вещественного
типа
MPI_SUM
Вычисление
суммы
элементов
одномерных
массивов
целого
,
вещественного
или
комплексного
типа
MPI_PROD
Вычисление
поэлементного
произведения
одномерных
массивов
целого
,
вещественного
или
комплексного
типа
MPI_LAND
Логическое
"
И
"
MPI_BAND
Битовое
"
И
"
MPI_LOR
Логическое
"
ИЛИ
"
MPI_BOR
Битовое
"
ИЛИ
"
MPI_LXOR
Логическое
исключающее
"
ИЛИ
"
MPI_BXOR
Битовое
исключающее
"
ИЛИ
"
MPI_MAXLOC
Максимальные
значения
элементов
одномерных
массивов
и
их
индексы
MPI_MINLOC
Минимальные
значения
элементов
одномерных
массивов
и
их
индексы
Удаление
пользовательской
функции
int MPI_Op_free(MPI_Op *op)
MPI_OP_FREE(OP, IERR)
После
завершения
вызова
op
присваивается
значение
MPI_OP_NULL
.
Одновременные
сбор
и
распределение
данных
int MPI_Reduce_scatter(void *sendbuf, void *rcvbuf, int *rcvcounts,
MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)