@@ -6,6 +6,66 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
7
7
## [ Unreleased]
8
8
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
+
9
69
## [ 0.6.1] - 2021-03-01
10
70
### Fixed
11
71
- Do not use POP_FRONT in FindDPCPP.cmake so that we can use a cmake version older that 3.15.
0 commit comments