cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

Gunter
Journeyman III

Cached reads from global buffer

I have two kernels running one after the other. Kernel_A passes results to Kernel_B via a global buffer. Kernel_B only reads from this buffer, never writes to it. Is there a way I can make Kernel_B treat this global buffer as cacheable? If so, how?

The manual says:

global buffer:

"Memory space containing the arbitrary address locations to which uncached kernel outputs are written. Can be read either cached or uncached. When read in uncached mode, it is known as mem-import. Allows applications the flexibility to read from and write to arbitrary locations in input buffers and output buffers, respectively."

Thx.

0 Likes
3 Replies
himanshu_gautam
Grandmaster

Gunter,

AFAIK,__global buffers are always cacheable.

Can you please quote the source of the manuel you are refering to.

0 Likes
Gunter
Journeyman III

It's only a short note in the glossary of both the IL reference guide, July 2010, v.2.0d, and Stream Computing programming guide, rev2.01.

So, correspondingly, I'm using CAL +IL.

In the example of the post above, if I allocate the resource with the GLOBAL_BUFFER-flag, and run only Kernel_B, I get 0% hitrate. If I omit that flag, I get 50% hitrate (and of course a shorter runtime).

Thx.

0 Likes

Gunter,
Currently there is no way to specify that a read from a UAV is cacheable. This will be fixed in an upcoming release by specifying the '_cached' flag on a UAV instruction.
0 Likes