|
|
|
|
|
by pjmlp
1542 days ago
|
|
One reason why OpenCL 3.0 is basically OpenCL 1.2 rebranded, is because no one cared about SPIR profile. OneAPI is focused on SYSCL, which is targeted at C++ and backend agnostic, it does nothing for Fortran, .NET, Java, Haskell, Rust, or any other language targeting PTX. CUDA won thanks to embracing GPU polyglot programming and best in quality development tooling. It is more a failure of the competition to uplevel their game than NVidia's own efforts. |
|
oneAPI L0 supports SPIR-V's OpenCL profile, which is a language agnostic IR.
oneAPI Fortran offload to GPUs is supported with the OpenMP programming model. (https://www.intel.com/content/www/us/en/developer/tools/onea...)
SYCL is one of the programming models supported with oneAPI, OpenMP is also a first-class programming model. You can mix both OpenMP and oneAPI code in the same program too. (https://www.intel.com/content/www/us/en/develop/documentatio...)
The clearly defined oneAPI L0/OpenCL w/ SPIR-V API boundary also allows for custom programming models w/ 3rd-party compilers.