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), which brings us the ability to use hardware accelerators to run computing tasks optimally. 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 designed specifically to offload workloads to various accelerators for performance optimization. The Intel oneAPI beta 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 specifically for familiarization and testing purposes; as an Intel® DevCloud reference
There are no specific hardware requirements for the oneAPI DPC++ compiler. However, for exercising CPU, GPU, or field-programmable gate array (FPGA) accelerator offload, specific hardware is required.
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 Beta 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 beta.
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 processor product family processors with Intel® HD graphics 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 processor product family 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.