Yeah, 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.
> specially since OpenCL 3.0 dropped SPIR-
It's not dropped, it's optional. An OpenCL 3.0 impl with SPIR-V support would be able to run such binaries on top - but Intel are the ones who care.
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.