intel / intel/pti-gpu

[PTI] SYCL compiler/library version checks are missing causing build errors

Open
#117 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
273
Forks
70
PR merge metrics
No merged PRs in 30d

Description

On https://github.com/intel/pti-gpu/commit/8f063593943dc7f97b068a110843a9e1887008de (today 9/16/2026 latest master) and https://github.com/intel/pti-gpu/tree/pti-1.1.0, on Ubuntu 26.10 RC:
```
ARG IMAGE=ubuntu:26.10
FROM $IMAGE

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && \
apt-get install -y --no-install-recommends \
ca-certificates \
cmake \
curl \
git \
gcc \
g++ \
gnupg \
make \
ninja-build \
pkg-config \
python3 \
python3-dev \
python3-venv \
python3-pip \
software-properties-common \
tree

RUN apt-get update && \
apt-get install --no-install-recommends -y \
dpclang-7 \
libxptifw-dev \
libze-dev \
ocl-icd-opencl-dev

RUN curl -LsSf https://astral.sh/uv/install.sh | sh

ENV PATH=/root/.local/bin:$PATH
```

Build of PTI fails with:
```
In file included from /opt/pti/sdk/test/graph/sycl_graph_fixture.cc:24:
/opt/pti/sdk/test/graph/sycl_graph_workloads.h:86:65: error: no member named 'enable_native_recording' in namespace
'sycl::ext::oneapi::experimental::property::graph'
86 | queue, {sycl::ext::oneapi::experimental::property::graph::enable_native_recording{}}};
| ^~~~~~~~~~~~~~~~~~~~~~~
/opt/pti/sdk/test/graph/sycl_graph_fixture.cc:525:9: error: no matching function for call to 'CreateNativeUsmDotProductGraph'
525 | CreateNativeUsmDotProductGraph(queue_, Workload::kDefaultVectorSize, dot_product_.get(),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/pti/sdk/test/graph/sycl_graph_workloads.h:82:27: note: candidate template ignored: substitution failure [with T = float]
82 | [[nodiscard]] inline auto CreateNativeUsmDotProductGraph(sycl::queue& queue,
| ^
```

Can PTI sources, please, start checking SYCL compiler version and/or SYCL library version? Consider:
1. Having minimal required version
2. In-source version checks to enable/disable code sections

Please note that Pytorch allows building with multiple compiler versions. Thus, please, consider to allow wide ranges in minimal version checks and handle the rest by conditional compilation. As a reminder, Ubuntu 26.04 has `6.2.0` and Ubuntu 26.10 has `7.0.1`

Note: https://github.com/intel/pti-gpu/tree/pti-1.0.1 builds OK on Ubuntu 26.10.

CC: @mschilling0

Contributor guide

Open the contributing guide

Research direction

Start with test/graph/sycl_graph_workloads.h and test/graph/sycl_graph_fixture.cc, where the missing enable_native_recording property causes compilation errors, then inspect the SYCL build configuration and version information available there. Compare builds using the cited pti-1.1.0 and pti-1.0.1 trees with Ubuntu 26.04's SYCL 6.2.0 and Ubuntu 26.10's 7.0.1. Done means supported compiler and library versions are checked and incompatible graph code is handled conditionally without breaking supported builds.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
build-system, compilers
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.