Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- __kernel void reassemble(__global int *in,
- __global int *out,
- __global int *zeros,
- __global int *ones,
- int k,
- int n)
- {
- size_t idx = get_global_id(0);
- size_t tid = get_local_id(0);
- size_t dim = get_local_size(0);
- size_t gid = get_group_id(0);
- int t, index;
- if (idx < n) {
- t = in[idx];
- /*t = (v==((t>>k)&0x1));*/
- t = ((t>>k)&0x1);
- barrier(CLK_LOCAL_MEM_FENCE);
- if (t) {
- index = zeros[n-1] + ones[idx] - 1;
- } else {
- index = zeros[idx] - 1;
- }
- out[index] = in[idx];
- barrier(CLK_GLOBAL_MEM_FENCE);
- if (idx == 0) {
- __global int *tPtr = in;
- in = out;
- out = tPtr;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement