Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate parfor to SPIRVKernelDispatcher #1435

Merged
merged 3 commits into from
Apr 30, 2024
Merged

Migrate parfor to SPIRVKernelDispatcher #1435

merged 3 commits into from
Apr 30, 2024

Conversation

ZzEeKkAa
Copy link
Collaborator

@ZzEeKkAa ZzEeKkAa commented Apr 11, 2024

What was done:

  • Compile parfor kernels using SpirvDispatcher.
  • Add internal option to compile kernel with Prange support. This mode inserts prange body instead of __seninel__ = 0. Ideally it must be replace to some internal dedicated function call like numba_dpex.core.insert_parfor_body().
  • Remove kernel allocation aside of dpjit compilation. Now parfor kernel specific SPIRV is a part of dpjit function inserted as a string constant. It unblocks dpjit function caching on disk

Checklist:

  • Have you provided a meaningful PR description?
  • Have you added a test, reproducer or referred to an issue with a reproducer?
  • Have you tested your changes locally for CPU and GPU devices?
  • Have you made sure that new changes do not introduce compiler warnings?
  • If this PR is a work in progress, are you filing the PR as a draft?

@ZzEeKkAa ZzEeKkAa force-pushed the fix/windows-parfor branch 2 times, most recently from 751e164 to eacca8a Compare April 26, 2024 20:47
@coveralls
Copy link
Collaborator

coveralls commented Apr 27, 2024

Coverage Status

coverage: 86.252% (-0.8%) from 87.065%
when pulling 41b5d25 on fix/windows-parfor
into a60d032 on main.

@ZzEeKkAa ZzEeKkAa force-pushed the fix/windows-parfor branch 3 times, most recently from b195715 to 97ad569 Compare April 29, 2024 17:29
@ZzEeKkAa ZzEeKkAa changed the title WIP: Migrate parfor to SPIRVKernelDispatcher Migrate parfor to SPIRVKernelDispatcher Apr 29, 2024
@ZzEeKkAa ZzEeKkAa marked this pull request as ready for review April 29, 2024 17:30
@ZzEeKkAa ZzEeKkAa requested a review from diptorupd April 29, 2024 17:30
@ZzEeKkAa ZzEeKkAa force-pushed the fix/windows-parfor branch 2 times, most recently from a04de96 to 99477d4 Compare April 29, 2024 22:02
Copy link
Collaborator

@diptorupd diptorupd left a comment

Choose a reason for hiding this comment

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

There are few cleanups such as introducing a new pipeline fr parfor kernel compilation that should be done, can be handled in later PR.

Overall nice set of changes. The parfor kernel generator has become much cleaner after these changes.

@diptorupd diptorupd merged commit 675cb79 into main Apr 30, 2024
67 of 72 checks passed
@diptorupd diptorupd deleted the fix/windows-parfor branch April 30, 2024 12:12
github-actions bot added a commit that referenced this pull request Apr 30, 2024
Migrate parfor to SPIRVKernelDispatcher 675cb79
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