API-based Programming

Several libraries are available with oneAPI toolkits that can simplify the programming process by providing specialized APIs for use in optimized applications. This chapter provides basic details about the libraries, including code samples, to help guide the decision on which library is most useful in certain use cases. Detailed information about each library, including more about the available APIs, is available in the main documentation for that library.

Table 8 oneAPI Toolkit Libraries

Library

Usage

Intel® oneAPI DPC++ Library

Use this library for high performance parallel applications.

Intel® oneAPI Math Kernel Library

Use this library to include highly optimized and extensively parallelized math routines in an application.

Intel® oneAPI Threading Building Blocks

Use this library to combine TBB-based parallelism on multicore CPUs and SYCL* device-accelerated parallelism in an application.

Intel® oneAPI Data Analytics Library

Use this library to speed up big data analysis applications and distributed computation.

Intel® oneAPI Collective Communications Library

Use this library for applications that focus on Deep Learning and Machine Learning workloads.

Intel® oneAPI Deep Neural Network Library

Use this library for deep learning applications that use neural networks optimized for Intel Architecture Processors and Intel Processor Graphics.

Note

Explore the complete list of oneAPI code samples in the oneAPI Samples Catalog <https://oneapi-src.github.io/oneAPI-samples/> (GitHub*). These samples were designed to help you develop, offload, and optimize multiarchitecture applications targeting CPUs, GPUs, and FPGAs.