summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/kernels.rst5
-rw-r--r--src/kernels/opencl.cl9
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];
+}