summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomas Farago <sensej007@email.cz>2021-01-28 09:56:25 +0100
committerTomas Farago <sensej007@email.cz>2021-01-28 09:56:25 +0100
commitcf4d5c4a8505da6a18a99cfbe3512eb7c0fb6dd6 (patch)
tree58092210b221587725d2c0ebdd733b16633eee5c
parentb4802630658c905520e79ac6bdf32ee46e1857a1 (diff)
downloadufo-filters-cf4d5c4a8505da6a18a99cfbe3512eb7c0fb6dd6.tar.gz
ufo-filters-cf4d5c4a8505da6a18a99cfbe3512eb7c0fb6dd6.tar.bz2
ufo-filters-cf4d5c4a8505da6a18a99cfbe3512eb7c0fb6dd6.tar.xz
ufo-filters-cf4d5c4a8505da6a18a99cfbe3512eb7c0fb6dd6.zip
opencl.cl: Add add, multiply and divide
-rw-r--r--src/kernels/opencl.cl27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/kernels/opencl.cl b/src/kernels/opencl.cl
index f71d6fa..ab35011 100644
--- a/src/kernels/opencl.cl
+++ b/src/kernels/opencl.cl
@@ -118,3 +118,30 @@ diff (global float *x,
const size_t idx = get_global_id (1) * get_global_size (0) + get_global_id (0);
output[idx] = x[idx] - y[idx];
}
+
+kernel void
+add (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];
+}
+
+kernel void
+multiply (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];
+}
+
+kernel void
+divide (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];
+}