On Sat, Mar 23, 2013 at 02:11:37PM -0400, Peter Colberg wrote:
> If this transformation needs to be done at launch time anyway, we
> could convert __local and __constant kernel arguments to automatic
> arrays.

To be precise, the LLVM IR of an OpenCL kernel such as

  __kernel void func(__global uint *a,
                     __local uint *b,
                     __local uint *c,
                     __constant uint *d,
                     __constant uint *e)
  {

would be transformed to the IR equivalent of

  __constant uint d[d_size];
  __constant uint e[e_size];

  __kernel void func(__global uint *a)
  {
    __local uint b[b_size];
    __local uint c[c_size];

Pointers to the __constant arrays would be obtained using
cuModuleGetGlobal() and initialised using cuMemcpyDtoD().

Peter

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
pocl-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pocl-devel

Reply via email to