Get Started with the Intel® oneAPI Base Toolkit for Linux*

ID 766893
Date 7/13/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Next Steps

After successfully building a sample application, Explore SYCL with Samples from Intel and explore the tools in the Intel® oneAPI Base Toolkit.

Tool

Description

Intel® DPC++ Compatibility Tool

The Intel® DPC++ Compatibility Tool assists in migration of CUDA* applications to SYCL* ready code that can use the Intel® oneAPI DPC++/C++ Compiler. Get started.

Intel® oneAPI DPC++/C++ Compiler

The Intel® oneAPI DPC++/C++ Compiler targets CPUs and accelerators through single-source code while permitting custom tuning. Get Started.

Intel® oneAPI DPC++ Library This 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.
Intel® oneAPI Video Processing Library (oneVPL) This library provides access to H264/H265 elementary stream decode and frame processing. By using the high level interface of oneVPL, the same code can unlock hardware capabilities for media across CPU and Intel® Processor Graphics GPUs. Get started.
Intel® Distribution for GDB*

GDB, the GNU Project debugger, allows you to see what is going on `inside' another program while it executes -- or what another program was doing at the moment it crashed. Get Started.

Learn more.

Intel® oneAPI Math Kernel Library (oneMKL) The oneMKL helps you achieve maximum performance with a math computing library of highly optimized, extensively parallelized routines for CPU and GPU. The library has C and Fortran interfaces for most routines on CPU, and SYCL* interfaces for some routines on both CPU and GPU. Get started.
Intel® oneAPI Threading Building Blocks (oneTBB) oneTBB is a flexible performance library that simplifies the work of adding parallelism to complex applications, even if you're not a threading expert. Learn more.
Intel® Integrated Performance Primitives Intel® Integrated Performance Primitives (Intel® IPP) is an extensive library of ready-to-use, domain-specific functions that are highly optimized for diverse Intel® architectures. Get Started with Intel® IPP or Get Started with Intel® IPP Cryptography.
Intel® oneAPI Data Analytics Library The Intel® oneAPI Data Analytics Library (oneDAL) is a library that helps speed up big data analysis by providing highly optimized algorithmic building blocks for all stages of data analytics (preprocessing, transformation, analysis, modeling, validation, and decision making) in batch, online, and distributed processing modes of computation. The current version of oneDAL provides SYCL* API extensions to the traditional C++ interface. Get started.
Intel® oneAPI Collective Communications Library Intel® oneAPI Collective Communications Library (oneCCL) is a scalable and high-performance communication library for Deep Learning (DL) and Machine Learning (ML) workloads. It develops the ideas originated in Intel(R) Machine Learning Scaling Library and expands the design and API to encompass new features and use cases. Get started.
Intel® oneAPI Deep Neural Network Library The Intel® oneAPI Deep Neural Network Library (oneDNN) is an open-source performance library for deep learning applications. The library includes basic building blocks for neural networks optimized for Intel® Architecture Processors and Intel® Processor Graphics. oneDNN is intended for deep learning applications and framework developers interested in improving application performance on Intel CPUs and GPUs. Get started.
Intel® VTune™ Profiler

Intel® VTune™ Profiler is a performance analysis tool targeted for users developing serial and multithreaded applications. The tool is delivered as a Performance Profiler with Intel Performance Snapshots and supports local and remote target analysis on the Windows* and Linux* platforms. Get started.

Intel® Advisor Intel® Advisor gives software architects and developers the data and analysis tools they need to build well-threaded and vectorized code that exploits modern hardware capabilities. Get started.
Intel® FPGA Add-on for oneAPI Base Toolkit Use reconfigurable hardware to accelerate data-centric workloads. Learn more.

Learn more about SYCL and targeting other accelerators using the following resources:

Resource Description
Intel® oneAPI Programming Guide Provides details on the oneAPI programming model, including details about SYCL standards, programming for various target accelerators, and introductions to the oneAPI libraries.
Intel Acceleration Stack Quick Start Guide for Intel Programmable Acceleration Card with Intel® Arria 10 GX FPGA A quick start guide for the Intel® Programmable Acceleration Card with Intel® Arria® 10 GX FPGA. This guide provides instructions to load and run a loopback test, Hello FPGA, in both non-virtualized and virtualized environments.
Intel Acceleration Stack Quick Start Guide: Intel® FPGA Programmable Acceleration Card D5005 A quick start guide for Intel® FPGA PAC D5005. This guide provides the instructions for installing the Open Programmable Acceleration Engine (OPAE) on the host Intel® Xeon® Processor to manage and access the Intel® FPGA PAC, configuring and flashing the FPGA image and Board Management Controller (BMC) images, running the example hello_afu in a virtualized and non-virtualized environment, and handling graceful thermal shutdown.
Intel® FPGA SDK for OpenCL™ Pro Edition: Custom Platform Toolkit User Guide Outlines the procedure for creating an Intel® FPGA Software Development Kit (SDK) for OpenCL™ Pro Edition Custom Platform. The Intel® FPGA SDK for OpenCL™ Pro Edition Custom Platform Toolkit provides the necessary tools for implementing a fully functional Custom Platform.
Intel® FPGA Acceleration Hub Learn about the Acceleration Stack for Intel® Xeon® CPUs with FPGAs and other Intel FPGA-based acceleration platforms.
FPGA Optimization Guide for Intel® oneAPI Toolkits The oneAPI FPGA Optimization Guide provides guidance on leveraging the functionalities of SYCL to optimize your design.
Explore SYCL Through Intel® FPGA Code Samples Provides guidance on how to target and develop your design on an FPGA using the oneAPI programming model. It also provides guidance on how to optimize a design to achieve performance and latency targets for an application targeting the FPGA.
oneAPI GPU Optimization Guide The oneAPI GPU Optimization Guide demonstrates how to improve the behavior of your software by partitioning it across the host and accelerator to specialize portions of the computation that run best on the accelerator. Specialization includes restructuring and tuning the code to create the best mapping of the application to the hardware. The value of oneAPI is that it allows each of these variations to be expressed in a common language with device-specific variants launched on the appropriate accelerator.

For more information about this toolkit, see the https://software.intel.com/content/www/us/en/develop/tools/oneapi/base-toolkit.html page.