Description
Intel® oneAPI
A Unified, Standards-Based Programming Model
Based on the idea of “one source code for different systems”, Intel supplies tools for the production of high-performance executables for different processor architectures.
These can be CPUs, GPUs, FPGAs and other processor systems (“accelerators”). For programming these XPUs (generic abbreviation) Intel supplies a compiler system based on Data Parallel C++ (DPC++) and suitable libraries (oneAPI Libraries). DPC++ is an evolution of C++. In addition, analysis tools and debuggers are provided to make work easier, to find errors and to improve performance.
Machinecode vs. Bytecode
In contrast to the previous possibilities for cross-platform programming, which in most cases are based on scripts (e.g. PHP, JavaScript) or intermediate code (so-called bytecode; e.g. Java, C#) and which require a runtime environment or interpreter for execution, DPC++ generates compiled, processor-specific machine code that does not require the conversion of script or byte code into machine code during its execution. It is obvious that this offers a considerable performance advantage. In addition, Intel’s DPC++ compiler system is equipped with processor-specific tuning options.
Components of the Intel® oneAPI Toolkits
- Intel® oneAPI DPC++/C++ Compiler
Compiler for C++, SYCL and DPC++ source code. Generates optimized binary code (for both the guest and the target system, e.g. accelerators) - Intel® DPC++ Compatibility Tool
Assistant for migrating from CUDA source code to DPC++ - Intel® oneAPI DPC++ Library
Collection of functions for high-performance parallel processing of data - Intel® oneAPI Threading Building Blocks
Another collection of functions for parallel programming - Intel® VTune™ Profiler
Analysis tool to find performance bottlenecks in your parallelised programs - Intel® Advisor
Assistant and advisor for improving the performance of your programs - Intel® oneAPI Math Kernel Library
The well-known MKL for oneAPI with functions based on BLAS, LAPACK, SCALAPACK, FFTW, etc., for high perfomance numerics - Intel® Integrated Performance Primitives
Collection of functions for image and signal processing, cryptography, data compression, etc. - Intel® oneAPI Video Processing Library
Library with functions for video processing (high-speed, real-time decoding / encoding) - Intel® oneAPI Data Analytics Library
Collection of functions for processing huge amounts of data, for use in artificial intelligence programs, data analysis, etc. - Intel® oneAPI Deep Neural Networks Library
Collection of functions for programming AI applications - Intel® oneAPI Collective Communications Library
Functions for scalable and efficient training of neural networks - Intel® Distribution for Python
Achieve faster Python application performance – right out of the box- with minimal or no changes to your code - GDB
Source code debugger
Intel® oneAPI Toolkits
Intel offers four different oneAPI Toolkit variants:
-
Intel® oneAPI Base Toolkit
Intel®: “Get started with this foundational kit that enables developers of all types to build, test, and deploy performance-driven, data-centric applications across CPUs, GPUs, and FPGAs.” - Intel® oneAPI Base & HPC Toolkit
Intel®: “Deliver fast C++, Fortran, OpenMP, and MPI applications that scale.” - Intel® oneAPI Base & IoT Toolkit
Intel®: “Build high-performing, efficient, reliable solutions that run at the network’s edge.“ - Intel® oneAPI Base & Rendering Toolkit
Intel®: “Create high-performance, high-fidelity visualization applications.”
And there is a special package for Fortran programmers:
- Intel® Fortran Compilers
It contains just Fortran Compilers (the “classic” IFORT and the new IFX) for Windows and Linux. And the Math Kernel Libraries (MKL) are also part of this bundle. Essentially it is a special priced toolkit for Fortran programmers.
These can be purchased from Polyhedron, and include one year support from Intel. The following are also available and available on request:
-
Intel® oneAPI DL Framework Developer Toolkit
-
Intel® oneAPI Intel® AI Analytics Toolkit
-
Intel® oneAPI Intel® OpenVINO Toolkit
-
Intel® oneAPI Intel® System Bring-UpToolkit
Operating Systems
The Intel® oneAPI Toolkits are currently available for Windows, Linux and MacOS, although not all operating systems are always supported.
Toolkit Components
Intel® oneAPI Component | Base | HPC | Iot | Rendering |
---|---|---|---|---|
DPC++ / C++ Compiler | X | X | X | |
DPC++ Library | X | |||
DPC++ Compatibility Tool | X | |||
GDB (Debugger) | X | |||
Threading Building Blocks | X | |||
VTune™ Profiler | X | |||
Advisor | X | |||
Data Analytics Library | X | |||
Deep Neural Networks Library | X | |||
Collective Communications Library | X | |||
Integrated Performance Primitives | X | |||
Integrated Performance Primitives Cryptography | X | |||
Math Kernel Library | X | |||
Video Processing Library | X | |||
Distribution for Python | X | |||
Cluster Checker | X | |||
Fortran Compiler | X | |||
Fortran Compiler Classic | X | |||
Inspector | X | X | ||
MPI Library | X | |||
Trace Analyzer and Collector | X | |||
Eclipse IDE | X | |||
IoT connection tools | X | |||
Linux Kernel Build Tool | X | |||
Embree | X | |||
Open Image Denoise | X | |||
OpenSWR | X | |||
Open Volume Kernel Library | X | |||
OSPRay | X |
Licensing
End User Licence Agreement (EULA)
Intel differs licenses for
- Single Node
Use on a single computer (laptop, desktop, or workstation only) - Multi Node
For use as before, and additionally in a cluster.
As similar with the earlier Intel® Parallel Studio XE, a distinction is also made between single-user and multi-user licenses:
- Named User
For a single named registered user. - Multi-User
For multiple users in a local network. Three variants are available, which are determined by the maximum number of concurrent users and the maximum number of supported developers:
-
- Workgroup – 2 Concurrent User / up to 10 Developers
- Department – 5 Concurrent User / up to 25 Developers
- Division – 10 Concurrent User / up to 50 Developers
- If you require more concurrent user licenses or more developers being supported, please ask. We can also offer site licenses.
If additional programmers are to be supported, corresponding multiples of these licenses will need to be obtained, or a site license
FlexLM is not supplied for the network licenses (as was previously the case with the Intel® Parallel Studio XE). Licensing and usage restrictions now result from a legal basis or from the registration of the developer in Intel’s download and registration center.
Furthermore, Intel distinguishes between commercial and academic licenses. The latter are reserved exclusively for universities that award academic degrees. Non-profit research institutes do not qualify for an academic licence.
In contrast to the past, there is no longer any operating system-specific licensing. This means for example, if an Intel® oneAPI Toolkit is available for Linux and Windows, then the license also includes the permission to use both operating system variants.
Support
After purchasing and registering an Intel® oneAPI Toolkit, registered users receive one year access to the Intel Online Service Center, through which all technical support services that you request are processed by Intel. Updates are also provided free of charge in this protected area. A support contract can be renewed after the maintenance period has expired (“Support Service Renewal”).
For users who use Intel® oneAPI Toolkits without support, Intel moderates public support forums.
Registered users with support have access to older versions (for the compilers to the last 3 major releases). For users without support, only the current version is available.
See Intel’s video about Intel Priority Support.