Files
vortex/tests/opencl/psort/kernel.cl
Blaise Tine 3a0a9edaca minor update
2021-06-28 11:20:07 -04:00

14 lines
301 B
Common Lisp

__kernel void psort (__global const float *in, __global float *out)
{
int gid = get_global_id(0);
int n = get_global_size(0);
float ref = in[gid];
int pos = 0;
for (int i = 0; i < n; ++i) {
float cur = in[i];
pos += (cur < ref) || (cur == ref && i < gid);
}
out[pos] = ref;
}