AnsweredAssumed Answered

Troubles with OpenCL and iMX6Q Vivante

Question asked by Etienne Bougoin on May 28, 2014
Latest reply on Sep 16, 2015 by Shashank Shivakumar

Hi,

 

I'm trying to use OpenCL on a Sabrelite board based on iMx6 Q chip from element14. (soc reference : IMX6Q6AVT 10AC)

 

I have some weird troubles:

  • When I trace the max work items size i get this result:

 

Max work items dimensions: 3

Max work items size[0]:1024

Max work items size[1]:1024

Max work items size[2]:1024

Max work group size:1024

 

But when I try to run a kernel I got different limitations. For instance, with a very simply kernel just running this operation:

 

a[get_local_id(0)] = b[get_local_id(0)] + c[get_local_id(0];

 

I'm not able to run more than 128 work items / work group and the global work size is limited to 65536.

 

Why am I not able to run 1024 work items? Why I'm limited to 65536 for the global work size?


  • I'm trying to run a kernel that doing an image resample using OpenCL Image2D. To to this, my kernel is just calling the method read_image_f method for each pixels I want to write in the output buffer.

I encounter the same problem before but with no solution!

 

When my local work size is invalid, I reduce it and so I get the message that my global work size is invalid, so I reduce the global work size and I get the message that my local work size is invalid. For instance:

 

LWS = [8, 8, 0]  -> ok it's <= to 256

GWS = [256, 256, 0] -> ok it's <= 65536

 

------> INVALID GLOBAL WORK SIZE

 

LWS = [8, 8, 0]  -> ok it's <= to 256

GWS = [128, 128, 0] -> ok it's <= 65536

 

------> INVALID LOCAL WORK SIZE

 

LWS = [4, 4, 0]  -> ok it's <= to 256

GWS = [128, 128, 0] -> ok it's <= 65536

 

------> INVALID GLOBAL WORK SIZE

 

LWS = [1, 1, 0]  -> ok it's <= to 256

GWS = [1, 1, 0] -> ok it's <= 65536

 

------> INVALID GLOBAL WORK SIZE

 

So I don't understand how I can configure the execution dimensions to be compliant with the hardware.

 

For information, when I trace work group info for this last kernel, I got this informations:

 

Work group size : 48

Compile work group size 0 : 0

Compile work group size 2 : 0

Compile work group size 3 : 0

Local mem size : 0

Prefered work group size multiple : 16

Private mem size : 0

 

Thanks for any help!

 

Etienne

Outcomes