主要内容

函数宏指令

在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)

这三个输入参数,x1x2,x3,对应于传入CUDA函数的三个参数。输出参数,日元而且y2、为gpuArray类型,对应于的值pInOut1而且pInOut2在CUDA内核执行之后。

版本历史

介绍了R2010b

Baidu
map