User`s guide

feval
11-93
feval
Evaluate kernel on GPU
Syntax
feval(KERN, x1, ..., xn)
[y1, ..., ym] = feval(KERN, x1, ..., xn)
Description
feval(KERN, x1, ..., xn) evaluates the CUDA kernel KERN with the given
arguments x1, ..., xn. The number of input arguments, n, must equal the value of
the NumRHSArguments property of KERN, and their types must match the description
in the ArgumentTypes property of KERN. The input data can be regular MATLAB data,
GPU arrays, or a mixture of the two.
[y1, ..., ym] = feval(KERN, x1, ..., xn) returns multiple output arguments
from the evaluation of the kernel. Each output argument corresponds to the value of
the non-const pointer inputs to the CUDA kernel after it has executed. The output from
feval running a kernel on the GPU is always gpuArray type, even if all the inputs are
data from the MATLAB workspace. The number of output arguments, m, must not exceed
the value of the MaxNumLHSArguments property of KERN.
Examples
If the CUDA kernel within a CU file has the following signature:
void myKernel(const float * pIn, float * pInOut1, float * pInOut2)
The corresponding kernel object in MATLAB then has the properties:
MaxNumLHSArguments: 2
NumRHSArguments: 3
ArgumentTypes: {'in single vector' ...
'inout single vector' 'inout single vector'}
You can use feval on this code's kernel (KERN) with the syntax: