I'm trying to hunt down spills in my kernel.
Is this byte value per work item, sub_group or work_group?
I ask because I'm seeing a consistent "2048" returned by this query.
Also, what GEN instruction(s) indicate spillage? Is it SENDS?
For our current devices, it's the size of spill memory in bytes, per subgroup, and you'll currently always see "powers of two" returned from this query (1K, 2K, 4K, etc) since this is the granularity at which we manage spill memory.
For more information, search for "Per Thread Scratch Space" in MEDIA_VFE_STATE here:
The spill/fill instructions are "sends", but they'll be a different type of "send" than your usual I/O messages. You can find more information by searching the PRM for "scratch block read" and "scratch block write".
This is helpful because it confirms that the kernel is spilling... now to find out why!
Maybe this is something that could/should be reported by the IOC compiler?