All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Supported numba0.56. (#818)
- Supported dpnp0.11 and dpctl0.14.
- Added customized exception classes. (#798)
- Fixed a crash when calling take() for input array with non-integer values. (#771)
- Fixed pairwise_distance.py to run on machine with no FP64 support in HW. (#806)
- Implemented support for
dpnp.empty()
(#728)
- numba-dppy package is now renamed to numba-dpex.
- Run coverage in GitHub Actions and upload results to coveralls.io (#621)
- Change black to only allow 80 char lines. Reformat sources. (#631)
- Ignore formatting changes from git-blame. (#632)
- Add
numba_support.py
withnumba_version
(#656) - Add skip_no_numba055 decorator (#662)
- Parameterize test for atomics (#661)
- Reuse decorator
skip_no_opencl_Xpu
to skip tests (#663) - Add decorator to skip unsupported atomics (#664)
- Support arrays with
__sycl_usm_array_interface__
attribute (#629) - Support memory allocation in private address space (#640)
- Move skips for opencl to helper (#665)
- Support dpctl 0.12 (#669)
- Implement compute-follows-data programming model [kernel API] (#598)
- Use filter_str to skip tests on missing devices (#672)
- Add check for DPNP and pin MKL version in workflow and dev environment (#648)
- Add CODEOWNERS for distributing review process (#670)
- Add
skip_no_dpnp
and apply it to all tests (#668) - Test skipping improvements (#675)
- Use Python 3.9 in dev environment and pin DPNP (#644)
- Add examples into package (#680)
- Make possible to force debugging tests (#681)
- Refactoring for debugging tests (#682)
- Adopt Numba 0.55 debugging features (#654)
- Run public CI on pull request (#695)
- Support for coverage in internal CI (#708)
- Update to dpnp 0.10 (#709)
- Update recipe with dpctl and dpnp version for build (#710)
- Move
dpcpp/llvm-spirv
from runtime to testing dependency (#659)
- Fix building with DPNP (#674)
- Fix public CI: opencl driver, channel priority, dpctl version (#691)
- Fix codestyle black (#696)
- Fix documentation generation (#697)
- Load dpctl lib on Linux using
libDPCTLSyclInterface.so.0
(#707) - Fix search llvm-spirv if dpcpp compiler package is not installed (#703)
- Pin dpnp version in runtime to allow dev versions of dpnp (#712)
- Move
dpcpp/llvm-spirv
from runtime to testing dependency by @PokhodenkoSA in IntelPython#659
- Use
llvm-spirv
fromdpcpp
compiler package by default [cherry picked from #649] (#651)
- Enable offloading for
numba.njit
indpctl.deveice_context
(#630) - Fix upload conditions for main and release branches (#610)
- Fix DeprecationWarning when use
version.parse()
[cherry picked from #639] (#642)
- Use llvm-spirv from bin-llvm during build for Linux and Windows (#626, #627)
- Update clang to icx (#622)
- Use Python 3.9 [public CI] by @PokhodenkoSA in IntelPython#574
- Use
NUMBA_DPPY_DEBUG
for debugging GDB tests by @PokhodenkoSA in IntelPython#578 - Preliminary support Numba 0.55 (master branch) by @PokhodenkoSA in IntelPython#583
- Workflow for manually running tests using Numba PRs by @PokhodenkoSA in IntelPython#586
- Add public CI trigger on tags by @1e-to in IntelPython#589
- Upload packages for
release*
branches by @1e-to in IntelPython#593 - Update to dpctl 0.11 by @PokhodenkoSA in IntelPython#595
- Update to dpnp 0.9 by @PokhodenkoSA in IntelPython#599
- Improve the documenatation landing page by @diptorupd in IntelPython#601
- Clean up README by @diptorupd in IntelPython#604
- Restrict dpctl to 0.10.* for release 0.16 by @1e-to in IntelPython#590
- Fix upload from release branch by @1e-to in IntelPython#596
- Unskip tests passing with dpnp 0.9.0rc1 by @PokhodenkoSA in IntelPython#606
- Fix dpctl to 0.10 (#590)
- Add Public CI trigger for tags (#589)
- Improve build and infra scripts (#544)
- Add docs about local variables lifetime (#534)
- Public CI for Windows (#536, #558)
- Add info about tags in documentation (#543)
- Add code coverage configurations (#561)
- Add support pytest-cov and pytest-xdist (#562)
- Add documentation workflow (#547)
- Test numba and numba-dppy API with GDB (#566)
- Transform commands scripts for GDB to tests (#568)
- Update dpnp 0.8 (#524)
- Fix passing strides array to DPNP dot and matmul (#565)
- Use older compiler for backwards compatibility (#549)
- Update conda recipe dependency for dpnp (#535)
- Update dpctl 0.10 (memcpy async) (#529)
- Change channels priority in public CI (#532)
- Added runtime dependency
llvm-spirv 11.*
(#523) - Update test matrix in README (#560)
- Use dpctl 0.10* and dpnp 0.8* in development configuration (environment.yml)
- Update test and fix typo for atomics (#550)
- Delete unused file
run_test.sh
- Fix Public CI for using development packages (#522)
- Removed redundant import in docs (#521)
- Introduce array ultilites to check, allocate and copy memory using SYCL USM (#489)
- Add packaging in run dependencies (#505)
- Add skipping tests for run without GPU (#508)
- Add CI pipeline on GitHub Actions for Linux (#507)
- Enable dpctl.tensor.usm_ndarray for @dppy.kernel (#509)
- Enable @vectorize for target dppy (#497)
- Add integration channels to GitHub Actions and make workflow consistent with dpctl (#510)
- Update to Numba 0.54.0 (#493)
- Update to dpctl 0.9 (#514)
- Update to dpnp 0.7 (#513)
- Use dpcpp compiler package for Linux (#502)
- Update go version (#515)
- Remove llvmdev from runtime dependecies (#498)
- Fix required compiler flags for processing genreated DWARF symbols (#500)
- Fix emission of debug information (#424)
- Fix examples demonstrating GDB usage on a numba_dppy.kernel function. (#455)
- Remove address space cast from global to generic inside numba_dppy.kernel (#432)
- Fix debugging of local variables (#432)
- Assert offload to SYCL devices in tests (#466)
- Removed calling opt to convert LLVM IR to LLVM Bitcode (#481)
- Add examples for debugging (#426)
- Added a new NUMBA_DPPY_DEBUGINFO environment variable to control GDB usage (#460)
- Add debug option to dppy.kernel decorator (#424)
- Enable debugging of nested GPU functions (#424)
- Enable setting breakpoints by function names while Debugging (#434)
- Various fixes and improvements to documentation about debugging (#479, #474, #475, #480, #475, #477, #468,#450)
- Add automatic generation of commands for debugging (#463)
- Add tests on debugging local variables (#421)
- Enable eager compilation of numba_dppy.kernel (#291)
- Increase test coverage for native atomic ops (#435)
- Check and deter users from returning values from numba_dppy.kernel (#476)
- Add check for ONEAPI_ROOT dir (#411)
- Fix using unquoted environment variable for clang path (#386)
- Fix kernel caching (#408)
- Update documentation: version 0.14 (#378), API docs (#388), note about Intel Python Numba (#389),
- Update User Guides about Debugging (#380), recommendations (#323), locals (#394), stepping (#400), configure environment (#402), set up machine (#396), info functions (#405)
- Update Developer Guides about DPNP integration (#362)
- Update README: add link to docs (#379), add Cython and pytest in dependencies, add test matrix (#305)
- Add initial integration testing with dpnp and usm_ndarray (#403)
- Introduce type in Numba-dppy to represent dpctl.tensor.usm_ndarray (#391)
- Improve error reporting when searching for dpctl. (#368)
- Enable Python 3.8 in CI (#359)
- Adds a new utils submodule to provide LLVM IR builder helpers. (#355)
- Improve warning and error messages when parfor offload fails. (#353)
- Extend itanium mangler to support numba.types.CPointer and add test (#339)
- Enable optimization level setting (#62)
- Improve message printed during parfor lowering. (#337)
- Initial tests for debug info (#297)
- Add Bandit checks (#264)
- Update to dpctl 0.8 (#375)
- Update to Numba 0.53 (#279), inluding override get_ufunc_info in DPPYTargetContext (#367)
- Update to DPNP 0.6 (#359)
- Refactor test function generation (#374)
- Ignore the cython generated cpp files inside dpnp_glue. (#351)
- Add automerge main to gold/2021 (#349)
- Fix dpnp version restriction in conda recipe (#347)
- Change all Numba-dppy examples to work wih dpctl 0.7.0 (#309)
- Restrict dpnp version (#344)
- Feature changes related to dpctl 0.7 (#340)
- Rename dpNP to dpnp (#334)
- Ignore generated spir files (#333)
- Use correct names for other products dpctl, Numba, dpnp (#310)
- Remove dead code only if function name is replaced (#303)
- Update license in conda recipe (#350)
- Update blackscholes examples (#377)
- Fix dppy_rt extension (#393)
- Update SYCL Filter String (#390)
- Fix atomics (#346)
- Fixes memory leaks in the usage of dpctl C API functions. (#369)
- Fix SPIR-V validation (#354)
- Fix run pre-commit check on main branch
- Fix tests to skip if device is not available (#345)
- Make Test Matrix table smaller in README (#308)
- Fix black action. (#306)
- Fix "subprocess.check_call" for Windows (#269)
- Add spir file to package.
- Do not modify CC env variable during build.
- Use correct version in documentation.
- Documentation.
- Add support for dpctl.dparray.
- Support NumPy functions via DPNP: random, linalg, transcendental, array ops, array creation.
- Wheels building.
- Using Bandit for finding common security issues in Python code.
- Start using black code style formatter.
- Build SPIRV code in setup.py.
- Start using pytest for running tests.
- Start using Apache 2.0 license.
- Consistency of file headers.
- Updated to Numba 0.52, dpCtl 0.6 and dpNP 0.5.1.
- Don't create a new copy of a usm shared array data pointers for kernel call.
- Modify test cases and examples to use Level Zero queue.
- Fix incorrect import in examples.
- numba-dppy is a standalone package now. Added setup.py and conda recipe.
- Offload diagnostics.
- Controllable fallback.
- Add flags to generate debug symbols.
- Implementation of
np.linalg.eig
,np.ndarray.sum
,np.ndarray.max
,np.ndarray.min
,np.ndarray.mean
. - Two new re-write passes to convert NumPy calls into a pseudo
numba_dppy
call site to allow target-specific overload of NumPy functions. The rewrite passes is a temporary fix till Numba gains support for target-specific overlaods. - Updated to dpCtl 0.5.* and dpNP 0.4.*
- The
dpnp
interface now uses Numba's@overload
functionality as opposed to the previous@lower_builtin
method. - Rename
DPPL
toDPPY
. - Cleaned test code.
DPPLTestCase
replaced withunittest.TestCase
.- All tests and examples use
with device_context
. - Config environment variables starts with
NUMBA_DPPY_
(i.e. NUMBA_DPPY_SAVE_IR_FILES and NUMBA_DPPY_SPIRV_VAL) - Remove nested folder
dppl
intests
. - No dependency on
cffi
.
- The old backup file.
This release includes:
- Caching of dppy.kernels which will improve performance.
- Addition of support for Intel Advisor which will help in profiling applications.