Оптимизированная реализация графического процессора для операций сокращения
агрегировал значения, существующие во входном массиве S
= gpucoder.reduce(A
,FUN
)A
к одному значению с помощью заданной функции обрабатывают FUN
. Выход S
скаляр.
принимает входной массив и cell-массив указателей на функцию. Это агрегировало значения, существующие во входном массиве к одному значению для каждого указателя на функцию, обеспеченного в массиве ячеек. Размер выхода 1 на n, где N является количеством указателей на функцию.S
= gpucoder.reduce(A
,{@FUN1,@FUN2,...})
Генератор кода использует shuffle
внутренние параметры, чтобы выполнить эффективное сокращение на графическом процессоре. Несколько указателей на функцию агрегированы в одном ядре на графическом процессоре.
gpucoder.reduce
не поддерживает входные массивы, которые имеют сложный тип данных.
Пользовательская функция должна принять два входных параметров и возвращает один выходной параметр. Тип входных параметров и выхода к функции должен совпадать с типом входного массива A
.
Пользовательская функция должна быть коммутативной и ассоциативной, в противном случае поведение не определено.
Для некоторых входных параметров, которые имеют целочисленный тип данных, сгенерированный код может содержать промежуточные расчеты, которые достигают насыщения. В таких случаях результаты сгенерированного кода не могут совпадать с результатами симуляции из MATLAB®.
codegen
| coder.gpu.kernel
| coder.gpu.kernelfun
| gpucoder.stencilKernel
| coder.gpu.constantMemory
| gpucoder.sort