Evaluating element-wise expressions with PyCUDA
The PyCuda.elementwise.ElementwiseKernel
function allows us to execute the kernel on complex expressions that are made of one or more operands into a single computational step, which is as follows:
ElementwiseKernel(arguments,operation,name,optional_parameters)
Here, we note that:
arguments
: This is a C argument list of all the parameters that are involved in the kernel's execution.operation
: This is the operation that is to be executed on the specified arguments. If the argument is a vector, each operation will be performed for each entry.name
: This is the kernel's name.optional_parameters
: These are the compilation directives that are not used in the following example.
How to do it…
In this example, we'll show you the typical use of the ElementwiseKernel
call. We have two vectors of 50 elements, input_vector_a
and input_vector_b
, that are built in a random way. The task here is to evaluate their linear combination.
The code for this is as follows...