Skip to content

[SYCL][Bindless][Doc][ABI-Break] Add const qualifiers to copies #14140

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 18 commits into from
Jul 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -750,13 +750,13 @@ public:

// Simple host to device copy
void ext_oneapi_copy(
void *Src,
const void *Src,
ext::oneapi::experimental::image_mem_handle Dest,
const ext::oneapi::experimental:image_descriptor &DestImgDesc);

// Host to device copy with offsets and extent
void ext_oneapi_copy(
void *Src,
const void *Src,
sycl::range<3> SrcOffset,
sycl::range<3> SrcExtent,
ext::oneapi::experimental::image_mem_handle Dest,
Expand All @@ -766,13 +766,13 @@ public:

// Simple device to host copy
void ext_oneapi_copy(
ext::oneapi::experimental::image_mem_handle Src,
const ext::oneapi::experimental::image_mem_handle Src,
void *Dest,
const ext::oneapi::experimental::image_descriptor &SrcImgDesc);

// Device to host copy with offsets and extent
void ext_oneapi_copy(
ext::oneapi::experimental::image_mem_handle Src,
const ext::oneapi::experimental::image_mem_handle Src,
sycl::range<3> SrcOffset,
const ext::oneapi::experimental::image_descriptor &SrcImgDesc,
void *Dest,
Expand All @@ -781,14 +781,14 @@ public:
sycl::range<3> CopyExtent);

// Simple HtoD or DtoH copy with USM device memory
void ext_oneapi_copy(void *Src,
void ext_oneapi_copy(const void *Src,
void *Dest,
const ext::oneapi::experimental::image_descriptor &Desc,
size_t DeviceRowPitch);

// HtoD or DtoH copy with USM device memory, using offsets, extent
void ext_oneapi_copy(
void *Src,
const void *Src,
sycl::range<3> SrcOffset,
void *Dest,
sycl::range<3> DestOffset,
Expand All @@ -799,7 +799,7 @@ public:

// Simple device to device copy
void ext_oneapi_copy(
ext::oneapi::experimental::image_mem_handle Src,
const ext::oneapi::experimental::image_mem_handle Src,
ext::oneapi::experimental::image_mem_handle Dest,
const ext::oneapi::experimental::image_descriptor &ImageDesc);
};
Expand All @@ -808,37 +808,37 @@ class queue {
public:

// Simple host to device copy
event ext_oneapi_copy(void *Src,
event ext_oneapi_copy(const void *Src,
ext::oneapi::experimental::image_mem_handle Dest,
const ext::oneapi::experimental::image_descriptor &DestImgDesc);
event ext_oneapi_copy(void *Src,
event ext_oneapi_copy(const void *Src,
ext::oneapi::experimental::image_mem_handle Dest,
const ext::oneapi::experimental::image_descriptor &DestImgDesc,
event DepEvent);
event ext_oneapi_copy(void *Src,
event ext_oneapi_copy(const void *Src,
ext::oneapi::experimental::image_mem_handle Dest,
const ext::oneapi::experimental::image_descriptor &DestImgDesc,
const std::vector<event> &DepEvents);

// Host to device copy with offsets and extent
event ext_oneapi_copy(
void *Src,
const void *Src,
range<3> SrcOffset,
range<3> SrcExtent,
ext::oneapi::experimental::image_mem_handle Dest,
range<3> DestOffset,
const ext::oneapi::experimental::image_descriptor &DestImgDesc,
range<3> CopyExtent);
event ext_oneapi_copy(
void *Src,
const void *Src,
range<3> SrcOffset,
range<3> SrcExtent,
ext::oneapi::experimental::image_mem_handle Dest,
range<3> DestOffset,
const ext::oneapi::experimental::image_descriptor &DestImgDesc,
range<3> Extent, event DepEvent);
event ext_oneapi_copy(
void *Src,
const void *Src,
range<3> SrcOffset,
range<3> SrcExtent,
ext::oneapi::experimental::image_mem_handle Dest,
Expand All @@ -848,39 +848,39 @@ public:

// Simple device to host copy
event ext_oneapi_copy(
ext::oneapi::experimental::image_mem_handle Src,
const ext::oneapi::experimental::image_mem_handle Src,
void *Dest,
const ext::oneapi::experimental::image_descriptor &Desc);
event ext_oneapi_copy(
ext::oneapi::experimental::image_mem_handle Src,
const ext::oneapi::experimental::image_mem_handle Src,
void *Dest,
const ext::oneapi::experimental::image_descriptor &Desc,
event DepEvent);
event ext_oneapi_copy(
ext::oneapi::experimental::image_mem_handle Src,
const ext::oneapi::experimental::image_mem_handle Src,
void *Dest,
const ext::oneapi::experimental::image_descriptor &Desc,
const std::vector<event> &DepEvents);

// Device to host copy with offsets and extent
event ext_oneapi_copy(
ext::oneapi::experimental::image_mem_handle Src,
const ext::oneapi::experimental::image_mem_handle Src,
range<3> SrcOffset,
const ext::oneapi::experimental::image_descriptor &SrcImgDesc,
void *Dest,
range<3> DestOffset,
range<3> DestExtent,
range<3> CopyExtent);
event ext_oneapi_copy(
ext::oneapi::experimental::image_mem_handle Src,
const ext::oneapi::experimental::image_mem_handle Src,
range<3> SrcOffset,
const ext::oneapi::experimental::image_descriptor &SrcImgDesc,
void *Dest,
range<3> DestOffset,
range<3> DestExtent,
range<3> CopyExtent, event DepEvent);
event ext_oneapi_copy(
ext::oneapi::experimental::image_mem_handle Src,
const ext::oneapi::experimental::image_mem_handle Src,
range<3> SrcOffset,
const ext::oneapi::experimental::image_descriptor &SrcImgDesc,
void *Dest,
Expand All @@ -890,38 +890,38 @@ public:

// Host to device OR device to host using USM device memory
event ext_oneapi_copy(
void *Src, void *Dest,
const void *Src, void *Dest,
const ext::oneapi::experimental::image_descriptor &DeviceImgDesc,
size_t DeviceRowPitch);
event ext_oneapi_copy(
void *Src, void *Dest,
const void *Src, void *Dest,
const ext::oneapi::experimental::image_descriptor &DeviceImgDesc,
size_t DeviceRowPitch,
event DepEvent);
event ext_oneapi_copy(
void *Src, void *Dest,
const void *Src, void *Dest,
const ext::oneapi::experimental::image_descriptor &DeviceImgDesc,
size_t DeviceRowPitch,
const std::vector<event> &DepEvents);

// Host to device OR device to host using USM device memory,
// with control over sub-region
event ext_oneapi_copy(
void *Src, sycl::range<3> SrcOffset,
const void *Src, sycl::range<3> SrcOffset,
void *Dest, sycl::range<3> DestOffset,
const ext::oneapi::experimental::image_descriptor &DeviceImgDesc,
size_t DeviceRowPitch,
sycl::range<3> HostExtent,
sycl::range<3> CopyExtent);
event ext_oneapi_copy(
void *Src, sycl::range<3> SrcOffset,
const void *Src, sycl::range<3> SrcOffset,
void *Dest, sycl::range<3> DestOffset,
const ext::oneapi::experimental::image_descriptor &DeviceImgDesc,
size_t DeviceRowPitch,
sycl::range<3> HostExtent,
sycl::range<3> CopyExtent);
event ext_oneapi_copy(
void *Src, sycl::range<3> SrcOffset,
const void *Src, sycl::range<3> SrcOffset,
void *Dest, sycl::range<3> DestOffset,
const ext::oneapi::experimental::image_descriptor &DeviceImgDesc,
size_t DeviceRowPitch,
Expand All @@ -930,16 +930,16 @@ public:

// Simple device to device copy
event ext_oneapi_copy(
ext::oneapi::experimental::image_mem_handle Src,
const ext::oneapi::experimental::image_mem_handle Src,
ext::oneapi::experimental::image_mem_handle Dest,
const ext::oneapi::experimental::image_descriptor &ImageDesc);
event ext_oneapi_copy(
ext::oneapi::experimental::image_mem_handle Src,
const ext::oneapi::experimental::image_mem_handle Src,
ext::oneapi::experimental::image_mem_handle Dest,
const ext::oneapi::experimental::image_descriptor &ImageDesc,
event DepEvent);
event ext_oneapi_copy(
ext::oneapi::experimental::image_mem_handle Src,
const ext::oneapi::experimental::image_mem_handle Src,
ext::oneapi::experimental::image_mem_handle Dest,
const ext::oneapi::experimental::image_descriptor &ImageDesc,
const std::vector<event> &DepEvents);
Expand Down Expand Up @@ -2806,4 +2806,6 @@ These features still need to be handled:
|5.12|2024-06-19| - Add support for sampled image arrays.
- Sample image arrays with `sample_image_array` API.
- Fetch sampled image arrays with `fetch_image_array` API.
|5.13|2024-07-10| - Added const-qualifiers to `Src` param in `ext_oneapi_copy`
funcs.
|======================
5 changes: 3 additions & 2 deletions sycl/include/sycl/detail/pi.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,9 +200,10 @@
// 16.57 Added mappings to UR launch properties extension
// (piextEnqueueKernelLaunchCustom)
// 17.58 Added context parameter to piextMemImageGetInfo
// 17.59 Added const-qualifier to src_ptr in piextMemImageCopy.

#define _PI_H_VERSION_MAJOR 17
#define _PI_H_VERSION_MINOR 58
#define _PI_H_VERSION_MINOR 59

#define _PI_STRING_HELPER(a) #a
#define _PI_CONCAT(a, b) _PI_STRING_HELPER(a.b)
Expand Down Expand Up @@ -3094,7 +3095,7 @@ __SYCL_EXPORT pi_result piextBindlessImageSamplerCreate(
/// \param event_wait_list is the list of events to wait on before copying
/// \param event is the returned event representing this operation
__SYCL_EXPORT pi_result piextMemImageCopy(
pi_queue command_queue, void *dst_ptr, void *src_ptr,
pi_queue command_queue, void *dst_ptr, const void *src_ptr,
const pi_image_format *image_format, const pi_image_desc *image_desc,
const pi_image_copy_flags flags, pi_image_offset src_offset,
pi_image_offset dst_offset, pi_image_region copy_extent,
Expand Down
Loading
Loading