Skip to content

Commit 67fa084

Browse files
authored
[SYCL][Bindless] Refactor existing bindless aspects for missing L0 bindless functionality (#14323)
Add device aspects query if a device supports image arrays, unique addressing per dimension and support for sampling 1D usm images. Remove export semaphore, export image memory and fetch 3D usm image aspects as they are not supported on any backend. Update Level Zero and CUDA aspect results to reflect current support status with latest drivers.
1 parent 5ad9790 commit 67fa084

File tree

9 files changed

+207
-106
lines changed

9 files changed

+207
-106
lines changed

llvm/include/llvm/SYCLLowerIR/DeviceConfigFile.td

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,20 +54,21 @@ def AspectExt_oneapi_bindless_images_shared_usm : Aspect<"ext_oneapi_bindless_im
5454
def AspectExt_oneapi_bindless_images_1d_usm : Aspect<"ext_oneapi_bindless_images_1d_usm">;
5555
def AspectExt_oneapi_bindless_images_2d_usm : Aspect<"ext_oneapi_bindless_images_2d_usm">;
5656
def AspectExt_oneapi_interop_memory_import : Aspect<"ext_oneapi_interop_memory_import">;
57-
def AspectExt_oneapi_interop_memory_export : Aspect<"ext_oneapi_interop_memory_export">;
5857
def AspectExt_oneapi_interop_semaphore_import : Aspect<"ext_oneapi_interop_semaphore_import">;
59-
def AspectExt_oneapi_interop_semaphore_export : Aspect<"ext_oneapi_interop_semaphore_export">;
6058
def AspectExt_oneapi_mipmap : Aspect<"ext_oneapi_mipmap">;
6159
def AspectExt_oneapi_mipmap_anisotropy : Aspect<"ext_oneapi_mipmap_anisotropy">;
6260
def AspectExt_oneapi_mipmap_level_reference : Aspect<"ext_oneapi_mipmap_level_reference">;
6361
def AspectExt_oneapi_bindless_sampled_image_fetch_1d_usm : Aspect<"ext_oneapi_bindless_sampled_image_fetch_1d_usm">;
6462
def AspectExt_oneapi_bindless_sampled_image_fetch_1d : Aspect<"ext_oneapi_bindless_sampled_image_fetch_1d">;
6563
def AspectExt_oneapi_bindless_sampled_image_fetch_2d_usm : Aspect<"ext_oneapi_bindless_sampled_image_fetch_2d_usm">;
6664
def AspectExt_oneapi_bindless_sampled_image_fetch_2d : Aspect<"ext_oneapi_bindless_sampled_image_fetch_2d">;
67-
def AspectExt_oneapi_bindless_sampled_image_fetch_3d_usm : Aspect<"ext_oneapi_bindless_sampled_image_fetch_3d_usm">;
6865
def AspectExt_oneapi_bindless_sampled_image_fetch_3d : Aspect<"ext_oneapi_bindless_sampled_image_fetch_3d">;
6966
def AspectExt_oneapi_cubemap : Aspect<"ext_oneapi_cubemap">;
7067
def AspectExt_oneapi_cubemap_seamless_filtering : Aspect<"ext_oneapi_cubemap_seamless_filtering">;
68+
def AspectExt_oneapi_image_array : Aspect<"ext_oneapi_image_array">;
69+
def AspectExt_oneapi_unique_addressing_per_dim : Aspect<"ext_oneapi_unique_addressing_per_dim">;
70+
def AspectExt_oneapi_bindless_images_sample_1d_usm : Aspect<"ext_oneapi_bindless_images_sample_1d_usm">;
71+
def AspectExt_oneapi_bindless_images_sample_2d_usm : Aspect<"ext_oneapi_bindless_images_sample_2d_usm">;
7172
def AspectExt_intel_esimd : Aspect<"ext_intel_esimd">;
7273
def AspectExt_oneapi_ballot_group : Aspect<"ext_oneapi_ballot_group">;
7374
def AspectExt_oneapi_fixed_size_group : Aspect<"ext_oneapi_fixed_size_group">;
@@ -128,13 +129,16 @@ def : TargetInfo<"__TestAspectList",
128129
AspectExt_intel_device_id, AspectExt_intel_memory_clock_rate, AspectExt_intel_memory_bus_width, AspectEmulated,
129130
AspectExt_intel_legacy_image, AspectExt_oneapi_bindless_images,
130131
AspectExt_oneapi_bindless_images_shared_usm, AspectExt_oneapi_bindless_images_1d_usm, AspectExt_oneapi_bindless_images_2d_usm,
131-
AspectExt_oneapi_interop_memory_import, AspectExt_oneapi_interop_memory_export,
132-
AspectExt_oneapi_interop_semaphore_import, AspectExt_oneapi_interop_semaphore_export,
133-
AspectExt_oneapi_mipmap, AspectExt_oneapi_mipmap_anisotropy, AspectExt_oneapi_mipmap_level_reference, AspectExt_oneapi_cubemap,
132+
AspectExt_oneapi_interop_memory_import, AspectExt_oneapi_interop_semaphore_import,
133+
AspectExt_oneapi_mipmap, AspectExt_oneapi_mipmap_anisotropy, AspectExt_oneapi_mipmap_level_reference,
134+
AspectExt_oneapi_bindless_sampled_image_fetch_3d, AspectExt_oneapi_cubemap,
134135
AspectExt_oneapi_cubemap_seamless_filtering,
136+
AspectExt_oneapi_image_array,
137+
AspectExt_oneapi_unique_addressing_per_dim,
138+
AspectExt_oneapi_bindless_images_sample_1d_usm,
139+
AspectExt_oneapi_bindless_images_sample_2d_usm,
135140
AspectExt_oneapi_bindless_sampled_image_fetch_1d_usm, AspectExt_oneapi_bindless_sampled_image_fetch_1d,
136141
AspectExt_oneapi_bindless_sampled_image_fetch_2d_usm, AspectExt_oneapi_bindless_sampled_image_fetch_2d,
137-
AspectExt_oneapi_bindless_sampled_image_fetch_3d_usm, AspectExt_oneapi_bindless_sampled_image_fetch_3d,
138142
AspectExt_intel_esimd,
139143
AspectExt_oneapi_ballot_group, AspectExt_oneapi_fixed_size_group, AspectExt_oneapi_opportunistic_group,
140144
AspectExt_oneapi_tangle_group, AspectExt_intel_matrix, AspectExt_oneapi_is_composite, AspectExt_oneapi_is_component,
@@ -216,7 +220,9 @@ defvar CudaMinAspects = !listconcat(AllUSMAspects, [AspectGpu, AspectFp64, Aspec
216220
defvar CudaBindlessImagesAspects = [AspectExt_oneapi_bindless_images, AspectExt_oneapi_bindless_images_shared_usm,
217221
AspectExt_oneapi_bindless_images_1d_usm, AspectExt_oneapi_bindless_images_2d_usm, AspectExt_oneapi_interop_memory_import,
218222
AspectExt_oneapi_interop_semaphore_import, AspectExt_oneapi_mipmap, AspectExt_oneapi_mipmap_anisotropy,
219-
AspectExt_oneapi_mipmap_level_reference, AspectExt_oneapi_cubemap, AspectExt_oneapi_cubemap_seamless_filtering];
223+
AspectExt_oneapi_mipmap_level_reference, AspectExt_oneapi_cubemap, AspectExt_oneapi_cubemap_seamless_filtering,
224+
AspectExt_oneapi_image_array, AspectExt_oneapi_unique_addressing_per_dim, AspectExt_oneapi_bindless_images_sample_2d_usm,
225+
AspectExt_oneapi_bindless_images_sample_2d_usm];
220226

221227
def : CudaTargetInfo<"nvidia_gpu_sm_50", !listconcat(CudaMinAspects, CudaBindlessImagesAspects)>;
222228
def : CudaTargetInfo<"nvidia_gpu_sm_52", !listconcat(CudaMinAspects, CudaBindlessImagesAspects)>;

sycl/doc/extensions/experimental/sycl_ext_oneapi_bindless_images.asciidoc

Lines changed: 57 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,8 @@ The device aspects for these queries are:
135135
|======================
136136
|Device descriptor |Description
137137
|`aspect::ext_oneapi_bindless_images` | Indicates if the device supports
138-
creation of bindless images backed by the `image_mem` and `image_mem_handle`
139-
APIs.
138+
bindless images. This includes creating bindless images backed by the
139+
`image_mem` and `image_mem_handle` APIs.
140140
|`aspect::ext_oneapi_bindless_images_shared_usm` | Indicates if the device
141141
supports the creation of bindless images backed by shared USM memory.
142142
|`aspect::ext_oneapi_bindless_images_1d_usm` | Indicates if the device supports
@@ -714,6 +714,8 @@ represents the backend's default addressing mode. On CUDA this is `Wrap`, i.e.
714714
`addressing[3]` defines the addressing mode per texture dimension. A
715715
`bindless_image_sampler` can be constructed with a singular
716716
`sycl::addressing_mode`, where this parameter will define all dimensions.
717+
Not all devices may support unique addressing per dimension. We provide device
718+
aspect queries for this in <<querying_unique_addressing_support>>
717719

718720
`mipmap_filtering` dictates the method in which sampling between mipmap
719721
levels is performed.
@@ -1069,6 +1071,9 @@ not all devices may support fetching of sampled image data depending on the
10691071
dimension or backing memory type. We provide device aspect queries for this in
10701072
<<querying_sampled_image_fetch_support>>.
10711073

1074+
Additionally, not all devices may support sampling of USM images. We provide
1075+
device aspect queries for this in <<querying_usm_sample_support>>
1076+
10721077
The user is required to pass a `DataT` template parameter, which specifies the
10731078
return type of the `fetch_image` and `sample_image` functions. If `DataT` is
10741079
not a recognized standard type, as defined in <<recognized_standard_types>>,
@@ -1171,14 +1176,41 @@ The device aspect descriptors for these queries are:
11711176
|`aspect::ext_oneapi_bindless_sampled_image_fetch_2d` |
11721177
Indicates if the device is capable of fetching non-USM backed 2D
11731178
sampled image data.
1174-
|`aspect::ext_oneapi_bindless_sampled_image_fetch_3d_usm` |
1175-
Indicates if the device is capable of fetching USM backed 3D
1176-
sampled image data.
11771179
|`aspect::ext_oneapi_bindless_sampled_image_fetch_3d` |
11781180
Indicates if the device is capable of fetching non-USM backed 3D
11791181
sampled image data.
11801182
|======================
11811183

1184+
=== Querying USM sampling support [[querying_usm_sample_support]]
1185+
1186+
We provide the following device queries to query support for sampling USM
1187+
images.
1188+
1189+
The device aspect descriptors for these queries are:
1190+
1191+
[frame="none",options="header"]
1192+
|======================
1193+
|Device descriptor | Description
1194+
|`aspect::ext_oneapi_bindless_images_sample_1d_usm` | Indicates if the device
1195+
supports the sampling of 1D bindless images backed by USM.
1196+
|`aspect::ext_oneapi_bindless_images_sample_2d_usm` | Indicates if the device
1197+
supports the sampling of 2D bindless images backed by USM.
1198+
|======================
1199+
1200+
=== Querying unique addressing support [[querying_unique_addressing_support]]
1201+
1202+
We provide the following device queries to query support information for
1203+
unique addressing for each image dimension.
1204+
1205+
The device aspect descriptor for this query is:
1206+
1207+
[frame="none",options="header"]
1208+
|======================
1209+
|Device descriptor |Description
1210+
|`aspect::ext_oneapi_unique_addressing_per_dim` | Indicates if the device
1211+
supports unique addressing per dimension when sampling.
1212+
|======================
1213+
11821214
== Mipmapped images
11831215

11841216
So far, we have described how to create and operate on standard bindless images.
@@ -1312,6 +1344,20 @@ every index has the same dimensionality, size, and data type.
13121344
Image arrays may also be referred to as layered images, and the array indices
13131345
may be referred to layers.
13141346

1347+
=== Querying image array support
1348+
1349+
We provide the following device aspect to retrieve support information for
1350+
image arrays.
1351+
1352+
The device aspect descriptor for this query is:
1353+
1354+
[frame="none",options="header"]
1355+
|======================
1356+
|Device descriptor |Description
1357+
|`aspect::ext_oneapi_image_array` | Indicates if the device supports
1358+
image arrays.
1359+
|======================
1360+
13151361
=== Allocation of image arrays
13161362

13171363
Image arrays are allocated in a similar manner to standard images.
@@ -1547,12 +1593,8 @@ The device aspect descriptors for these queries are:
15471593
|Device descriptor |Description
15481594
|`aspect::ext_oneapi_interop_memory_import` | Indicates if the device supports
15491595
importing external memory resources.
1550-
|`aspect::ext_oneapi_interop_memory_export` | Indicates if the device supports
1551-
exporting internal memory resources.
15521596
|`aspect::ext_oneapi_interop_semaphore_import`` | Indicates if the device
15531597
supports importing external semaphore resources.
1554-
|`aspect::ext_oneapi_interop_semaphore_export` | Indicates if the device
1555-
supports exporting internal event resources.
15561598
|======================
15571599

15581600

@@ -2811,4 +2853,10 @@ These features still need to be handled:
28112853
funcs.
28122854
|5.14|2024-07-17| - Rename `destroy_external_semaphore` to
28132855
`release_external_semaphore`.
2856+
|5.15|2024-07-19 - Add missing device queries for image arrays, sampling USM
2857+
images and unique addressing per dimension.
2858+
- Remove aspects for semaphore export, memory export and fetch
2859+
3D USM images as they are not supported on any platform.
2860+
- Refine the description of `ext_oneapi_bindless_images` aspect
2861+
to indicate support for bindless image APIs.
28142862
|======================

sycl/include/sycl/detail/pi.h

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -206,9 +206,18 @@
206206
// 19.61 Rename piextDestroyExternalSemaphore to piextReleaseExternalSemaphore
207207
// 20.62 Changed the signature of piextMemImageCopy to take 2 image and format
208208
// descriptors.
209+
// 20.63 Added device queries
210+
// - PI_EXT_ONEAPI_DEVICE_INFO_IMAGE_ARRAY_SUPPORT
211+
// - PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_UNIQUE_ADDRESSING_PER_DIM
212+
// - PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_SAMPLE_1D_USM
213+
// - PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_SAMPLE_2D_USM
214+
// Removed device queries
215+
// - PI_EXT_ONEAPI_DEVICE_INFO_INTEROP_MEMORY_EXPORT_SUPPORT
216+
// - PI_EXT_ONEAPI_DEVICE_INFO_INTEROP_SEMAPHORE_EXPORT_SUPPORT
217+
// - PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_3D_USM
209218

210219
#define _PI_H_VERSION_MAJOR 20
211-
#define _PI_H_VERSION_MINOR 62
220+
#define _PI_H_VERSION_MINOR 63
212221

213222
#define _PI_STRING_HELPER(a) #a
214223
#define _PI_CONCAT(a, b) _PI_STRING_HELPER(a.b)
@@ -492,9 +501,7 @@ typedef enum {
492501
PI_EXT_ONEAPI_DEVICE_INFO_MIPMAP_MAX_ANISOTROPY = 0x2010A,
493502
PI_EXT_ONEAPI_DEVICE_INFO_MIPMAP_LEVEL_REFERENCE_SUPPORT = 0x2010B,
494503
PI_EXT_ONEAPI_DEVICE_INFO_INTEROP_MEMORY_IMPORT_SUPPORT = 0x2010C,
495-
PI_EXT_ONEAPI_DEVICE_INFO_INTEROP_MEMORY_EXPORT_SUPPORT = 0x2010D,
496504
PI_EXT_ONEAPI_DEVICE_INFO_INTEROP_SEMAPHORE_IMPORT_SUPPORT = 0x2010E,
497-
PI_EXT_ONEAPI_DEVICE_INFO_INTEROP_SEMAPHORE_EXPORT_SUPPORT = 0x2010F,
498505

499506
PI_EXT_ONEAPI_DEVICE_INFO_MATRIX_COMBINATIONS = 0x20110,
500507

@@ -515,7 +522,6 @@ typedef enum {
515522
PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_1D = 0x20118,
516523
PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_2D_USM = 0x20119,
517524
PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_2D = 0x2011A,
518-
PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_3D_USM = 0x2011B,
519525
PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_3D = 0x2011C,
520526

521527
// Timestamp enqueue
@@ -529,6 +535,12 @@ typedef enum {
529535

530536
// Return whether cluster launch is supported by device
531537
PI_EXT_ONEAPI_DEVICE_INFO_CLUSTER_LAUNCH = 0x2021,
538+
539+
// Bindless image arrays, unique addressing and USM sampling
540+
PI_EXT_ONEAPI_DEVICE_INFO_IMAGE_ARRAY_SUPPORT = 0x20122,
541+
PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_UNIQUE_ADDRESSING_PER_DIM = 0x20123,
542+
PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_SAMPLE_1D_USM = 0x20124,
543+
PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_SAMPLE_2D_USM = 0x20125,
532544
} _pi_device_info;
533545

534546
typedef enum {

sycl/include/sycl/device_aspect_macros.hpp

Lines changed: 40 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -238,21 +238,11 @@
238238
#define __SYCL_ALL_DEVICES_HAVE_ext_oneapi_interop_memory_import__ 0
239239
#endif
240240

241-
#ifndef __SYCL_ALL_DEVICES_HAVE_ext_oneapi_interop_memory_export__
242-
//__SYCL_ASPECT(ext_oneapi_interop_memory_export, 47)
243-
#define __SYCL_ALL_DEVICES_HAVE_ext_oneapi_interop_memory_export__ 0
244-
#endif
245-
246241
#ifndef __SYCL_ALL_DEVICES_HAVE_ext_oneapi_interop_semaphore_import__
247242
//__SYCL_ASPECT(ext_oneapi_interop_semaphore_import, 48)
248243
#define __SYCL_ALL_DEVICES_HAVE_ext_oneapi_interop_semaphore_import__ 0
249244
#endif
250245

251-
#ifndef __SYCL_ALL_DEVICES_HAVE_ext_oneapi_interop_semaphore_export__
252-
//__SYCL_ASPECT(ext_oneapi_interop_semaphore_export, 49)
253-
#define __SYCL_ALL_DEVICES_HAVE_ext_oneapi_interop_semaphore_export__ 0
254-
#endif
255-
256246
#ifndef __SYCL_ALL_DEVICES_HAVE_ext_oneapi_mipmap__
257247
//__SYCL_ASPECT(ext_oneapi_mipmap, 50)
258248
#define __SYCL_ALL_DEVICES_HAVE_ext_oneapi_mipmap__ 0
@@ -355,12 +345,6 @@
355345
#define __SYCL_ALL_DEVICES_HAVE_ext_oneapi_bindless_sampled_image_fetch_2d__ 0
356346
#endif
357347

358-
#ifndef __SYCL_ALL_DEVICES_HAVE_ext_oneapi_bindless_sampled_image_fetch_3d_usm__
359-
//__SYCL_ASPECT(ext_oneapi_bindless_sampled_image_fetch_3d_usm, 71)
360-
#define __SYCL_ALL_DEVICES_HAVE_ext_oneapi_bindless_sampled_image_fetch_3d_usm__ \
361-
0
362-
#endif
363-
364348
#ifndef __SYCL_ALL_DEVICES_HAVE_ext_oneapi_bindless_sampled_image_fetch_3d__
365349
//__SYCL_ASPECT(ext_oneapi_bindless_sampled_image_fetch_3d, 72)
366350
#define __SYCL_ALL_DEVICES_HAVE_ext_oneapi_bindless_sampled_image_fetch_3d__ 0
@@ -381,6 +365,26 @@
381365
#define __SYCL_ALL_DEVICES_HAVE_ext_oneapi_cuda_cluster_group__ 0
382366
#endif
383367

368+
#ifndef __SYCL_ALL_DEVICES_HAVE_ext_oneapi_image_array__
369+
//__SYCL_ASPECT(ext_oneapi_image_array, 76)
370+
#define __SYCL_ALL_DEVICES_HAVE_ext_oneapi_image_array__ 0
371+
#endif
372+
373+
#ifndef __SYCL_ALL_DEVICES_HAVE_ext_oneapi_unique_addressing_per_dim__
374+
//__SYCL_ASPECT(ext_oneapi_unique_addressing_per_dim, 77)
375+
#define __SYCL_ALL_DEVICES_HAVE_ext_oneapi_unique_addressing_per_dim__ 0
376+
#endif
377+
378+
#ifndef __SYCL_ALL_DEVICES_HAVE_ext_oneapi_bindless_images_sample_1d_usm__
379+
//__SYCL_ASPECT(ext_oneapi_bindless_images_sample_1d_usm, 78)
380+
#define __SYCL_ALL_DEVICES_HAVE_ext_oneapi_bindless_images_sample_1d_usm__ 0
381+
#endif
382+
383+
#ifndef __SYCL_ALL_DEVICES_HAVE_ext_oneapi_bindless_images_sample_2d_usm__
384+
//__SYCL_ASPECT(ext_oneapi_bindless_images_sample_2d_usm, 79)
385+
#define __SYCL_ALL_DEVICES_HAVE_ext_oneapi_bindless_images_sample_2d_usm__ 0
386+
#endif
387+
384388
#ifndef __SYCL_ANY_DEVICE_HAS_host__
385389
// __SYCL_ASPECT(host, 0)
386390
#define __SYCL_ANY_DEVICE_HAS_host__ 0
@@ -611,21 +615,11 @@
611615
#define __SYCL_ANY_DEVICE_HAS_ext_oneapi_interop_memory_import__ 0
612616
#endif
613617

614-
#ifndef __SYCL_ANY_DEVICE_HAS_ext_oneapi_interop_memory_export__
615-
//__SYCL_ASPECT(ext_oneapi_interop_memory_export, 47)
616-
#define __SYCL_ANY_DEVICE_HAS_ext_oneapi_interop_memory_export__ 0
617-
#endif
618-
619618
#ifndef __SYCL_ANY_DEVICE_HAS_ext_oneapi_interop_semaphore_import__
620619
//__SYCL_ASPECT(ext_oneapi_interop_semaphore_import, 48)
621620
#define __SYCL_ANY_DEVICE_HAS_ext_oneapi_interop_semaphore_import__ 0
622621
#endif
623622

624-
#ifndef __SYCL_ANY_DEVICE_HAS_ext_oneapi_interop_semaphore_export__
625-
//__SYCL_ASPECT(ext_oneapi_interop_semaphore_export, 49)
626-
#define __SYCL_ANY_DEVICE_HAS_ext_oneapi_interop_semaphore_export__ 0
627-
#endif
628-
629623
#ifndef __SYCL_ANY_DEVICE_HAS_ext_oneapi_mipmap__
630624
//__SYCL_ASPECT(ext_oneapi_mipmap, 50)
631625
#define __SYCL_ANY_DEVICE_HAS_ext_oneapi_mipmap__ 0
@@ -726,11 +720,6 @@
726720
#define __SYCL_ANY_DEVICE_HAS_ext_oneapi_bindless_sampled_image_fetch_2d__ 0
727721
#endif
728722

729-
#ifndef __SYCL_ANY_DEVICE_HAS_ext_oneapi_bindless_sampled_image_fetch_3d_usm__
730-
//__SYCL_ASPECT(ext_oneapi_bindless_sampled_image_fetch_3d_usm, 71)
731-
#define __SYCL_ANY_DEVICE_HAS_ext_oneapi_bindless_sampled_image_fetch_3d_usm__ 0
732-
#endif
733-
734723
#ifndef __SYCL_ANY_DEVICE_HAS_ext_oneapi_bindless_sampled_image_fetch_3d__
735724
//__SYCL_ASPECT(ext_oneapi_bindless_sampled_image_fetch_3d, 72)
736725
#define __SYCL_ANY_DEVICE_HAS_ext_oneapi_bindless_sampled_image_fetch_3d__ 0
@@ -750,3 +739,23 @@
750739
// __SYCL_ASPECT(ext_oneapi_cuda_cluster_group, 75)
751740
#define __SYCL_ANY_DEVICE_HAS_ext_oneapi_cuda_cluster_group__ 0
752741
#endif
742+
743+
#ifndef __SYCL_ANY_DEVICE_HAS_ext_oneapi_image_array__
744+
//__SYCL_ASPECT(ext_oneapi_image_array, 76)
745+
#define __SYCL_ANY_DEVICE_HAS_ext_oneapi_image_array__ 0
746+
#endif
747+
748+
#ifndef __SYCL_ANY_DEVICE_HAS_ext_oneapi_unique_addressing_per_dim__
749+
//__SYCL_ASPECT(ext_oneapi_unique_addressing_per_dim, 77)
750+
#define __SYCL_ANY_DEVICE_HAS_ext_oneapi_unique_addressing_per_dim__ 0
751+
#endif
752+
753+
#ifndef __SYCL_ANY_DEVICE_HAS_ext_oneapi_bindless_images_sample_1d_usm__
754+
//__SYCL_ASPECT(ext_oneapi_bindless_images_sample_1d_usm, 78)
755+
#define __SYCL_ANY_DEVICE_HAS_ext_oneapi_bindless_images_sample_1d_usm__ 0
756+
#endif
757+
758+
#ifndef __SYCL_ANY_DEVICE_HAS_ext_oneapi_bindless_images_sample_2d_usm__
759+
//__SYCL_ASPECT(ext_oneapi_bindless_images_sample_2d_usm, 79)
760+
#define __SYCL_ANY_DEVICE_HAS_ext_oneapi_bindless_images_sample_2d_usm__ 0
761+
#endif

sycl/include/sycl/info/aspects.def

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,7 @@ __SYCL_ASPECT(ext_oneapi_bindless_images_shared_usm, 43)
4040
__SYCL_ASPECT(ext_oneapi_bindless_images_1d_usm, 44)
4141
__SYCL_ASPECT(ext_oneapi_bindless_images_2d_usm, 45)
4242
__SYCL_ASPECT(ext_oneapi_interop_memory_import, 46)
43-
__SYCL_ASPECT(ext_oneapi_interop_memory_export, 47)
4443
__SYCL_ASPECT(ext_oneapi_interop_semaphore_import, 48)
45-
__SYCL_ASPECT(ext_oneapi_interop_semaphore_export, 49)
4644
__SYCL_ASPECT(ext_oneapi_mipmap, 50)
4745
__SYCL_ASPECT(ext_oneapi_mipmap_anisotropy, 51)
4846
__SYCL_ASPECT(ext_oneapi_mipmap_level_reference, 52)
@@ -63,8 +61,11 @@ __SYCL_ASPECT(ext_oneapi_bindless_sampled_image_fetch_1d_usm, 67)
6361
__SYCL_ASPECT(ext_oneapi_bindless_sampled_image_fetch_1d, 68)
6462
__SYCL_ASPECT(ext_oneapi_bindless_sampled_image_fetch_2d_usm, 69)
6563
__SYCL_ASPECT(ext_oneapi_bindless_sampled_image_fetch_2d, 70)
66-
__SYCL_ASPECT(ext_oneapi_bindless_sampled_image_fetch_3d_usm, 71)
6764
__SYCL_ASPECT(ext_oneapi_bindless_sampled_image_fetch_3d, 72)
6865
__SYCL_ASPECT(ext_oneapi_queue_profiling_tag, 73)
6966
__SYCL_ASPECT(ext_oneapi_virtual_mem, 74)
7067
__SYCL_ASPECT(ext_oneapi_cuda_cluster_group, 75)
68+
__SYCL_ASPECT(ext_oneapi_image_array, 76)
69+
__SYCL_ASPECT(ext_oneapi_unique_addressing_per_dim, 77)
70+
__SYCL_ASPECT(ext_oneapi_bindless_images_sample_1d_usm, 78)
71+
__SYCL_ASPECT(ext_oneapi_bindless_images_sample_2d_usm, 79)

sycl/plugins/unified_runtime/CMakeLists.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -100,12 +100,12 @@ if(SYCL_PI_UR_USE_FETCH_CONTENT)
100100
endfunction()
101101

102102
set(UNIFIED_RUNTIME_REPO "https://github.com/oneapi-src/unified-runtime.git")
103-
# commit d2b086a7170145f255e8702f512f6157b047cbe5
104-
# Author: Callum Fare <callum@codeplay.com>
105-
# Date: Mon Jul 22 11:11:32 2024 +0100
106-
# Merge pull request #1803 from cppchedy/chedy/new-ur-copy-api
107-
# [CUDA][L0][Bindless] update design of urBindlessImagesImageCopyExp
108-
set(UNIFIED_RUNTIME_TAG d2b086a7170145f255e8702f512f6157b047cbe5)
103+
# commit f11caf98857bb22800d09aedec8bd607643ab67b
104+
# Author: Kenneth Benzie (Benie) <k.benzie@codeplay.com>
105+
# Date: Tue Jul 23 15:28:10 2024 +0100
106+
# Merge pull request #1795 from DBDuncan/duncan/bindless-aspects
107+
# [Bindless][Exp] Update device_info enum elements and update Level Zero and CUDA backend device_info supported features
108+
set(UNIFIED_RUNTIME_TAG f11caf98857bb22800d09aedec8bd607643ab67b)
109109

110110
fetch_adapter_source(level_zero
111111
${UNIFIED_RUNTIME_REPO}

0 commit comments

Comments
 (0)