Chipmaker giant Intel‘s software focus is switching developer tools to Low Level Virtual Machine (LLVM) cross-architecture support, SYCL, and its oneAPI spec for accelerated computing, instead of relying on Nvidia Compute Unified Device Architecture (CUDA).
Joe Curley, VP and general manager for software products at Intel, said in the DevClass article that accelerated computing needs to be standards-based, scaleable, multi-vendor and – ideally – multi-architecture if it is to become pervasive.
“We set out four years ago to do that with oneAPI, and we’ve got to the point where we’re becoming productive for developers. The standardised library interfaces have all been proven out as well,” Curley was reported as saying.
“It’s the right thing for the industry. Folk having to embed codes and have them live for a long time inside an embedded system can’t live with a single-vendor code.”
Intel says oneAPI is an open, cross-industry, standards-based, unified, multi-architecture, multi-vendor programming model that delivers a common developer experience across accelerator architectures.
Replacing Intel’s System Studio collection of compilers and libraries, oneAPI is meant to drive application performance, productivity and innovation, encouraging collaboration on the oneAPI spec and compatible oneAPI implementations across the ecosystem, according to Intel.
The Intel oneAPI Toolkit specification covers 10 core elements, with oneAPI Data Parallel C++ based on SYCL, which is not an acronym and apparently pronounced ‘sickle’, at the heart. An open source SYCLomatic tool will convert code from CUDA to SYCL, according to DevClass.
“The issue with OpenCL was that it never really ramped. You talk to developers, they found some of the header files and other things to be cumbersome, it wasn’t a highly productive language, [though] it was scaleable,” Curley was reported as saying.
“We thought that Intel did a very good OpenCL implementation but a lot of other vendors didn’t and never got the performance out.”
The oneAPI Toolbox also has an OpenCL path to run on Intel hardware. However, what people liked about SYCL was it was a single code page, in standard C++, instead of host and device code, Curley added.