Intel® oneAPI introduces the use of hardware accelerator devices that can be leveraged with the Intel oneAPI DPC++ (DPC++) Compiler. This necessitates the use of specific hardware for offload. This article will help you determine what options you have with either physical hardware or the use of a cloud service provider.
The oneAPI DPC++ Compiler is included in the Intel® oneAPI Base Toolkit (Base Kit), allowing us to use hardware accelerators to optimize computing tasks. This compiler targets specific hardware for optimization tasks.
What is Intel oneAPI Data Parallel C++
Intel oneAPI Data Parallel C++ (DPC++) is based on the C++ language and incorporates SYCL* from the Kronos Group to provide parallel programming productivity and performance across CPUs and accelerators. The goal is to simplify programming and enable code reuse across hardware targets while allowing tuning for specific accelerators.
The oneAPI DPC++ compiler is explicitly designed to offload workloads to various accelerators for performance optimization. The Intel oneAPI supports offloading to the following accelerators.
- FPGA accelerator offloads: Enables the developer to show performance increases for various workloads compared to pure CPU solutions
- GPU accelerator offloads: Currently, only Intel® Processor Graphics gen9 is supported and used as a proxy graphics processing unit (GPU. This usage is for familiarization and testing purposes; as an Intel® DevCloud reference.
There are no specific hardware requirements for the oneAPI DPC++ compiler. However, specific hardware is required to exercise CPU, GPU, or field-programmable gate array (FPGA) accelerator offload.
The oneAPI DPC++ compiler is part of the Intel oneAPI Base Toolkit (Base Kit).
Hardware Requirements for Accelerator Support
The oneAPI specification is designed to support a broad range of CPUs and accelerators from multiple vendors. The oneAPI reference implementation currently supports Intel CPUs, including Intel® Xeon® processors, Intel® Core™ processors, and Intel® Arria® FPGAs, with Intel Processor Graphics gen9 as a proxy development platform for future Intel discrete data center GPUs. Additional Intel accelerator architectures will be added over time.
The following development platforms are supported accelerators for oneAPI.
GPU Accelerator Support
Physical hardware support—Desktop/Mobile/Server:
- Minimum support requirements would be any Intel Core processors or Intel Xeon processors. The processor model number must be 6000 or higher and does not have “F” or “P” in the model number (for example, I5-6402P) or non-integrated graphics parts
- One hardware example is the Intel® NUC (next unit of computing) computer kit SKU# NUC8i7BEH
Cloud support—Server only:
- Intel DevCloud—support for GPU offload uses Intel® Xeon® E-2176 processors with Intel® HD P630 graphics. Intel DevCloud is a sandbox environment used for development purposes only
For FPGA offload, a PCI Express* FPGA accelerator card is required. For development purposes, developers can use on-premises devices or cloud servers.
Physical hardware supported—Server only:
- Minimum support requirements are Intel Xeon processor-based servers that support 10 GX Intel Arria FPGA
Cloud support—Server only:
- Intel DevCloud—Support for FPGA offload uses Intel Xeon E-2176 processors with Intel HD P630 graphics and 10 GX Intel Arria FPGA. DevCloud is a sandbox environment used for development purposes only
Product and Performance Information
Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.