exponenta event banner

feval

Оценка ядра на GPU

Синтаксис

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

Описание

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

[y1, ..., ym] = feval(KERN, x1, ..., xn) возвращает несколько выходных аргументов из вычисления ядра. Каждый выходной аргумент соответствует значению ввода указателя, отличного от const, в ядро CUDA после его выполнения. Выходные данные feval запуск ядра на GPU всегда gpuArray введите, даже если все входные данные являются данными из рабочего пространства 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