函数宏指令
在GPU上评估内核
语法
函数宏指令(科恩,x1,…xn)
(日元…,ym] = feval(KERN, x1, ..., xn)
描述
函数宏指令(科恩,x1,…xn)
计算CUDA内核克恩
对于给定的参数x1,…, xn
.输入参数的数量,n
,必须等于的值NumRHSArguments
的属性克恩
,且类型必须符合ArgumentTypes
的属性克恩
.输入数据可以是常规的MATLAB数据、GPU阵列,或者两者的混合。
(日元…,ym] = feval(KERN, x1, ..., xn)
从内核的求值返回多个输出参数。每个输出参数都对应于CUDA内核执行后的非const指针输入的值。的输出函数宏指令
在GPU上运行内核总是gpuArray
类型,即使所有输入都是来自MATLAB工作区的数据。输出参数的数量,米
,不得超过的值MaxNumLHSArguments
的属性克恩
.
例子
如果CU文件中的CUDA内核具有以下签名:
(const float * pIn, float * pInOut1, float * pInOut2)
MATLAB中相应的内核对象具有如下属性:
MaxNumLHSArguments: 2 NumRHSArguments: 3 ArgumentTypes: {'in single vector'…'inout单向量' 'inout单向量'}
您可以使用函数宏指令
在此代码的内核(克恩
)的语法:
[y1, y2] = feval(KERN, x1, x2, x3)
这三个输入参数,x1
,x2
,x3
,对应于传入CUDA函数的三个参数。输出参数,日元
而且y2
、为gpuArray类型,对应于的值pInOut1
而且pInOut2
在CUDA内核执行之后。
版本历史
介绍了R2010b