-
Notifications
You must be signed in to change notification settings - Fork 33
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
Feature/support numba057 #1030
Feature/support numba057 #1030
Conversation
parfor is broken due to the |
Fixed the monkey patches. However, something has changes in the typing and dpnp.ndarray is getting inferred as a |
Switching dpex to use Numba's default Also, debugging no longer uses dpex's DIBuilder. Need to evaluate. |
c05c817
to
e76feca
Compare
- Moves the Numba monkey patches out of _patches.py and into separate modules in a new numba_patches sub-modules.
- Uses the refactored monkey patches modules - Import only __version__ fron numba instead of import whole of numba - Fixes an issue where the Vectorize registry was getting updated inside the dpctl libsyclinterface load function.
- Removes the in-tree copy of the parfor module with the Numba 0.57 version of the module. - Updates imports to reflect the change in parfor module. - Removes deprecated lowerer module. - Replaces the dpex-speciic lowering pass with the upstream NativeParforLowerer in the dpjit_pipeline. Our own lowering pass is now removed.
0bf1547
to
ac67cd2
Compare
- Moves all parfor codegen files into core.parfors. - Renames parfor_lowering_pass to parfor_lowerer as the module no longer has a pass. - Updates to imports
- Previously, all dpnp ufuncs were added to numba.np.npyimpl.registry. A new registry has been added to dpnp_iface.dpnpimpl and now the dpnp ufuncs are added to that registry. - The DpexKernelTarget has been updated to now load the functions in the dpnpimpl.registry. - Swapping of ufuncs to use OpenCL intrinsics inside DpexKernelTarget now happens only for specific dpnp math functions. As a side effect, numpy math functions are no longer supported inside a kernel.
ac67cd2
to
04700b1
Compare
Documentation preview: show. |
@ZzEeKkAa once you test out the docker image we are good to go. The Coverage workflow is failing temporarily due to some issues at coveralls.io's end. |
The coveralls.io glitch is gone and removing parfors gives us a 15% coverage boost! |
Documentation preview removed. |
Feature/support numba057 6aca7c3
Updates numba-dpex to be compatible with numba 0.57. Summary of changes:
The in-tree copies of
parfor
module has been removed and numba-dpex now uses the upstreamparfor
module and passes.The numba-dpex lowering pass has been removed and parfor lowerer has been updated to handle both lowering when Numba's
sroa
-like optimization is enabled or disabled.The Numba monkey patches were refactored and split out of the
_patches
module and moved into a newnumba_pathces
sub-modules.The deprecated
lowerer
module has been removed.The
NUMBA_DPEX_FALLBACK_ON_CPU
config is removed as there is no fallback to CPU for parfor nodes generated for dpnp array expressions.All the parfor lowering modules are now organized into a
numba_dpex.core.parfors
module.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?
Fixes #1028, #1000