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
[SYCL] Revert USM caching to pre-2021.3 state and disable Shared USM … (#4799)
This change a) enhances the env var controls for USM caching, b) sets caching parameters to match the previous implementation and c) disables Shared memory chunking to fix a data race issue.
Copy file name to clipboardExpand all lines: sycl/doc/EnvironmentVariables.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -137,7 +137,7 @@ variables in production code.</span>
137
137
| Environment variable | Values | Description |
138
138
| -------------------- | ------ | ----------- |
139
139
|`SYCL_PI_LEVEL_ZERO_MAX_COMMAND_LIST_CACHE`| Positive integer | Maximum number of oneAPI Level Zero Command lists that can be allocated with no reuse before throwing an "out of resources" error. Default is 20000, threshold may be increased based on resource availabilty and workload demand. |
140
-
|`SYCL_PI_LEVEL_ZERO_USM_ALLOCATOR`| MaxPoolableSize,Capacity,MaxPoolSize | Values specified as positive integers. Defaults are 1, 4, 256. MaxPoolableSize is the maximum allocation size in MB that may be pooled. Capacity is the number of allocations in each size range that are freed by the program but retained in the pool for reallocation. Size ranges follow this pattern: 32, 48, 64, 96, 128, 192, and so on, i.e., powers of 2, with one range in between. MaxPoolSize is the maximum size of the pool in MB. |
140
+
|`SYCL_PI_LEVEL_ZERO_USM_ALLOCATOR`|EnableBuffers, MaxPoolSize [, MemType, MaxPoolableSize,Capacity, SlabMinSize]... | EnableBuffers enables pooling for SYCL buffers, default false. MaxPoolSize is the maximum size of the pool, default 0. MemType is host, device or shared. Other parameters are values specified as positive integers with optional K, M or G suffix. MaxPoolableSize is the maximum allocation size that may be pooled, default 0 for host and shared, 32KB for device. Capacity is the number of allocations in each size range freed by the program but retained in the pool for reallocation, default 0. Size ranges follow this pattern: 64, 96, 128, 192, and so on, i.e., powers of 2, with one range in between. SlabMinSize is the minimum allocation size, 64KB for host and device, 2MB for shared. |
141
141
|`SYCL_PI_LEVEL_ZERO_BATCH_SIZE`| Integer | Sets a preferred number of commands to batch into a command list before executing the command list. A value of 0 causes the batch size to be adjusted dynamically. A value greater than 0 specifies fixed size batching, with the batch size set to the specified value. The default is 0. |
142
142
|`SYCL_PI_LEVEL_ZERO_FILTER_EVENT_WAIT_LIST`| Integer | When set to 0, disables filtering of signaled events from wait lists when using the Level Zero backend. The default is 1. |
143
143
|`SYCL_PI_LEVEL_ZERO_USE_COPY_ENGINE`| Any(\*) | This environment variable enables users to control use of copy engines for copy operations. If the value is an integer, it will allow the use of copy engines, if available in the device, in Level Zero plugin to transfer SYCL buffer or image data between the host and/or device(s) and to fill SYCL buffer or image data in device or shared memory. The value of this environment variable can also be a pair of the form "lower_index:upper_index" where the indices point to copy engines in a list of all available copy engines. The default is 1. |
0 commit comments