Skip to content

oneapi-src/oneAPI-samples

Repository files navigation

oneAPI Samples

The oneAPI-samples repository contains samples for the Intel® oneAPI Toolkits.

The contents of the default branch in this repository are meant to be used with the most recent released version of the Intel® oneAPI Toolkits.

Find oneAPI Samples

You can find samples by browsing the oneAPI Samples Catalog. Using the catalog you can search on the sample titles or descriptions.

You can refine your browsing or searching through filtering on the following:

  • Expertise (Getting Started, Tutorial, etc.)
  • Programming language (C++, Python, or Fortran)
  • Target device (CPU GPU, and FPGA)

Get the oneAPI Samples

Clone the repository by entering the following command:

git clone https://github.com/oneapi-src/oneAPI-samples.git

Alternatively, you can download a zip file containing the primary branch in repository.

  1. Click the Code button.
  2. Select Download ZIP from the menu options.
  3. After downloading the file, unzip the repository contents.

Get Earlier Versions of the oneAPI Samples

If you need samples for an earlier version of any of the Intel® oneAPI Toolkits, then use a tagged version of the repository that corresponds with the toolkit version.

Clone an earlier version of the repository using Git by entering a command similar to the following:

git clone -b <tag> https://github.com/oneapi-src/oneAPI-samples.git

where <tag> is the GitHub tag corresponding to the toolkit version number, like 2024.1.0.

Alternatively, you can download a zip file containing a specific tagged version of the repository.

  1. Select the appropriate tag.
  2. Click the Code button.
  3. Select Download ZIP from the menu options.
  4. After downloading the file, unzip the repository contents.

Getting Started with oneAPI Samples

The best oneAPI sample to start with depends on what you are trying to learn or types of problems you are trying to solve.

If you want to learn about... Start with...
the basics of writing, compiling, and building programs for CPUs, GPUs, or FPGAs Simple Add or Vector Add samples
(You can use these samples as starter projects by removing unwanted elements and adding your code and build requirements.)
the basics of using artificial intelligence Getting Started Samples for AI Tools
the basics of image rendering workloads and ray tracing Getting Started Samples for Intel® oneAPI Rendering Toolkit (Render Kit)
how to modify or create build files for SYCL-compliant projects Vector Add sample

Note: The README.md included with each sample provides build instructions for all supported operating system. For samples run in Jupyter Notebooks, you might need to install or configure additional frameworks or package managers if you do not already have them on your system.

Using Integrated Development Environments (IDE)

If you prefer to use an Integrated Development Environment (IDE) with these samples, you can download Visual Studio Code for use on Windows*, Linux*, and macOS*.

Repository Structure

The oneAPI-sample repository is organized by high-level categories.

Platform Validation

Samples in this release are validated on the following platforms.

Ubuntu 22.04

Intel(R) Xeon(R) Platinum 8352Y CPU @ 2.20GHz
Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1550 OpenCL 3.0 (pvc)
Opencl driver: Intel(R) FPGA Emulation Platform for OpenCL(TM), Intel(R) FPGA Emulation Device 1.2 [2023.16.10.0.17_160000]
Level Zero driver: Intel(R) Level-Zero, Intel(R) Data Center GPU Max 1550 1.3 [1.3.28202]
oneAPI package version:
‐ Intel oneAPI Base Toolkit Build Version: 2024.1.0.596
‐ Intel oneAPI HPC Toolkit Build Version: 2024.1.0.560
‐ Intel oneAPI Rendering Toolkit Build Version: 2024.1.0.743
‐ Intel AI Tools 2024.1.0.84

12th Gen Intel(R) Core(TM) i9-12900
Intel(R) UHD Graphics 770 3.0 ; (gen12, AlderLake-S GT1 [8086:4680])
Opencl driver: Intel(R) FPGA Emulation Platform for OpenCL(TM), Intel(R) FPGA Emulation Device OpenCL 1.2 [2024.17.3.0.08_160000]
Level Zero driver: Intel(R) Level-Zero, Intel(R) UHD Graphics 770 1.3 [1.3.28202]
oneAPI package version:
‐ Intel oneAPI Base Toolkit Build Version: 2024.1.0.596
‐ Intel oneAPI HPC Toolkit Build Version: 2024.1.0.560
‐ Intel oneAPI Rendering Toolkit Build Version: 2024.1.0.743
‐ Intel AI Tools 2024.1.0.84

11th Gen Intel(R) Core(TM) i7-11700
Intel(R) UHD Graphics 750 3.0, (gen12, RocketLake)
Opencl driver: Intel(R) FPGA Emulation Platform for OpenCL(TM), Intel(R) FPGA Emulation Device OpenCL 1.2 [2024.17.3.0.08_160000]
Level Zero driver: Intel(R) Level-Zero, Intel(R) UHD Graphics 750 1.3 [1.3.28202]
oneAPI package version:
‐ Intel oneAPI Base Toolkit Build Version: 2024.1.0.596
‐ Intel oneAPI HPC Toolkit Build Version: 2024.1.0.560
‐ Intel oneAPI Rendering Toolkit Build Version: 2024.1.0.743
‐ Intel AI Tools 2024.1.0.84

Windows 11

12th Gen Intel(R) Core(TM) i9-12900 Intel(R) UHD Graphics 770 3.0 ; (gen12, AlderLake-S GT1 [8086:4680])
Opencl driver: Intel(R) FPGA Emulation Platform for OpenCL(TM), Intel(R) FPGA Emulation Device OpenCL 1.2 [2024.17.3.0.08_160000]
Level Zero driver: Intel(R) Level-Zero, Intel(R) UHD Graphics 770 1.3 [1.3.28597]
oneAPI package version:
‐ Intel oneAPI Base Toolkit Build Version: 2024.1.0.595
‐ Intel oneAPI HPC Toolkit Build Version: 2024.1.0.561
‐ Intel oneAPI Rendering Toolkit Build Version: 2024.1.0.745

11th Gen Intel(R) Core(TM) i7-11700 Intel(R) UHD Graphics 750 3.0, (gen12, RocketLake)
Opencl driver: Intel(R) FPGA Emulation Platform for OpenCL(TM), Intel(R) FPGA Emulation Device OpenCL 1.2 [2024.17.3.0.08_160000]
Level Zero driver: Intel(R) Level-Zero, Intel(R) UHD Graphics 750 1.3 [1.3.28597]
oneAPI package version:
‐ Intel oneAPI Base Toolkit Build Version: 2024.1.0.595
‐ Intel oneAPI HPC Toolkit Build Version: 2024.1.0.561
‐ Intel oneAPI Rendering Toolkit Build Version: 2024.1.0.745

macOS

Intel(R) Core(TM) i7-8700B CPU @ 3.20GHz
‐ Intel oneAPI Rendering Toolkit Build Version: 2024.1.0.744

Known Issues and Limitations

Windows

  • If you are using Microsoft Visual Studio* 2019, you must use Microsoft Visual Studio 2019 version 16.4.0 or newer.
  • Windows support for the FPGA code samples is limited to the FPGA emulator and optimization reports. Only Linux supports FPGA hardware compilation. See any FPGA code sample README.md for more details.
  • If you encounter Error MSB6003 The specified task executable ... could not be run... when building a sample program, it might be due to the length of the directory path. Move the build directory to a location with a shorter path. Build the sample in the new location.

Licenses

Code samples are licensed under the MIT license. See License.txt for details.

Third-party program licenses can be found here: third-party-programs.txt.

Notices and Disclaimers

© Intel Corporation. Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries. Other names and brands may be claimed as the property of others.