Skip to content

Conversation

@PietroGhg
Copy link
Contributor

@PietroGhg PietroGhg commented Nov 21, 2024

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:

  • Adds a CheckNDRangeSYCLNativeCPU pass which checks if the kernels uses features from an nd_range
  • Adds a 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

Copy link
Contributor

@elizabethandrews elizabethandrews left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FE changes just adds a pass. LGTM

@PietroGhg
Copy link
Contributor Author

Hi @intel/dpcpp-tools-reviewers, could I get some feedback on this PR,? Thank you :)

@PietroGhg
Copy link
Contributor Author

@intel/dpcpp-tools-reviewers ping

@uwedolinsky
Copy link
Contributor

Closing this PR as it's replaced by #19429

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants