3 ms·
> OneAPI is focused on [SYCL], which is targeted at C++ and backend agnostic, it does nothing for Fortran oneAPI L0 supports SPIR-V's OpenCL profile, which is
by my123 5y ago
> OneAPI is focused on [SYCL], which is targeted at C++ and backend agnostic, it does nothing for Fortran
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/oneapi/fortran-compiler.html 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/documentation/oneapi-programming-guide/top/software-development-process/composability/c-c-openmp-and-dpc-composability.html 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.
- pjmlp 5y agoYeah, all of that goes beyond the OpenCL standard as defined by Khronos, specially since OpenCL 3.0 dropped SPIR-V, and OpenMP was never part of OpenCL.