- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm trying to hunt down spills in my kernel.
Is there a more detailed description of the CL_KERNEL_SPILL_MEM_SIZE_INTEL query (link)?
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?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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".
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ah, thanks!
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?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The feature request has been filed. Thanks for your helpful feedback on this.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page