I am a GPGPU developer and I have done all my work using CUDA. Lately I have acquired an AMD GPU for my home setup and I have been reading about SYCL and oneAPI but I'm not sure I understand what each of those are, how they complement. If I have understood things correctly, SYCL is a standard developed by Khronos that allows to create parallel software in C++. It requires a custom toolchain, provided by the SYCL implementation and there exists several implementations.
On the other hand, oneAPI is an implementation of SYCL with some extra extensions (which could be added to SYCL standard in the future) and some libraries with typical parallel libraries, right?
Since I have an AMD GPU, I want to use it to do some GPGPU, but the ecosystem is a bit scary. We have mesa drivers, AMD drivers, different openCL implementations, HIP... How is all this suppose to fit together?