Прагматика, которая отображает for-закольцовывается в ядра GPU
coder.gpu.kernel() является прагматикой уровня цикла, которую необходимо поместить непосредственно перед циклом for. Он генерирует ядро с размерами, вычисленными на основе параметров цикла.
Примечание
coder.gpu.kernel pragma переопределяет все проверки анализа параллельных контуров, выполняемые программным обеспечением. Использовать coder.gpu.kernelfun сначала перед использованием более расширенных функциональных возможностей coder.gpu.kernel прагматика.
coder.gpu.kernel(B,T) является прагматикой уровня цикла, которую необходимо поместить непосредственно перед циклом for. Он создает ядро с размерами, указанными в B и T. B[Bx,By,1] - массив, определяющий количество блоков в сетке вдоль размеров; x и y (z не используется). T[Tx,Ty,Tz] массив, определяющий количество нитей в блоке вдоль размеров x, y, и z.
Значение -1 для B и T указывает на то, что Coder™ графического процессора должны автоматически выводить размеры сетки и блока. coder.gpu.kernel pragma создает ошибки для недопустимых размеров сетки и блока.
coder.gpu.kernel(B,T,M,name) ожидает то же самое B и T аргументы. Можно указать необязательные аргументы M и name. M является положительным целым числом, определяющим минимальное количество блоков на потоковый многопроцессор. Иногда, увеличивается M может уменьшить использование регистров в ядре и улучшить занятость ядра. Значение -1 для M указывает, что кодер графического процессора должен использовать значение по умолчанию 1. name - символьный массив, позволяющий настраивать имя созданного ядра.
Указание pragma ядра переопределяет все проверки анализа параллельных циклов. Это переопределение позволяет параллелизировать циклы в ситуациях, когда анализ параллельных циклов не может доказать, что все итерации независимы друг от друга. Во-первых, убедитесь, что цикл безопасен для параллелизма.
Эта функция является функцией генерации кода. Он не влияет на MATLAB ®.
codegen | coder.gpu.constantMemory | coder.gpu.kernelfun | coder.gpu.nokernel | gpucoder.reduce | gpucoder.sort | gpucoder.stencilKernel