In heterogenous computing, the
processor takes advantage of accelerator
to execute code more efficiently.
The oneAPI programming model supports two important portable methods of heterogenous
computing: Data Parallel C++ with SYCL* and OpenMP* for C, C++, and
SYCL is a cross-platform abstraction layer that enables code for heterogeneous processors to be written using standard ISO C++ with the host and kernel code for an application contained in the same source file.
The DPC++ open source project is adding SYCL support to the LLVM C++ compiler.
The Intel® oneAPI DPC++/C++ Compiler is available as part of the Intel
oneAPI Base Toolkit.
OpenMP has been a standard programming language for over 20 years, and
Intel implements version 5 of the OpenMP standard. The Intel oneAPI
DPC++/C++ Compiler with OpenMP offload support is available as part of
the Intel oneAPI Base Toolkit, Intel oneAPI HPC Toolkit, and Intel
oneAPI IoT Toolkit. The Intel® Fortran Compiler Classic and Intel®
Fortran Compiler with OpenMP offload support is available as part of the
Intel oneAPI HPC Toolkit.
OpenMP is not supported for FPGA devices.
The next sections briefly describe each language and provide pointers to