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