-
Notifications
You must be signed in to change notification settings - Fork 796
[SYCL][Bindless] Device 'image_mem_handle' to 'image_mem_handle' Sub-Region Copy #15579
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
Conversation
…Region Copy Add support for device 'image_mem_handle' to 'image_mem_handle' sub-region copies and implement tests
|
Friendly ping @intel/llvm-reviewers-runtime @cperkinsintel |
| const ext::oneapi::experimental::image_descriptor &ImageDesc); | ||
|
|
||
| // Device to device copy with offsets and extent | ||
| void ext_oneapi_copy( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
are we sure about this name? For something so generic like ext_oneapi_copy I would expect something that handles any type of memory (not just image data) and maybe across all address spaces (host, device). Much like queue.copy() is now.
But, the comments on this routine suggest its capability is much more focused. If so, I think it's name should express that. maybe something like ext_oneapi_d2d_img_copy or ext_d2d_img_copy ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We already have a lot of overloads that perform copies. The reason we chose this originally is we just intended to extend the existing copy functionality to support new bindless images. Also, our overloads are not just images to images but also memory to memory copies.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are other new overloads planned to be added. Such as host to host and device usm to device image_mem_handle.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have been thinking that perhaps the amount of ext_oneapi_copy overloads we have is getting a bit unwieldy. Especially considering a number additional ones need to be added to support more device to device copy variants.
I don't think it would be a good idea to start making changes involving other copy functions here. But something to be looked into later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry for not responding to your comments earlier. If there are other overloads that handle other data types, it wouldn't hurt to mention that in the comment. Even just "this overload of ext_copy is for bindless images".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No problem, thanks for the approval! On your suggestion, it would likely be best to apply a comment like you suggest to all the overloads at the same time which is a bit out of scope it feels for this PR. As there are 50~ of them (Have to triple them in queue.hpp...). queue.hpp and handler.hpp need a bit of a refactor which is very tentatively planned early next year. Double checking the order of the functions and their corresponding comments. Comments stating they are overloads for bindless images can be added then.
…gDesc' to align with existing code
|
@cperkinsintel Friendly ping |
|
@intel/llvm-gatekeepers Please merge, thanks! |
Add support for device 'image_mem_handle' to 'image_mem_handle' sub-region copies and implement tests