@@ -6,6 +6,66 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66
77## [ Unreleased]
88
9+ ### Added
10+ - Complete support for ` sycl::ONEAPI::filter_selector ` in dpctl.
11+ - C API for ` sycl::queue ` (#323 ), ` syc::context ` (#331 ), and ` sycl::platform ` (#298 )
12+ creation using opaque pointers.
13+ - A ` DPCTLDeviceMgr ` module in C API that caches a default context for root
14+ devices (#277 ).
15+ - ` DPCTLSyclBackendType ` and ` DPCTLSyclDeviceType ` have a new member ` ALL `
16+ (#287 ).
17+ - C API now provides helper functions to convert between dpctl and SYCL enum
18+ values (#296 ).
19+ - Macros to help create opaque vector classes for opaque SYCL types (#297 ).
20+ - ` SyclDevice ` (#321 ), ` SyclContext ` (#334 ), ` SyclPlatform ` (#336 , #298 ),
21+ ` SyclQueue ` (#323 ) have constructors that recognize filter selectors and closely
22+ follow DPC++ interface.
23+ - Add API to get a ` PyCapsule ` from ` SyclQueue ` , ` SyclContext ` instances (#350 ).
24+ - Added ` get_queue_ref_from_ptr_and_syclobj(ptr, syclobj) ` that creates
25+ ` DPCTLSyclQueueRef ` from a USM pointer and Python object ` syclobj ` from
26+ ` __sycl_usm_array_interface__ ` (#380 ).
27+ - Support for SYCL sub-devices, including sub-device creation, queue, and
28+ context creation using sub-devices (#343 ).
29+ - ` SyclDevice.parent_device ` property to indicate if an instance has a parent
30+ device (#366 ).
31+ - Several new getter functions for device info descriptors to device interface
32+ (#300 , #335 , #318 , #315 , #308 ).
33+ - Support for SYCL device aspects (#307 ).
34+ - Properties for every ` sycl::device ` info and aspect that we support in
35+ ` SyclDevice ` (#324 ).
36+ - Support handling async errors inside ` SylQueue ` instances (#346 ).
37+ - ` get_backend ` , ` get_platform ` , ` get_device_type ` to Python ` SyclDevice ` class (#300 )
38+ - A ` _sycl_device_factory.pyx ` module providing ` SyclDevice ` constructors using
39+ standard ` sycl::device_selector ` classes (previously in ` _sycl_device.pyx ` )
40+ and a new ` get_devices ` (#277 ) function to enumerate all devices.
41+ - ` _sycl_device_factory.pyx ` implements ` get_num_devices ` and ` has_*_device(s) `
42+ functions (#320 ).
43+ - Enable Python coverage in CI for Linux (#369 ).
44+ - Use ` public ` keyword in ` _sycl_*.pxd ` to generate header files allowing
45+ non-Cython centric native extensions to work with dpctl's Python objects
46+ (#218 ).
47+ - Documentation improvements (#341 ).
48+
49+ ### Changed
50+ - Rename dpCtl to dpctl in all comments, license headers, and docs. (#342 )
51+ - ` dpctl.memory.MemoryUSM* ` constructors now use ` dpctl.SyclQueue() ` instead of
52+ ` dpctl.get_current_queue() ` when the ` queue ` keyword argument is ` None ` (default) (#382 ).
53+ - ` dpctl.set_default_queue ` has been renamed to ` dpctl.set_global_queue() ` (#323 ).
54+ - Changed ` dpctl.dump ` to ` dpctl.lsplatform ` (#336 ).
55+ - Various ` SyclDevice ` methods related to querying ` sycl::info::device ` were converted
56+ to properties (#324 ).
57+ - Various C API functions names were changed.
58+
59+ ### Fixed
60+ - Possible crashes when a SYCL platform is not available (#349 ).
61+ - Fix tests which fail if GPU is not available (only CPU is available) (#359 ).
62+ - Fix breaking C API tests (#358 ).
63+ - Bandit warning about "subprocess.check_call(shell=True)" for Windows (#306 ).
64+
65+ ### Removed
66+ - Removed ` get_num_platforms ` , ` has_cpu_queues ` , ` has_gpu_queues ` , ` get_num_queues ` ,
67+ ` has_sycl_platforms ` (#320 ).
68+
969## [ 0.6.1] - 2021-03-01
1070### Fixed
1171- Do not use POP_FRONT in FindDPCPP.cmake so that we can use a cmake version older that 3.15.
0 commit comments