cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

Marix
Adept II

vload vs. cache

vloadn does not compile with const * resrict

Playing around with the new features in SDK 2.4 I found the following problem when trying to utilize both, vector memory instructions and L1/L2 cache.

My code utilizes vload to enable SSE-code generation and better VLIW-filling as described in Section 4.15.5 of the APP OpenCL Programming Guide. However when trying to utilize L1/L2 cache by making the pointers to input buffers const * restrict the compiler produces the following error:

error: bad argument type to opencl vload/vstore:
expected pointer to scalar with addrSpace
global/local/private/constant(vload only)
accumulator += vload4( i, in );

I want to add, that I can currently work around the problem using -fno-alias. However this is, IMHO, very hacky as it seperates the information from the code and only works in the simply cases that there are no aliasing pointers anywhere in the application.

 

error: bad argument type to opencl vload/vstore: expected pointer to scalar with addrSpace global/local/private/constant(vload only) accumulator += vload4( i, in );

0 Likes
1 Reply

Marix,
Thanks for reporting the issue, I will see that it gets fixed.
0 Likes