feval

Оценка ядра на графическом процессоре

Синтаксис

feval(KERN, x1, ..., xn)
[y1, ..., ym] = feval(KERN, x1, ..., xn)

Описание

feval(KERN, x1, ..., xn) оценивает KERN ядра CUDA с заданными аргументами x1, ..., xn. Количество входных параметров, n, должно равняться значению NumRHSArguments свойство KERN, и их типы должны совпадать с описанием в ArgumentTypes свойство KERN. Входными данными могут быть регулярные данные MATLAB, массивы GPU или смесь этих двух.

[y1, ..., ym] = feval(KERN, x1, ..., xn) возвращает несколько выходные аргументы из оценки ядра. Каждый выходной аргумент соответствует значению входных входов неконстатного указателя в ядро CUDA после его выполнения. Выходы feval выполнение ядра на графическом процессоре всегда gpuArray type, даже если все входы являются данными из рабочего пространства MATLAB. Количество выходных аргументов, m, не должен превышать значение MaxNumLHSArguments свойство KERN.

Примеры

Если ядро CUDA в файле CU имеет следующую сигнатуру:

void myKernel(const float * pIn, float * pInOut1, float * pInOut2)

Соответствующий объект ядра в MATLAB тогда имеет свойства:

MaxNumLHSArguments: 2
   NumRHSArguments: 3
     ArgumentTypes: {'in single vector'  ...
                     'inout single vector' 'inout single vector'}

Можно использовать feval на ядре этого кода (KERN) с синтаксисом:

[y1, y2] = feval(KERN, x1, x2, x3)    

Три входных параметров, x1, x2, и x3, соответствуют трем аргументам, которые передаются в функцию CUDA. Выходные аргументы, y1 и y2, являются типами gpuArray и соответствуют значениям pInOut1 и pInOut2 после выполнения ядра CUDA.

Введенный в R2010b