[SYCL][NATIVECPU] Add Native CPU specific property mechanism and nd_range property #16152
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds a mechanism to process Native CPU-specific kernel properties, and uses that mechanism to process a kernel property to check whether or not a kernel uses features provided by
sycl::nd_range
(e.g.get_local_id
, local memory,workgroup_barrier
).This information is employed when enqueueing the kernel: if the kernel doesn't use
nd_range
features, we can restructure the nd_range, allowing us to pack more work items into a work group, which plays well with the vectorization/scheduling process used by Native CPU.In particular this PR:
CheckNDRangeSYCLNativeCPU
pass which checks if the kernels uses features from annd_range
SYCL/native cpu properties
section in the properties file, which will contain kernel properties specific to Native CPU.UR PR: oneapi-src/unified-runtime#2367