Прагма, которая сопоставляет for
- циклы к ядрам графического процессора
coder.gpu.kernel()
coder.gpu.kernel(B,T)
coder.gpu.kernel(B,T,M,name)
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®.