cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

KNeumann
Adept II

register usage in kernel again...

Hi,

I have a problem with the register usage of one of my kernels again.

Now I have a kernel which needs roughly 2500 Byte register space.

I am running on a Radeon HD6450 where each Compute Unit has 256 KByte of register space available.

The kernel has the following line before the actual __kernel... definition:

__attribute__((reqd_work_group_size(64, 1, 1))).

My aim here is to let the compiler use the maximum number of registers, because I will execute the kernel with only 128 work-items, or 2 wavefronts. And each wavefront should run on one compute unit.

The problem is now, that the kernel uses spilled registers, which it shouldn't as far as I can see.

Because:

- 2500 Byte register space per work-item

- 64 work-items per wavefront

- gives: 160'000 Byte register space per wavefront

and with 256 KByte available per compute-unit, there is more than enough, so I don't understand the spill

Can anyone point out where I lie wrong?

Thanks

0 Likes
14 Replies