#hipSYCL Becomes Open #SYCL For Targeting All Major CPUs & GPUs
https://www.phoronix.com/news/hipSYCL-Becomes-Open-SYCL
Original tweet : https://twitter.com/phoronix/status/1623848586222993410
Next #hipSYCL release is going to be christmas for everybody using SYCL!
Pic shows how our new single-pass compiler creates binaries that run on any AMD/Intel/NVIDIA GPU with little additional compile time compared to regular host compiler.A fraction of the time of other approaches!
None of the other shown compilation flows is as general as the new generic single-pass compiler: nvc++ runs only on NVIDIA. The ones with gfx* will only run on exactly these AMD GPUs. And yet compiling is slower.
I've merged the new generic single-pass compiler today. Every #hipSYCL using LLVM >= 14 will now be able to target any Intel/NVIDIA/AMD GPU in a single compiler pass. Just use --hipsycl-targets="generic". It will lower at runtime to PTX, amdgcn, SPIR-V depending on what is needed.
Atomic builtins, group algorithms, reductions and some hipSYCL extensions are not yet implemented in that compilation flow. But will come soon.
#hipSYCL running Babelstream on AMD Ryzen 4750U APU. Now with working local memory and barriers. The same binary also runs on Intel and NVIDIA GPUs. One code representation. Generated by a single compilation pass. Just use --hipsycl-targets="generic" when compiling. No other SYCL implementation can do that.
Is #OneAPI/#DPCPP becoming the #LLVM of SYCL? 🤔
Of all the up and coming #SYCL implementations (so not #HipSYCL by @illuhad or #ComputeCPP by @Codeandrew)
NeoSYCL is DPCPP
Huawei Ascend AI is DPCPP (so is Huawei SYCLops)
TriSYCL is DPCPP (partially)
Sylkan is DPCPP
Like C vendors & LLVM, is centralizing SYCL around DPCPP good?
Not doing it can mean projects dying (see TriSYCL from Xilinx) but lack of diversity can be unhealthy.
#oneapi #llvm #sycl #hipsycl #computecpp
RT @FelixCLC_
I haven't been sharing the fun technical stuff here as much, but thanks to some help from @illuhad and @tgamblin amongst others over on @joinmastodon managed to get #SYCL (specifically #hipSYCL) going on macOS via both "self build" using brew, as well as via @spackpm!
PR's soon