feval

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

Синтаксис

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

Описание

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

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

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

Смотрите также

| | |

Представленный в R2010b