-
Notifications
You must be signed in to change notification settings - Fork 769
Dev cloud back end JIT failure #1642
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
@paboyle, did you tried to report this to https://software.intel.com/en-us/forums/intel-oneapi-forums? We have more engineers there helping with the questions related to DevCould and oneAPI toolchain. What toolchain/compiler version do you use? |
I was using beta06 on the devcloud; I'm registering with the forum and will report there |
I just realized that we have a separate forum for DevCould issues: https://software.intel.com/en-us/forums/intel-devcloud, but your seems to be related to toolchain. |
Updated the GitHub branch and configure option now as above. The complex arithmetic JIT bug persists. Beta06 on devcloud. Wasn't able to register for the forum - the confirmation email never came. |
@paboyle I was able to get a simple |
Wow Bryce - thanks a million. That is incredibly helpful. Will have a go. |
Let me know if it works for you. This is not a good "standard" SYCL solution, but FWIW hipsycl seems to work out of the box with std::complex. ComputeCpp 2.0.0 warns that __muldc3 is not found at compile time, then fails in a similar way as dpcpp at runtime. I started a forum conversation at their forum here: Hacks are fine short term, but I'd also like to understand the direction of the SYCL standard on this. Seems to me like it's a gap in the standard - if the device compiler / runtime happens to support it, everything works great, but AFAIK it's not required or even clearly defined as an extension. |
Yeah - complex and GPU is a mess right now. |
HIP seems to work out of the box with |
Hi Bryce -- very interesting - single still fails, but double precision now passes simple arithmetic tests with complex arithmetic with these files linked. Haven't check all transcendental complex maths yet, but double complex exponential works. Of course all the thrust discussion is about getting that functionality. +,-,*,/ is easy - it's the library functionality that is the real benefit from reuse... Assuming they eventually support all the STL mandated transcendental it puts SYCL in a much more civilised state than CUDA. |
I assume I can get single with the non-fp64 versions : libsycl-cmath-fp64.o |
Yes I think so, I haven't tested single precision yet. Including both in the link line also seems to work, which is potentially convenient for a library install that might require both. For cmake, I added the .o files to target_sources on the gtensor INTERFACE library, to get the object files linked on executable that link gtensor. |
I am trying to resolve this right now when compiling against the devcloud as well (targeting Intel Gen 9 integrated GPU) Unfortunately, I get a number of math-related undefined references even when I link against the compiled objects mentioned in this thread.
|
Closing as this works on devcloud under beta10 with -fsycl-device-lib=all |
Co-authored-by: Sven van Haastregt <[email protected]> Original commit: KhronosGroup/SPIRV-LLVM-Translator@a92e719
Co-authored-by: Sven van Haastregt <[email protected]> Original commit: KhronosGroup/SPIRV-LLVM-Translator@a92e719
Co-authored-by: Sven van Haastregt <[email protected]> Original commit: KhronosGroup/SPIRV-LLVM-Translator@a92e719
Much more painless than CUDA support was so far. C++ friendliness is good,
though hitting some not trivially copy constructible complaints for Lambda captures.
First cut compile of entire application goes (almost) through, which is pretty awesome.
(Compile is rather slow, but mustn't grumble)
But running gives
Advice welcome?
The text was updated successfully, but these errors were encountered: