-
Notifications
You must be signed in to change notification settings - Fork 768
[SYCL][HIP] Understanding the support status for CXX standard library functions #9717
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
Comments
Hi @nmnobre,
Yeah, in general standard C++ library is not guaranteed to be supported in SYCL kernels and it only (partially) works because at intel/llvm we have an extension for that: extension spec.
I suppose that that extra overload for |
Thank you @AlexeySachkov. :-)
Indeed, but I was under the impression that there needs to be some backend specific work to enable this functionality?
I see, although could it be that they make the exception in the text because |
To add onto the existing answers, it also depends on what the compiler is able to do with the When that happens the This is essentially what the PR you linked about the CUDA support does: provide definitions for standard library functions the NVPTX backend may call. We haven't done that for the AMDGPU backend so when using standard library functions you may run into linking issues. Another example of this was before we added the extra definitions for CUDA, trying to use trigonometric functions like |
No I suspect it would be about the same as for CUDA, if anything likely a bit easier since there's the CUDA PR as an example. It's definitely something we want to do at some point but we have other priorities at the moment so it might take a while until we get to it. |
Hi,
I was wondering if anyone would be happy to explain why the following code,
does not compile for AMD GPUs:
clang++ -fsycl -fsycl-targets=amdgcn-amd-amdhsa -Xsycl-target-backend --offload-arch=gfx90a -o abs abs.cc
I'm pretty sure this is because we don't support CXX standard library functions for the HIP backend...
But then, why/how does replacing the type declaration with
double c = -9;
work?Thank you,
-Nuno
The text was updated successfully, but these errors were encountered: