Skip to content
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

[SYCL][Ext][Bindless] Initial implementation of image spirv builtins on HIP #16439

Open
wants to merge 1 commit into
base: sycl
Choose a base branch
from

Conversation

GeorgeWeb
Copy link
Contributor

@GeorgeWeb GeorgeWeb commented Dec 20, 2024

This PR implements the required spirv builtins in the libclc for AMD targets to support image fetching (excluding sampled fetch for now) and sampling as well as image array fetching and sampling.

Additionally, End-to-end tests are updated to require the aspects corresponding to the feature that is being tested from the Bindless Images extension. This helps avoid having to manually say which backend adapter is supported or unsupported and instead rely on support based on aspect/device queries to drive the execution of the tests.

HIP adapter implementation in UR: oneapi-src/unified-runtime#2496

Signed-off-by: Georgi Mirazchiyski [email protected]

…on HIP

TODO: Complete the description with more information.

Signed-off-by: Georgi Mirazchiyski <[email protected]>
@GeorgeWeb
Copy link
Contributor Author

GeorgeWeb commented Jan 7, 2025

I appreciate that image.cl is quite large and can only grow more (e.g. mipmaps, cubemaps, etc.) in the future, so I can consider splitting into image.cl for image/sampling functions, image_array.cl for image array/array sampling functions and image_common.h to hold all the commonly shared macros and functions.

Copy link
Contributor

@jchlanda jchlanda left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

This patch brings in a lot of new hand mangled names, was wondering if it would be at all possible to try and avoid those?

#endif

#ifdef _WIN32
#define _CLC_MANGLE_FUNC_IMG_HANDLE(namelength, name, prefix, postfix) \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't that the kind of thing that the remangler should handle, as in m - y, long (long) unsigned?

@jchlanda
Copy link
Contributor

jchlanda commented Jan 8, 2025

I appreciate that image.cl is quite large and can only grow more (e.g. mipmaps, cubemaps, etc.) in the future, so I can consider splitting into image.cl for image/sampling functions, image_array.cl for image array/array sampling functions and image_common.h to hold all the commonly shared macros and functions.

I think that would be a good idea.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
sycl-bindless-images SYCL Bindless Images
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants