Saying good-bye to proprietary lock-in and joining the open-source community, Intel has moved to oneAPI paradigm that provides all the necessary tools and compilers, including C, C++, and Fortran to all the users for free. In this Advanced Research Computing (ARC) talk, Intel will be providing an overview of its oneAPI programming model using Fortran and C++ Compilers, as well as their oneAPI tools and libraries, including Data Parallel C++, MKL, and Video Processing Libraries for efficient processing.
Intel Fortran and C++ Compilers
Create code that takes advantage of more cores and built-in technologies in platforms based on Intel® processors. Compile and generate applications for Windows, Linux, and macOS. This compiler integrates seamlessly with popular third-party compilers, development environments, and operating systems. Build high-performance applications by generating optimized code for Intel® Xeon® Scalable processors and Intel® Core™ processors. Boost Single Instruction Multiple Data (SIMD) vectorization and threading capabilities (including for Intel® Advanced Vector Extensions 512 instructions) using the latest OpenMP* parallel programming model.
IFX, Intel Fortran Compiler: provides CPU and GPU offload support.
- Improves development productivity by targeting CPUs and GPUs through single-source code while permitting custom tuning.
- Supports broad Fortran language standards.
- Incorporates industry standards support for OpenMP* 4.5, and initial OpenMP 5.0 and 5.1 for GPU Offload
- Uses well-proven LLVM compiler technology and Intel’s history of compiler leadership.
- Takes advantage of multicore, Single Instruction Multiple Data (SIMD) vectorization, and multiprocessor systems with OpenMP, automatic parallelism, and coarrays
- Optimizes code with an automatic processor dispatch feature.
Data Parallel C++ (DPC++):
- An alternative to single-vendor proprietary languages
- Allows code reuse across hardware targets (CPU, GPU, FPGA) and supports custom tuning for a specific platform.
- Enables each architecture to be programmed and used in isolation, or together.
oneAPI DPC++ Library:
The Intel® oneAPI DPC++ Library is a companion to the Intel® oneAPI DPC++/C++ Compiler and provides an alternative for C++ developers who create heterogeneous applications and solutions. Its APIs are based on familiar standards—C++ STL, Parallel STL (PSTL), Boost.Compute, and SYCL*—to maximize productivity and performance across CPUs, GPUs, and FPGAs.
oneAPI MKL - Intel Math Kernel Library (MKL):
Accelerate math procession routines, increase application performance, and reduce development time. MKL includes Linear algebra, fast flourier Transforms (FFT) Vector statistics and data fitting, vector math and miscellaneous solvers.
Intel oneAPI Video Processing Library (oneVPL):
Intel oneAPI Video Processing Library (oneVPL) is a programming interface for video decoding, encoding, and processing to build portable media pipelines on CPUs, GPUs, and other accelerators. The oneVPL API is used to develop quality, performant video applications that can leverage Intel® hardware accelerators. It provides device discovery and selection in media centric and video analytics workloads, and API primitives for zero-copy buffer sharing. oneVPL is backward compatible with Intel® Media SDK and cross-architecture compatible to ensure optimal execution on current and next generation hardware without source code changes. oneVPL is an open specification API.