Skip to content

Conversation

@diptorupd
Copy link
Contributor

@diptorupd diptorupd commented May 4, 2023

  • Have you provided a meaningful PR description?

The design change from using NumPy expressions and device_context to dpnp offload via the new dpjit decorator introduced in 0.20 has made several previously added experimental features of numba-dpex superfluous. The PR removes the following code in order to reduce cruft and simplify the code base. Some of the removed features and corresponding code will be brought back after suitable redesign and refactoring:

  1. dpnp overloads using stubs: These overloads were primarily meant to replace equivalent NumPy overloads inside a njit function. These overloads have not been updated to latest dpnp. Moreover, some of these overloads are for functions where dpnp falls back to NumPy. Overloads for dpnp for modules such as linalg and random will be added back post a redesign.
  2. Rename_numpy_functions_pass : Related to the removed dpnp stub overloads. Going forward as dpnp is now directly supported inside dpjit, the rename passes will not be required.
  3. Offload compiler: NumPy offload is no longer supported and the pipeline is no longer needed.
  4. offload_dispatcher: Same reason as offload compiler
  5. retarget.py: Related to the support for dpctl.device_context. As device_context is no longer used and all offload is determined via compute-follows-data programming model the module is no longer required.
  6. dpnp offload unit tests: No longer needed
  7. rename_numpy_functions pass unit test: No longer needed.
  8. parfor fallback, etc. unit tests: No longer supported.
  9. kernel_tests/test_compute_follows_data: Test case is incorrect and a redesigned test will be added along with the fix for Queue inference for numba_dpex kernel args returns incorrect values #1021
  10. dpnp_fptr_interface.pyx: Not supported in current form. Equivalent functionality will be brought back post-redesign.

Few things that are not yet removed are:

  • lowerer.py and dpctl_iface: Both are blocked by Remove usage of lower_extensions #1028

  • 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?

I will add some unit tests and reorganize the commits.

Superseded by #1041

@diptorupd diptorupd requested a review from chudur-budur as a code owner May 4, 2023 07:34
@diptorupd diptorupd requested a review from mingjie-intel May 4, 2023 07:34
@diptorupd diptorupd marked this pull request as draft May 4, 2023 07:34
@diptorupd diptorupd changed the title Major housekeeping [WIP] Major housekeeping May 5, 2023
@diptorupd
Copy link
Contributor Author

Superseded by #1041

@diptorupd diptorupd closed this May 15, 2023
@diptorupd diptorupd deleted the remove_unused_experimental branch May 15, 2023 03:46
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.

1 participant