The oneAPI programming model provides a comprehensive and unified portfolio of developer tools that can be used across hardware targets, including a range of performance libraries spanning several workload domains. The libraries include functions custom-coded for each target architecture, so the same function call delivers optimized performance across supported architectures.
The oneAPI programming model
As shown in the figure above, applications that take advantage of the oneAPI programming model can run on multiple target hardware platforms ranging from CPU to FPGA. Intel offers oneAPI products as part of a set of toolkits. The Intel® oneAPI Base Toolkit, Intel® oneAPI HPC Toolkit, Intel® oneAPI IoT Toolkit, and several other toolkits feature complementary tools based on specific developer workload needs. For example, the Intel oneAPI Base Toolkit includes the Intel® oneAPI DPC++/C++ Compiler, the Intel® DPC++ Compatibility Tool, select libraries, and analysis tools.
Developers who want to migrate existing CUDA* code to SYCL* for compilation with the DPC++ compiler can use the Intel DPC++ Compatibility Tool to help migrate their existing projects to SYCL* using DPC++.
The Intel oneAPI DPC++/C++ Compiler supports direct programming of code targeting accelerators. Direct programming is coding for performance when APIs are not available for the algorithms expressed in user code. It supports online and offline compilation for CPU and GPU targets and offline compilation for FPGA targets.
API-based programming is supported via sets of optimized libraries. The library functions provided in the oneAPI product are pre-tuned for use with any supported target architecture, eliminating the need for developer intervention. For example, the BLAS routine available from Intel® oneAPI Math Kernel Library is just as optimized for a GPU target as a CPU target.
Finally, the compiled SYCL application can be analyzed and debugged to ensure performance, stability, and energy efficiency goals are achieved using tools such as Intel® VTune™ Profiler or Intel® Advisor.
The Intel oneAPI Base Toolkit is available as a free download from the Intel Developer Zone.
Users familiar with Intel® Parallel Studio and Intel® System Studio may be interested in the Intel oneAPI HPC Toolkit and Intel oneAPI IoT Toolkit respectively.