编译指示映射为
-循环到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, 1)
是一个数组,在网格中定义块的数量沿维x
和y
(z
不曾用过)。T (Tx,泰,Tz)
是一个沿维度定义块中线程数的数组吗x
,y
, 和z
。
for的值为-1B
和T
表示GPU Coder™必须自动推断网格和块的尺寸。的coder.gpu.kernel
Pragma为无效网格和块尺寸生成错误。
coder.gpu.kernel (B T M,名称)
预计相同B
和T
参数。您可以指定可选参数米
和的名字
。米
是一个正整数,指定每个流多处理器的最小块数。有时,增加米
可以减少内核内的寄存器使用,并改进内核占用。for的值为-1米
表示GPU编码器必须使用默认值1。的名字
是一个字符数组,允许您自定义生成的内核的名称。
指定内核注释会覆盖所有并行循环分析检查。在并行循环分析无法证明所有迭代都是相互独立的情况下,这种重写允许并行化循环。首先,确保循环的并行化是安全的。
此功能是代码生成函数。它在matlab中没有任何影响®。
codegen
|coder.gpu.constantMemory
|coder.gpu.kernelfun
|coder.gpu.nokernel
|gpucoder.reduce.reduce.
|gpucoder.sort
|gpucoder.stencilKernel