diff options
-rw-r--r-- | docs/kernels.rst | 5 | ||||
-rw-r--r-- | src/kernels/opencl.cl | 9 |
2 files changed, 13 insertions, 1 deletions
diff --git a/docs/kernels.rst b/docs/kernels.rst index cd0020c..ce485c9 100644 --- a/docs/kernels.rst +++ b/docs/kernels.rst @@ -18,9 +18,12 @@ This section lists all kernel functions that are available to the Smooths data within a local neighbourhood. +.. c:function:: void diff () + + Computes :math:`f(x, y) = x - y`. -.. _opencl-reduction-default-kernels: +.. _opencl-reduction-default-kernels: OpenCL reduction default kernels ================================ diff --git a/src/kernels/opencl.cl b/src/kernels/opencl.cl index 1cdfb93..23e45af 100644 --- a/src/kernels/opencl.cl +++ b/src/kernels/opencl.cl @@ -101,3 +101,12 @@ absorptivity (global float *input, const size_t idx = get_global_id (1) * get_global_size (0) + get_global_id (0); output[idx] = -log (input[idx]); } + +kernel void +diff (global float *x, + global float *y, + global float *output) +{ + const size_t idx = get_global_id (1) * get_global_size (0) + get_global_id (0); + output[idx] = x[idx] - y[idx]; +} |