Files
opm-simulators/opm/simulators/linalg/gpubridge/opencl/kernels/vmul.cl
2024-11-04 10:47:34 +01:00

18 lines
442 B
Common Lisp

/// multiply vector with another vector and a scalar, element-wise
/// add result to a third vector
__kernel void vmul(
const double alpha,
__global double const *in1,
__global double const *in2,
__global double *out,
const int N)
{
unsigned int NUM_THREADS = get_global_size(0);
int idx = get_global_id(0);
while(idx < N){
out[idx] += alpha * in1[idx] * in2[idx];
idx += NUM_THREADS;
}
}