Forums - Adreno 330: clFinish() blocks if openCl writes in 511th variable

2 posts / 0 new
Last post
Adreno 330: clFinish() blocks if openCl writes in 511th variable
gdanel
Join Date: 5 Apr 13
Posts: 1
Posted: Mon, 2013-04-22 04:43

Hello everyone,

I'm currently trying to execute some native OpenCl algorithms on an Adreno 330 device. Code is auto generated and use a lot of private variables. Smaller algorithms are fine, but I'm having trouble with bigger ones. I've managed to reduce the code and to get a small (and dumb) example which blocks during execution.

Here is a pseudo-code of what I'm trying to do:

input = 1000;

// OpenCL code

Algo(Input, Output) {

int v1,v2,...,v511,v512,v513,v514;

v511 = 1;

output = input;

}

// End of OpenCl

clFinish();

print output

 

If in my OpenCl code I'm trying to write in the 511th or the 512th private variable, clFinish() blocks and never returns. If I write in v510 or v513, the execution is fine. If I declare variables as __local, the execution is fine too (but this is not a valid solution for my needs).

Attached is the host.c and algo.cl I use for my tests.

Thank you for your help !

  • Up0
  • Down0
Vincent StreamC...
Join Date: 4 Jan 13
Location: Haarlem
Posts: 3
Posted: Thu, 2013-05-30 14:18

Checked CL_DEVICE_LOCAL_MEM_SIZE? What did it say? Is sizeof(int)*512 smaller?

  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.