You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+72Lines changed: 72 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,78 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
6
6
and this project adheres to [Semantic
7
7
Versioning](http://semver.org/spec/v2.0.0.html).
8
8
9
+
## [0.4.0] - 2023-07-13
10
+
11
+
We recommend using the following SYCL versions with this release:
12
+
13
+
- DPC++: 61e51015 or newer
14
+
- hipSYCL: 24980221 or newer
15
+
16
+
See our [platform support guide](docs/platform-support.md) for a complete list of all officially supported configurations.
17
+
18
+
## Added
19
+
20
+
- Introduce new experimental `host_object` and `side_effect` APIs to express non-buffer dependencies between host tasks (#68, 7a5326a)
21
+
- Add new `CELERITY_GRAPH_PRINT_MAX_VERTS` config options (#80, d3dd722)
22
+
- Named threads for better debugging (#98, 25d769d, #131, ff5fbec)
23
+
- Add support for passing device selectors to distr_queue constructor (#113, 556b6f2)
24
+
- Add new `CELERITY_DRY_RUN_NODES` environment variable to simulate the scheduling of an application on a large number of nodes (without execution or data transfers) (#125, 299ebbf)
25
+
- Add ability to name buffers for debugging (#132, 1076522)
26
+
- Introduce experimental `fence` API for accessing buffer and host-object data from the main thread (#151, 6b803f8)
27
+
- Introduce backend system for vendor-specific code paths (#162, 750f32a)
28
+
- Add `CELERITY_USE_MIMALLOC` CMake configuration option to use the mimalloc allocator (enabled by default) (#170, 234e3d2)
29
+
- Support 0-dimensional buffers, accessors and kernels (#163, 0685d94)
30
+
- Introduce new diagnostics utility for detecting erroneous reference captures into kernel functions, as well as unused accessors (#173, ff7ed02)
31
+
- Introduce `CELERITY_ACCESSOR_BOUNDARY_CHECK` CMake option to detect out-of-bounds buffer accesses inside device kernels (enabled by default for debug builds) (#178, 2c738c8)
32
+
- Print more helpful error message when buffer allocations exceed available device memory (#179, 79f97c2)
- Improve scheduler performance by reducing lock contention (#111, 4547b5f)
43
+
- Improve graph generation and printing performance (#133, 8122798)
44
+
- Use [libenvpp](https://github.com/ph3at/libenvpp) to validate all `CELERITY_*` environment variables (#158, b2ced9b)
45
+
- Use native ("USM") pointers instead of SYCL buffers for backing buffer allocations (#162, 44497b3)
46
+
- Implement `range` and `id` types instead of aliasing SYCL types (#163, 0685d94)
47
+
- Disallow in-source builds (#176, 0a96d15)
48
+
- Lift restrictions on reductions for DPC++ (#175, efff21b)
49
+
- Remove multi-pass mechanism to allow reference capture of buffers and host-objects into command group functions, in alignment with the SYCL 2020 API (#173, 0a743c7)
50
+
- Drastically improve performance of buffer data location tracking (#184, adff79e)
51
+
- Switch to distributed scheduling model (#186, 0970bff)
52
+
53
+
## Deprecated
54
+
55
+
- Passing `sycl::device` to `distr_queue` constructor (use a device selector instead) (#113, 556b6f2)
56
+
- Capturing buffers and host objects by value into command group functions (capture by reference instead) (#173, 0a743c7)
57
+
-`allow_by_ref` is no longer required to capture references into command group functions (#173, 0a743c7)
58
+
59
+
## Removed
60
+
61
+
- Removed support for ComputeCpp (discontinued) (#167, 68367dd)
0 commit comments