gpucoder.stencilKernel
(不推荐)创建CUDA模板函数的代码
gpucoder.stencilKernel
不推荐。使用stencilfun
代替。有关更多信息,请参见兼容性的考虑.
描述
B = gucoder。stencilKernel(乐趣,N [M],形状,param1, param2…)
应用函数有趣的
对每一个(M, N)
输入的滑动窗口一个
.函数有趣的
为每一个(M, N)
子矩阵的一个
并计算输出的一个元素B
.元素的索引对应于(M, N)
窗口。
有趣的
是用户定义函数的句柄,该函数返回与输入相同类型的标量输出。
C= FUN(X,param1,param2,…)
X
是(M, N)
原始输入的子矩阵一个
.X
是否可以在必要时进行零填充,例如在输入边界处一个
.X
窗口也可以是1-D的。
C
是标量值的输出有趣的
.的中心元素计算的输出(M, N)
数组X
和赋值给输出数组的对应元素B
.
param1, param2
是可选参数。传递这些参数,如果有趣的
除了输入窗口外,还需要任何其他参数。
窗口(M, N)
必须小于或等于的大小一个
的形状一个
.
如果一个
是一维行向量,那么窗口必须是(1, N)
.
如果一个
为一维列向量,则窗口必须为[N, 1]
.
形状
确定输出数组的大小B
.它可以有三种可能的值:
“相同”
-返回输出B
它的大小和一个
.“全部”
- (default)返回完整的输出。的大小B
>的大小一个
,即如果一个
大小为(x,y)。的大小B = [x +楼(M/2), y +楼(N/2)]
“有效”
-只返回输出中没有填充零的边缘的那些部分一个
.的大小B = [x - floor(M/2), y - floor(N/2)]
输入一个
必须是向量或矩阵,其数字类型由有趣的
.的班级B
是和班级一样的吗一个
.
代码生成只支持固定大小的输出。Shape和window必须是编译时常量,因为它们决定了输出的大小。
例子
限制
对于非常大的输入尺寸,
gpucoder.stencilKernel
函数可能产生CUDA代码,在数值上与MATLAB不匹配®模拟。在这种情况下,考虑减少输入的大小以产生准确的结果。