Programming Guide

Contents

Intel oneAPI Programming Overview

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. DPC++ is based on industry standards and open specifications to encourage ecosystem collaboration and innovation.
media/image2.jpeg
As shown in the figure above, applications that take advantage of the oneAPI programming model can execute 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 DPC++, can use the
    Intel DPC++ Compatibility Tool
    to help migrate their existing projects to 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 DPC++ 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.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.