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