[PTI] SYCL compiler/library version checks are missing causing build errors
- 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
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