Replies: 1 comment 2 replies
-
Hi @al42and, thanks for those questions/feedback I will tag @sarnex here to cover GRF spec and @Pennycook and @gmlueck to cover generic kernel properties spec. My guess about (3) is that we didn't want the extension to be widely adopted unless it is stabilized and therefore made it "hidden" by default. But I know for sure that we failed to prevent it from being widely adopted :) (2) looks like a solid piece of feedback to me that should be thought of and most probably incorporated into the extension somehow. My understanding is that it is a compile-time property, so having an RT query for supported GRF modes won't allow you to grab that result and pass it to the property, but it at least should allow you to select which kernel to submit. I also think that making it UB to submit a kernel with unsupported GRF was a wrong decision - we should instead throw (async?) exception saying that this mode is not supported by a device, similar to handling of other optional features like Can't say anything about (1), that's why I tagged all those folks here. |
Beta Was this translation helpful? Give feedback.
-
Hi!
I have a few questions about the
sycl_ext_intel_grf_size
extension (andsycl_ext_oneapi_kernel_properties
, which it depends upon)What are the plans for "stabilizing" the sycl_ext_intel_grf_size extension? We are encountering a performance regression in a production code due to auto GRF size selection in the recent oneAPI release (https://gitlab.com/gromacs/gromacs/-/issues/5105#note_2010476851), and forcing small GRF for the kernel fixes it, but we're wary of using an experimental extension in a production code.
Is there a way to query GRF sizes supported by the device? The spec says "Providing a value not consistent with the supported values may result in undefined behavior", so it would be nice to be able to programmatically determine which sizes are supported instead of hardcoding this logic in the application.
The spec says "An implementation supporting this extension must predefine the macro
SYCL_EXT_INTEL_GRF_SIZE
[...]", but oneAPI does not do that unless you manually include<sycl/ext/intel/experimental/grf_size_properties.hpp>
in your code (as it's not among the extensions included directly or indirectly insycl/sycl.hpp
).Beta Was this translation helpful? Give feedback.
All reactions