view example/fft/ppe/transpose.cc @ 1835:144e573b030b draft

fix fft
author Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
date Fri, 20 Dec 2013 03:00:32 +0900
parents b0376e1c51e9
children
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(0);

    unsigned int iid = ygid * n + xgid;
    unsigned int oid = xgid * n + ygid;

    dst[oid] = src[iid];

    return 0;
}