Releases: IntelPython/dpctl
Releases · IntelPython/dpctl
0.11.3
Fixed
Full Changelog: 0.11.2...0.11.3
0.11.2
Added
- Extending
dpctl.device_context
with nested contexts (#678)
Fixed
Full Changelog: 0.11.1...0.11.2
0.11.1
0.11.0
Added
- Use Python 3.9 in public CI (#599)
- Add a new C API utility function (
DPCTLDeviceMgr_GetDeviceInfoStr
) to return the device info as a C string object (#620) - New Github workflow to build dpclt with nightly Intel llvm/sycl + drivers (#621)
- Always raise SubDeviceCreationError even when sub-device counts are zero (#622)
- Updated OpenCL interoprability code to fix build with Intel llvm/sycl bundle (#625)
- Enabled use of default platform context extension in SYCL compilers that implement this extension (#627)
- Implemented
dpctl.utils.get_execution_queue(queue_seq)
utility to help implementing "compute-follows data" convention for offload target (#632) - Improved code coverage (#619) (#542) (#631)
Changed
- Replaced
host_device
device type withhost
in tests (#616) - Rework the logic in
dpctl.memory
'scopy_from_device
method to work correctly withhost
device (#618) - Use
dpctl.device_type.host
instead ofdpctl.device_type.host_device
(#626) - Reinstate deprecated
sycl::program
and that was conditionally removed from open source DPC++ toolchain (#633) - Use
LoadLibraryExA
instead ofLoadLibraryA
to mitigate a possible DLL injection issue when we load the Level zero DLL on windows (#636) - Github coverage workflow is changed to use oneAPI 2021.3 instead of latest to work around broken profiling instrumentation in DPC++ 2021.4 (#614)
- Update build dependencies for NumPy (#641)
- Use "readelf" on SYCL's
pi_level_zero
library to find out and use the exact name ofze_loader.so
in SyclInterface library (#617)
Removed
- Removed use of DPC++ features deprecated in 2021.4 and open source Intel llvm/sycl compiler (#603)
Fixed
- Suppress errant CMake log (#610)
- Fixes to compile dpctl using Intel llvm/sycl compiler (#603)
- Fix for the hang is to avoid passing
nullptr
argument tosycl::queue::prefetch
(#612) - Fixed the logic to return device count (#623)
- Enabled building of C extensions with dpctl by including header defining
bool
type for C compilers (#604)
0.11.0rc2
What's Changed
- Added new example of Python object exposing sycl_usm_array_interface by @oleksandr-pavlyk in #596
- Cleanup/c extensions with dpctl by @oleksandr-pavlyk in #604
- Silly typo behind slow copy by @oleksandr-pavlyk in #606
- Use Python 3.9 [in public CI] by @PokhodenkoSA in #599
- Suppress errant CMake log. by @diptorupd in #610
- Avoid passing nullptr to sycl::queue::prefetch to avoid buggy hang by @oleksandr-pavlyk in #612
- Moved repeated status message outside of if/else statement by @oleksandr-pavlyk in #613
- Coverage workflow is to use oneAPI 2021.3 by @oleksandr-pavlyk in #614
- replace host_device device type with host in test by @oleksandr-pavlyk in #616
- Use readelf on pi_level_zero library to find exact name of ze_loader by @oleksandr-pavlyk in #617
- Remove use of DPC++ features deprecated in 2021.4 and open source intel/llvm compiler by @oleksandr-pavlyk in #603
- Rework the logic in memory's copy_from_device by @oleksandr-pavlyk in #618
- Added tests to cover red lines in coverage report by @oleksandr-pavlyk in #619
- Add a new utility function to return the device info as a C string object. by @diptorupd in #620
- Always raise SubDeviceCreationError even when counts are zero by @oleksandr-pavlyk in #622
- Add a workflow to install nightly intel/llvm + drivers by @oleksandr-pavlyk in #621
- DPCTLSyclInterface should avoid functions that print to std::cout by @oleksandr-pavlyk in #542
- Correct the logic to return device count. by @diptorupd in #623
- dpctl.device_type.host_device -> dpctl.device_type.host by @oleksandr-pavlyk in #626
- Update opencl interoprability code to fix build with open source llvm/sycl bundle by @oleksandr-pavlyk in #625
- Enable use of default platform context extension by @oleksandr-pavlyk in #627
- [WIP] Rebuild by @Vyacheslav-Smirnov in #605
- test_get_dpcppversion relaxed by @oleksandr-pavlyk in #631
- reinstate deprecated sycl::program and that was conditionally removed from open source DPC++ toolchain by @oleksandr-pavlyk in #633
- Closes #629 by @oleksandr-pavlyk in #632
- Add triggers to CI by @1e-to in #634
- Undid restrictions for on: push triggers by @oleksandr-pavlyk in #637
- Change the way we load level zero DLL on windows. by @diptorupd in #636
- Update build deps for numpy by @xaleryb in #641
- master-> gold/2021 by @xaleryb in #642
Full Changelog: 0.10.0...0.11.0rc2
0.10.0
Added
- Added methods
__bool__
,__float__
,__int__
,__index__
,
and__complex__
to usm_ndarray (#578) - Added data-API required special methods to usm_ndarray class,
as well as to_numpy/from_numpy, astype, reshape functions (#586) - Added methods to query dpctl.SyclDevice for size of global/local memory (#589)
- Added tests for constructors with invalid capsules (#577)
- Improved test coverage of
dpctl.SyclQueue
implementation (#574) - Added a test to exercise API exported function (get_event_ref). (#570)
- Expanded tests in test_sycl_context to improve coverage (#571)
- Tweaks to test_sycl_event to improve coverage (#567)
- Improved coverage of
dpctl.__init__
file and other service functions (#563) - Added test for repr and test for default argument to constructor (#565)
- Added some tests to involve capsule (#564)
- Added workflow for Public CI on Windows (#534)
- DPCTLQueue_Memcpy, _Prefetch, _Memadvise become asynchronous (#557)
- Added device aspect selector,
dpctl.select_device_with_aspects
(#558) - Added test based on example from #583
Changed
- Parametrized tests for executing OpenCL kernels compiled from source in types of arguments (#581)
- Temporary disabled self-hosted CI jobs runner (#559)
- Changed static method
SyclQueue._create_from_context_and_device
(#579) - Transitioned all Python API to use pytest over unittest, improved coverage in dpctl/memory (#575)
- Changed
dpctl.SyclEvent.profiling_info_submit
from method to a property (#573) - Simplified arg parsing in SyclDevice constructor (#572)
- Used
tag with alignment attribute set in README (#562)
- Moved sycl timer into dpctl.SyclTimer (#555)
- Used clang-format off, clang-format on to avoid include reordering in pybind11 example (#588)
Fixed
- Implemented a workaround for running conda-build using Klocwork (#566)
- Separated pipelines for Linux and Windows (#582)
- Fixed inconsistency in
__sycl_usm_array_interface__
ofusm_ndarray
instance (#584) - Fixed memory leak: Capsule deleters now free resources for renamed capsules too (#568)
- Fixed version test to allow for semantic versioning (#569)
- Improved coverage of _types.pxi (#556)
- Fixed
UnboundLocalError
when default queue could not be created (#554)
0.9.0
Added
- Improvements to logic for working with custom DPC++ toolchain (#481)
- Add SyclContext unit test cases (#488)
- Consolidate configurations of tools that support PEP 518 into pyproject.toml (#486)
- Added C-API hash function, used them in Python interface (#491)
- Add missing extra checks to ensure unwrapped pointer is not Null
- Add error messages to L0 program creation routine
- Improve test coverage for dpctl_sycl_queue_interface (#492)
- Use pytest.warns in test_lsplatform3 (#495)
- Added test class to test DRef=nullptr case (#496)
- Extend parameterized test in test_sycl_queue_interface (#497)
- Use Memcpy, memadvise in tests
- Expanded types tests by TestQueueSubmitRange
- Added a test that retrieved DPCPP compiled kernel and submits them via DPCTLQueue_SubmitRange (#499)
- Add DPCTLEvent_Copy (#504), DPCTLEvent_GetBackend (#507), DPCTLEvent_GetCommandExecutionStatus (#516),
DPCTLEvent_WaitAndThrow (#513), DPCTLEvent_GetWaitList (#510) functions - Propagate compile flags (#512)
- Add conda package CI pipeline on GitHub Actions (#515)
- Run tests on GPU (#518)
- Add 3 wrapper func for event::get_profiling_info (#519)
- Changes to build_backend.py to enable sycl-compiler-prefix on Windows
- dtype keyword of usm_ndarray now supports np.double and other types (#526)
- Implemented DPCTLQueue_SubmitBarrier, DPCTLQueue_SubmitBarrierForEvents,
SyclQueue.submit_barrier (#524) - Added C-API DPCTLQueue_HasEnableProfiling
- Added Python API SyclQueue.has_enable_profiling
- Use public for data owning class definitions
- Queue has enable profiling (#531)
- Use public for data owning class definitions (#533)
- Added logic to verify that all bits of property integer were recognized and used (#494)
- Added support for some properties/methods of underluing device
- A test for properties, method of q mirroring that of device
- Conda build scripts should build wheels in the same setup invocation as install (#538)
- Added install_requires keyword to setup call
- Added requirements.txt files in dpctl/ and in dpctl/docs (#540)
- Improved C-API for dpctl Cython classes, added example of using them in Pybind11 extension. (#550)
- dpctl.SyclEvent acquired ability to get command status and get profiling information. (#553)
Changed
- Moved DPCLSyclInterface library from MANIFEST.in (#482)
- Refactored tests
- Use dpcpp compiler package for Linux (#514)
- Update conda-package.yml
- Static methods _init_helper made into functions and removed from PXD files (#532)
Removed
- Remove imports from future (#485)
Fixed
- Fix sub devices (#479)
- Fix addressof_ref function in
SyclContext
(#488) - Follow
DPCTLDevice_CreateFromSelector
which passes the check (#487) - Fix a typo in the pytest configuration (#490)
- Fixed dbg_build.sh script for Linux to use L0
- Reuse IntelSycl_LIBRARY_DIR variable in cmake
- CXX, dpcpp used on Windows too
- Update conda-recipe/bld.bat
- Change to SyclQueue.repr to reflect properties (#531)
- Static methods
_init_helper
made into functions and removed from PXD files (#532) - Fixed typo in pip installation instruction (#536)
- Fixed dpctl_config.h, added dpctl_service.h, .cpp (#539)
- Fixed
__sycl_usm_array_interface__
output for 0d arrays (#547)
0.9.0dev1
0.9.0dev0
0.8.0
Added
Implemented support for constructing MemoryUSM* from object with sycl_usm_array_interface when array-info is not contiguous (#400)
Print the backend as part of SyclDevice.print_device_info function (#409)
Added dpctl/tensor/_usmarray submodule (#427)
Added arg checking to functions in dpctl_sycl_usm_interface.cpp (#430)
A static method of _Memory to create from external allocation (#430)
Added usm_ndarray accessors (#435)
Added Device class representing Data-API notion of device (#440)
Added free Python function as_usm_memory(obj) (#443) and associated unit tests (#449)
Dependency for numpy 1.17 (#445)
Add a flag to make doxygen HTML generation optional (#450)
Added a feature to get the filter string for a device from Python using the new dpctl.SyclDevice.get_filter_string method. Also added the corresponding DPCTLDeviceMgr_GetPositionInDevices(DRef, device_mask) C API function (#453)
New options to setup.py to specify which dpcpp compiler to use, if L0 program creation is to be supported, and to generate code coverage (#426)
Github action to check Python code quality (#422)
Github action to auto-publish Sphinx docs for master (#446)
Github action to generate coverage report and publish to coveralls.io (#459)
Changed
Rename dpctl.dptensor to dpctl.tensor (#407)
Changed repr for Memory objects (#442)
Used dpctl.SyclQueue instead of manager and get current queue in tests for SyclProgram (#448)
Fixed
Issue #189 dpctl.memory.MemoryUSMShared(np.int64(16)) should work (#392)
Use size_t instead of Py_ssize_t to fit device USM pointer (#405)
Various code quality issues identified by flake8 (#417, #419, #420, #422)
Fixed issues in slicing and array construction (#441)
Fixed an issue (#447) where dpctl.get_devices does not return devices in the same order as sycl::device::get_devices (#451)
L0 program creation support on Windows (#319)
Removed
Removing public keyword to get_current_queue Cython declaration (#437)