5 ms·
The industry at large is moving to SYCL, which can be implemented on top of OpenCL / CPUs / FPGAs.
by robert_foss 6y ago
The industry at large is moving to SYCL, which can be implemented on top of OpenCL / CPUs / FPGAs.
- roel_v 6y agoI'm not sure what part of 'the industry' you're referring to, but last time I looked (which was admittedly more than a year ago), there is only one serious SYCL implementation, it's proprietary and the only people pushing SYCL are... drum roll... the people selling that implementation. That's not even considering that OpenCL is in most cases (way) behind CUDA in performance, not to mention that the tooling for OpenCL is outright primitive. And all of that is not even mentioning that nvidia drags their feet massively in supporting newer OpenCL version on their GPU's. Maybe things have changed massively very recently, but I came back from iwocl (the OpenCL and SYCL conference) two years ago massively disappointed. And I still don't see anyone in the slice of the HPC space I'm familiar with (environmental & GIS-related modeling) using it, for a reason I presume.
- rodburns 6y agoIntel are supporting SYCL in a big way. They are implementing SYCL in the open source LLVM project, the project is called DPC++. Argonne National Labs are also using SYCL to program the exascale supercomputer (Aurora) they are building. Whilst it's not the best solution for everyone there is certainly industry support for it. https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/dpc-compiler.html https://software.intel.com/content/www/us/en/develop/tools/o... https://github.com/intel/llvm/blob/sycl/sycl/doc/GetStartedGuide.md https://github.com/intel/llvm/blob/sycl/sycl/doc/GetStartedG... https://www.alcf.anl.gov/support-center/training-assets/roadmap-sycldpc-aurora https://www.alcf.anl.gov/support-center/training-assets/road...
- paulsmal 6y agothis is nice, do you have any more details?
- freeone3000 6y agoOh, the third option, with absolutely no library support. Or, looking at Khronos's page, even device support. At least OpenCL has the benefit of wide compatibility, even if its performance meant it was unsuitable. Nvidia has settled on CUDA, and has maintained 13 years of compatibility. If SYCL is going to ever compete with CUDA, it's going to need to stick around long enough for people to build on it.
- throwaway56034 6y agoWell, Nvidia invented CUDA, it's no surprise that they won't give up their competitive advantage by properly supporting OpenCL or SYCL. Edit: Also, SYCL should be supported by most things already supporting OpenCL, like Tensorflow for example.
- fortran77 6y agoMy firm does GPGPU programming for audio processing. Nobody in this area even thinks of using anything other than CUDA. It has far more support, tools, compilers, etc.
- Aaargh20318 6y agoWhat about the Mac side of things ? Mac's are still pretty big in audio production, but they don't support CUDA (and don't come with Nvidia GPUs any more anyway). How does Metal Compute stack up ?
- fortran77 6y agoWe don't use Macs. While many uusicians use macs, the people on the engineering/scientific side of things don't. We're not doing music audio.
- dragontamer 6y agoI think OpenMP device offload has a better chance than SYCL or OpenCL. But I'm not in the industry. CUDA's single-source environment is very good compared to SYCL or OpenCL. OpenMP still has single-source (just #pragma target), and is already adopted by the HPC crowd for multithreaded programming. NVidia and AMD support seems to be growing, especially because OpenMP is important to the supercomputer folks. (Summit and Frontier) ROCm is CUDA-like and mostly works. The main issue is that CUDA will always remain a few steps ahead as AMD is forced to play "catchup". (ex: Cooperative groups are useful but unimplemented for now in ROCm). ROCm's main issue is being stuck in Linux, they need some Windows support if they want ROCm to really take off.
- shmerl 6y agoDidn't they plan to merge OpenCL and Vulkan?