Skip to content

Releases: IntelPython/dpctl

0.11.1

13 Nov 01:23
Compare
Choose a tag to compare

Changed

  • Replaced uses of clang compiler with icx executable (#665)

0.11.0

01 Nov 21:59
73ef7b8
Compare
Choose a tag to compare

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 with host in tests (#616)
  • Rework the logic in dpctl.memory's copy_from_device method to work correctly with host device (#618)
  • Use dpctl.device_type.host instead of dpctl.device_type.host_device (#626)
  • Reinstate deprecated sycl::program and that was conditionally removed from open source DPC++ toolchain (#633)
  • Use LoadLibraryExA instead of LoadLibraryA 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 of ze_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 to sycl::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

29 Oct 13:33
8921d5a
Compare
Choose a tag to compare
0.11.0rc2 Pre-release
Pre-release

What's Changed

Full Changelog: 0.10.0...0.11.0rc2

0.10.0

28 Sep 13:41
Compare
Choose a tag to compare

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__ of usm_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

16 Sep 09:45
Compare
Choose a tag to compare

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

22 Sep 20:03
58f78f5
Compare
Choose a tag to compare
0.9.0dev1 Pre-release
Pre-release
Added "part of oneAPI badge" (#549)

0.9.0dev0

22 Sep 20:03
3fc0bf4
Compare
Choose a tag to compare
0.9.0dev0 Pre-release
Pre-release
Add DPCTLEvent_WaitAndThrow func (#513)

0.8.0

27 May 01:05
48794f7
Compare
Choose a tag to compare

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)

Changelog, sonversion on unix, docs updates

26 May 18:15
368911d
Compare
Choose a tag to compare

The 3rd RC tag of 0.8.0 has the following changes:

  • Soversion on linux was re-implemented using linker scripts to get around conda-build issues.
  • Docs have been updated for the latest API.
  • An unused function in dpctl.memory was removed.
  • Changelog was updated.

Hotfix to remove sonames from libDPCTLSyclInterface

25 May 19:17
414f0a6
Compare
Choose a tag to compare

Soname symlinks for libDPCTLSyclInterface are not getting properly copied in the conda package. We are removing soversions for the time being for 0.8.0.