Skip to content

Commit a87bb8b

Browse files
authored
[SYCL][Bindless] Change the name of map_external_memory_array (#11681)
* Change the name of `map_external_memory_array` to `map_external_image_memory` * The original name map_external_memory_array was chosen as when mapping external memory in the CUDA backend, we mapped to a CUarray object. * This is not an ideal name, and doesn't best reflect the functionality of map_external_memory_array, especially once we map external memory in different backends.
1 parent 73bba79 commit a87bb8b

File tree

7 files changed

+82
-20
lines changed

7 files changed

+82
-20
lines changed

sycl/doc/extensions/experimental/sycl_ext_oneapi_bindless_images.asciidoc

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1238,12 +1238,12 @@ interop_mem_handle import_external_memory(
12381238
external_mem_descriptor<external_mem_handle_type> externalMemDescriptor,
12391239
const sycl::queue &syclQueue);
12401240

1241-
image_mem_handle map_external_memory_array(
1241+
image_mem_handle map_external_image_memory(
12421242
interop_mem_handle interopMemHandle,
12431243
const image_descriptor &imageDescriptor,
12441244
const sycl::device &syclDevice,
12451245
const sycl::context &syclContext);
1246-
image_mem_handle map_external_memory_array(
1246+
image_mem_handle map_external_image_memory(
12471247
interop_mem_handle interopMemHandle,
12481248
const image_descriptor &imageDescriptor,
12491249
const sycl::queue &syclQueue);
@@ -1784,10 +1784,10 @@ try {
17841784

17851785
// Extension: map imported external memory to image memory
17861786
sycl::ext::oneapi::experimental::image_mem_handle input_mapped_mem_handle =
1787-
sycl::ext::oneapi::experimental::map_external_memory_array(
1787+
sycl::ext::oneapi::experimental::map_external_image_memory(
17881788
input_interop_mem_handle, desc, queue);
17891789
sycl::ext::oneapi::experimental::image_mem_handle output_mapped_mem_handle =
1790-
sycl::ext::oneapi::experimental::map_external_memory_array(
1790+
sycl::ext::oneapi::experimental::map_external_image_memory(
17911791
output_interop_mem_handle, desc, queue);
17921792

17931793
// Extension: create images from mapped memory and return the handles
@@ -1995,4 +1995,6 @@ These features still need to be handled:
19951995
|4.6|2023-09-19| - Clarify restrictions on reading/writing coordinate types
19961996
|4.7|2023-10-16| - Introduce `read_mipmap` for mipmap access and clarify reading
19971997
restrictions on image types
1998+
|4.8|2023-10-25| - Change the name of `map_external_memory_array` to
1999+
`map_external_image_memory` to avoid CUDA terminology
19982000
|======================

sycl/include/sycl/ext/oneapi/bindless_images.hpp

Lines changed: 41 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,38 @@ __SYCL_EXPORT interop_mem_handle import_external_memory(
213213
external_mem_descriptor<ExternalMemHandleType> externalMem,
214214
const sycl::queue &syclQueue);
215215

216+
/**
217+
* @brief [Deprecated] Maps an interop memory handle to an image memory
218+
* handle (which may have a device optimized memory layout)
219+
*
220+
* @param memHandle Interop memory handle
221+
* @param desc The image descriptor
222+
* @param syclDevice The device in which we create our image memory handle
223+
* @param syclContext The conext in which we create our image memory handle
224+
* @return Memory handle to externally allocated memory on the device
225+
*/
226+
__SYCL_EXPORT_DEPRECATED("map_external_memory_array is deprecated."
227+
"use map_external_image_memory")
228+
image_mem_handle map_external_memory_array(interop_mem_handle memHandle,
229+
const image_descriptor &desc,
230+
const sycl::device &syclDevice,
231+
const sycl::context &syclContext);
232+
233+
/**
234+
* @brief [Deprecated] Maps an interop memory handle to an image memory
235+
* handle (which may have a device optimized memory layout)
236+
*
237+
* @param memHandle Interop memory handle
238+
* @param desc The image descriptor
239+
* @param syclQueue The queue in which we create our image memory handle
240+
* @return Memory handle to externally allocated memory on the device
241+
*/
242+
__SYCL_EXPORT_DEPRECATED("map_external_memory_array is deprecated."
243+
"use map_external_image_memory")
244+
image_mem_handle map_external_memory_array(interop_mem_handle memHandle,
245+
const image_descriptor &desc,
246+
const sycl::queue &syclQueue);
247+
216248
/**
217249
* @brief Maps an interop memory handle to an image memory handle (which may
218250
* have a device optimized memory layout)
@@ -223,9 +255,11 @@ __SYCL_EXPORT interop_mem_handle import_external_memory(
223255
* @param syclContext The conext in which we create our image memory handle
224256
* @return Memory handle to externally allocated memory on the device
225257
*/
226-
__SYCL_EXPORT image_mem_handle map_external_memory_array(
227-
interop_mem_handle memHandle, const image_descriptor &desc,
228-
const sycl::device &syclDevice, const sycl::context &syclContext);
258+
__SYCL_EXPORT
259+
image_mem_handle map_external_image_memory(interop_mem_handle memHandle,
260+
const image_descriptor &desc,
261+
const sycl::device &syclDevice,
262+
const sycl::context &syclContext);
229263

230264
/**
231265
* @brief Maps an interop memory handle to an image memory handle (which may
@@ -236,9 +270,10 @@ __SYCL_EXPORT image_mem_handle map_external_memory_array(
236270
* @param syclQueue The queue in which we create our image memory handle
237271
* @return Memory handle to externally allocated memory on the device
238272
*/
239-
__SYCL_EXPORT image_mem_handle map_external_memory_array(
240-
interop_mem_handle memHandle, const image_descriptor &desc,
241-
const sycl::queue &syclQueue);
273+
__SYCL_EXPORT
274+
image_mem_handle map_external_image_memory(interop_mem_handle memHandle,
275+
const image_descriptor &desc,
276+
const sycl::queue &syclQueue);
242277

243278
/**
244279
* @brief Import external semaphore taking an external semaphore handle (the

sycl/source/detail/bindless_images.cpp

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -526,9 +526,11 @@ __SYCL_EXPORT interop_mem_handle import_external_memory<external_mem_fd>(
526526
externalMem, syclQueue.get_device(), syclQueue.get_context());
527527
}
528528

529-
__SYCL_EXPORT image_mem_handle map_external_memory_array(
530-
interop_mem_handle memHandle, const image_descriptor &desc,
531-
const sycl::device &syclDevice, const sycl::context &syclContext) {
529+
__SYCL_EXPORT
530+
image_mem_handle map_external_image_memory(interop_mem_handle memHandle,
531+
const image_descriptor &desc,
532+
const sycl::device &syclDevice,
533+
const sycl::context &syclContext) {
532534
std::shared_ptr<sycl::detail::context_impl> CtxImpl =
533535
sycl::detail::getSyclObjImpl(syclContext);
534536
pi_context C = CtxImpl->getHandleRef();
@@ -551,9 +553,28 @@ __SYCL_EXPORT image_mem_handle map_external_memory_array(
551553
return image_mem_handle{retHandle};
552554
}
553555

554-
__SYCL_EXPORT image_mem_handle map_external_memory_array(
555-
interop_mem_handle memHandle, const image_descriptor &desc,
556-
const sycl::queue &syclQueue) {
556+
__SYCL_EXPORT
557+
image_mem_handle map_external_image_memory(interop_mem_handle memHandle,
558+
const image_descriptor &desc,
559+
const sycl::queue &syclQueue) {
560+
return map_external_image_memory(memHandle, desc, syclQueue.get_device(),
561+
syclQueue.get_context());
562+
}
563+
564+
__SYCL_EXPORT_DEPRECATED("map_external_memory_array is deprecated."
565+
"use map_external_image_memory")
566+
image_mem_handle map_external_memory_array(interop_mem_handle memHandle,
567+
const image_descriptor &desc,
568+
const sycl::device &syclDevice,
569+
const sycl::context &syclContext) {
570+
return map_external_image_memory(memHandle, desc, syclDevice, syclContext);
571+
}
572+
573+
__SYCL_EXPORT_DEPRECATED("map_external_memory_array is deprecated."
574+
"use map_external_image_memory")
575+
image_mem_handle map_external_memory_array(interop_mem_handle memHandle,
576+
const image_descriptor &desc,
577+
const sycl::queue &syclQueue) {
557578
return map_external_memory_array(memHandle, desc, syclQueue.get_device(),
558579
syclQueue.get_context());
559580
}

sycl/test-e2e/bindless_images/vulkan_interop/sampled_images.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ handles_t create_test_handles(
7575

7676
// Extension: interop mem handle imported from file descriptor
7777
syclexp::image_mem_handle inputMappedMemHandle =
78-
syclexp::map_external_memory_array(inputInteropMemHandle, desc, dev,
78+
syclexp::map_external_image_memory(inputInteropMemHandle, desc, dev,
7979
ctxt);
8080

8181
// Extension: create the image and return the handle

sycl/test-e2e/bindless_images/vulkan_interop/unsampled_images.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,13 @@ create_test_handles(sycl::context &ctxt, sycl::device &dev,
5656

5757
// Extension: map image memory handles
5858
syclexp::image_mem_handle input_mapped_mem_handle_1 =
59-
syclexp::map_external_memory_array(input_interop_mem_handle_1, desc, dev,
59+
syclexp::map_external_image_memory(input_interop_mem_handle_1, desc, dev,
6060
ctxt);
6161
syclexp::image_mem_handle input_mapped_mem_handle_2 =
62-
syclexp::map_external_memory_array(input_interop_mem_handle_2, desc, dev,
62+
syclexp::map_external_image_memory(input_interop_mem_handle_2, desc, dev,
6363
ctxt);
6464
syclexp::image_mem_handle output_mapped_mem_handle =
65-
syclexp::map_external_memory_array(output_interop_mem_handle, desc, dev,
65+
syclexp::map_external_image_memory(output_interop_mem_handle, desc, dev,
6666
ctxt);
6767

6868
// Extension: create the image and return the handle

sycl/test/abi/sycl_symbols_linux.dump

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3707,6 +3707,8 @@ _ZN4sycl3_V13ext6oneapi12experimental24release_from_device_copyEPKvRKNS0_5queueE
37073707
_ZN4sycl3_V13ext6oneapi12experimental24release_from_device_copyEPKvRKNS0_7contextE
37083708
_ZN4sycl3_V13ext6oneapi12experimental25import_external_semaphoreINS3_21external_semaphore_fdEEENS3_24interop_semaphore_handleENS3_29external_semaphore_descriptorIT_EERKNS0_5queueE
37093709
_ZN4sycl3_V13ext6oneapi12experimental25import_external_semaphoreINS3_21external_semaphore_fdEEENS3_24interop_semaphore_handleENS3_29external_semaphore_descriptorIT_EERKNS0_6deviceERKNS0_7contextE
3710+
_ZN4sycl3_V13ext6oneapi12experimental25map_external_image_memoryENS3_18interop_mem_handleERKNS3_16image_descriptorERKNS0_5queueE
3711+
_ZN4sycl3_V13ext6oneapi12experimental25map_external_image_memoryENS3_18interop_mem_handleERKNS3_16image_descriptorERKNS0_6deviceERKNS0_7contextE
37103712
_ZN4sycl3_V13ext6oneapi12experimental25map_external_memory_arrayENS3_18interop_mem_handleERKNS3_16image_descriptorERKNS0_5queueE
37113713
_ZN4sycl3_V13ext6oneapi12experimental25map_external_memory_arrayENS3_18interop_mem_handleERKNS3_16image_descriptorERKNS0_6deviceERKNS0_7contextE
37123714
_ZN4sycl3_V13ext6oneapi12experimental26destroy_external_semaphoreENS3_24interop_semaphore_handleERKNS0_5queueE

sycl/test/abi/sycl_symbols_windows.dump

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1377,6 +1377,8 @@
13771377
?malloc_shared@_V1@sycl@@YAPEAX_KAEBVqueue@12@AEBUcode_location@detail@12@@Z
13781378
?malloc_shared@_V1@sycl@@YAPEAX_KAEBVqueue@12@AEBVproperty_list@12@AEBUcode_location@detail@12@@Z
13791379
?map@MemoryManager@detail@_V1@sycl@@SAPEAXPEAVSYCLMemObjI@234@PEAXV?$shared_ptr@Vqueue_impl@detail@_V1@sycl@@@std@@W4mode@access@34@IV?$range@$02@34@4V?$id@$02@34@IV?$vector@PEAU_pi_event@@V?$allocator@PEAU_pi_event@@@std@@@7@AEAPEAU_pi_event@@@Z
1380+
?map_external_image_memory@experimental@oneapi@ext@_V1@sycl@@YA?AUimage_mem_handle@12345@Uinterop_mem_handle@12345@AEBUimage_descriptor@12345@AEBVdevice@45@AEBVcontext@45@@Z
1381+
?map_external_image_memory@experimental@oneapi@ext@_V1@sycl@@YA?AUimage_mem_handle@12345@Uinterop_mem_handle@12345@AEBUimage_descriptor@12345@AEBVqueue@45@@Z
13801382
?map_external_memory_array@experimental@oneapi@ext@_V1@sycl@@YA?AUimage_mem_handle@12345@Uinterop_mem_handle@12345@AEBUimage_descriptor@12345@AEBVdevice@45@AEBVcontext@45@@Z
13811383
?map_external_memory_array@experimental@oneapi@ext@_V1@sycl@@YA?AUimage_mem_handle@12345@Uinterop_mem_handle@12345@AEBUimage_descriptor@12345@AEBVqueue@45@@Z
13821384
?markAsInternal@SYCLMemObjT@detail@_V1@sycl@@QEAAXXZ

0 commit comments

Comments
 (0)