Прагма, которая сопоставляет for
- циклы к ядрам графического процессора
coder.gpu.kernel()
прагма уровня цикла, которую необходимо сразу поместить перед циклом for. Это генерирует ядро с размерностями, вычисленными из параметров цикла.
Примечание
coder.gpu.kernel
прагма заменяет все аналитические проверки параллельного цикла, которые выполняет программное обеспечение. Использование 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
указывает, что GPU Coder™ должен вывести сетку и наибольшие главные размерения автоматически. coder.gpu.kernel
прагма генерирует ошибки для недопустимой сетки и наибольших главных размерений.
coder.gpu.kernel(B,T,M,name)
ожидает тот же B
и T
аргументы. Можно задать дополнительные аргументы M
и name
M
положительное целое число, задающее минимальное количество блоков на потоковую передачу многопроцессорной системы. Иногда, увеличение M
может уменьшать использование регистра в ядре и улучшить заполнение ядра. Значение-1 для M
указывает, что GPU Coder должен использовать значение по умолчанию 1. name
символьный массив, который позволяет вам настраивать имя сгенерированного ядра.
Определение прагмы ядра заменяет все аналитические проверки параллельного цикла. Это переопределение позволяет циклам быть параллелизированными в ситуациях, где анализ параллельного цикла не может доказать, что все итерации независимы друг от друга. Во-первых, гарантируйте, что цикл безопасно параллелизировать.
Эта функция является функцией генерации кода. Это не оказывает влияния в MATLAB®.
codegen
| coder.gpu.kernelfun
| gpucoder.stencilKernel
| coder.gpu.constantMemory
| gpucoder.reduce
| gpucoder.sort
| coder.gpu.nokernel