Mercurial > hg > Game > Cerium
view example/fft/ppe/transpose.cc @ 1817:b0376e1c51e9 draft
use get_input & get_output
author | Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 13 Dec 2013 05:18:58 +0900 |
parents | 32bc4ea3557f |
children | 144e573b030b |
line wrap: on
line source
#include "transpose.h" #ifdef __APPLE__ #include <OpenCL/opencl.h> #else #include <CL/cl.h> #endif #include "Func.h" SchedDefineTask1(transpose,transpose); static int transpose(SchedTask* s,void* rbuf,void* wbuf) { cl_float2* src = (cl_float2*)s->get_input(rbuf,0); cl_float2* dst = (cl_float2*)s->get_output(wbuf,0); unsigned long xgid = s->x; // (unsigned long)s->get_param(0); unsigned long ygid = s->y; // (unsigned long)s->get_param(1); long n = (long)s->get_param(3); unsigned int iid = ygid * n + xgid; unsigned int oid = xgid * n + ygid; dst[oid] = src[iid]; return 0; }