Overview
This document provides an overview of the prerequisites, release notes, and known issues associated with building PyTorch v2.5 from source with support for Intel® GPUs. All the required software dependencies have been bundled into a new development package, 'intel-for-pytorch-gpu-dev'. This development package includes the required oneAPI libraries, which are listed in the following table:
Component | Version | Purpose |
---|---|---|
Intel® oneAPI DPC++/C++ Compiler | 2024.1.4 | Compile and optimize C++ and SYCL code for CPU, GPU, and FPGA target architectures. |
Intel® oneAPI Math Kernal Library (oneMKL) | 2025.0.0-intel-for-pytorch-gpu-dev.4 | Enables SYCL runtime C++11 Dual ABI for PyTorch. Accelerate math processing routines, including matrix algebra, fast Fourier transform (FFT), and vector math. |
Intel® oneAPI DPC++ Library (oneDPL) | 2022.5.0 | Speed up data parallel workloads with these key productivity algorithms and functions. |
In addition to the PyTorch development package, to support profiling of PyTorch workloads on Intel GPUs, Profiling Tools Interfaces for GPU (PTI for GPU) as a prerequisite can be installed before building PyTorch v2.5 from source, which enables Kineto from the PyTorch profiler.
For installation, please visit Intel GPU Prerequisites and Build PyTorch from Source.
System Requirements
PyTorch on Intel Data Center GPUs supports the following Linux* distributions:
- Ubuntu* 22.04 (5.15 LTS kernel)
- Red Hat* Enterprise Linux* v9.2
- SUSE Linux Enterprise Server* v15 SP5
For Client GPUs, The following OS releases are supported:
- Windows* 11 Family, Windows 10 (22H2)
- Windows Subsystem for Linux - Ubuntu 24.04 (WSL2)
Supported Intel GPUs:
- Data Center GPU: Intel® Data Center GPU Max Series (formerly code named Ponte Vecchio)
- Client GPU: Intel® Core™ Ultra processor family with Intel® Arc™ Graphics (code named Meteor Lake)
- Newly added Windows only support for Intel® Core™ Ultra 7 processor family (code named Lunar Lake)
- Client GPU: Intel® Arc® Graphics family (code named DG2)
For more details, visit Intel® Data Center GPU Max Series and Intel® Arc® Graphics family
Intel GPU Drivers
- The Intel GPU driver is an essential first step for running PyTorch on Intel GPUs. It provides the interface between the software and the hardware. It allows PyTorch and Intel GPU software dependencies to execute operations on the GPU.
- The "intel-for-pytorch-gpu-dev" package is compatible with both Long-Term Support (LTS) and rolling release streams. However, the "intel-for-pytorch-gpu-dev" package with PTI for GPU only supports the latest rolling release stream.
- For more information, visit:
What's new in intel-for-pytorch-gpu-dev v0.5.3 Development Package
The 'intel-for-pytorch-gpu-dev' development package for PyTorch v2.5 on Intel GPUs consists of a set of required following oneAPI libraries:
Intel® oneAPI Math Kernel Library (oneMKL) v2025.0.0-intel-for-pytorch-gpu-dev.4
- Scratch Page Disable Linux Support has been added for Intel® Data Center GPU Max Series.
- FP64 matmul support has been added in PyTorch build through oneDNN. oneMKL is not required to be built with FP64 emulation flag.
- oneMKL optimizes PyTorch performance on Intel hardware, providing precise and efficient mathematical computations. It supports a range of functions including algebra, FFTs, and statistics, enhancing supercomputing and numerical computing across Intel devices.
- This release is only intended for applications compiled with an Intel Compiler 2024.1.4 where the application requires a compatible SYCL runtime C++11 Dual ABI neutral version of oneMKL in that application.
- It introduced Conditional Numerical Reproducibility (CNR) support for level-3 routines on Intel® Data Center GPU Max Series.
- For more information, see:
Intel® oneAPI DPC++/C++ Compiler v2024.1.4
- The Intel oneAPI DPC++/C++ Compiler is the industry's first compiler conformant with SYCL 2020, allowing developers to write code once and run it on a variety of different processors using standard C++, making developers more productive by reducing development time and effort.
- For more information, see:
Intel® oneAPI DPC++ Library (oneDPL) v2022.5.0
- The oneAPI DPC++ Library (oneDPL) enhances PyTorch's performance on Intel GPUs with parallel algorithms that comply with the SYCL standard. Integrated with the oneAPI DPC++ Compiler, oneDPL helps developers create portable, efficient code for data-parallel tasks, optimizing the use of Intel's GPU architecture for deep learning and high-performance computing.
- This release adds specialized sort algorithm to improve Intel® Data Center GPU Max Series application performance.
- For more information, see:
Profiling Tools Interfaces for GPU (PTI for GPU) v0.9.0
- PTI for GPU is a collection of performance analysis tools that gives insights into the performance of applications running on Intel GPUs.
- The integration of the PTI for GPU with Kineto, the PyTorch profiler, has enabled the profiling of PyTorch workloads specifically on Intel GPUs. This allows developers to collect comprehensive performance data, offering insights into the execution of their PyTorch applications on Intel GPUs.
- PTI for GPU supports a range of profiling capabilities, including Application Programming Interface (API) tracing, device activity tracing, and detailed metrics collection.
- For more information, see PTI for GPU
Known Issues
- oneMKL 2025.0.0-intel-for-pytorch-gpu-dev.4 is intended for a PyTorch on Intel GPU dependency. It is incompatible with the 2024.x versions of oneMKL.