Sign inSign up

rahulunair/torch

By rahulunair

•Updated 6 months ago

Image
0

216

rahulunair/torch repository overview

⁠rahulunair/torch — PyTorch + Triton XPU for Intel Battlemage

Personal / community image. Maintained by @rahulunair⁠ for personal experimentation on Intel Arc Pro B70. Not an official Intel image and not affiliated with, endorsed by, or supported by Intel Corporation, the vLLM project, or PyTorch. Provided as-is. For production use refer to PyTorch's official XPU install instructions⁠ and Intel's official containers.

PyTorch + pytorch-triton-xpu on top of rahulunair/xpu:latest-base⁠. Reusable foundation for any XPU LLM-serving project (vLLM, SGLang, …) — FROM rahulunair/torch:latest-xpu and skip rebuilding the full oneAPI + GPU userspace stack underneath.

⁠What's in it

Inherits everything from rahulunair/xpu:*-base, plus:

ComponentSourceInstalled
PyTorch (XPU build)pip install --index-url https://download.pytorch.org/whl/xpu{{TORCH}}
pytorch-triton-xpusame index{{TRITON}}
torchvision, torchaudio (XPU)same indexmatching torch

The pip wheel name pytorch-triton-xpu ships the Python module triton. Inside the image, import triton resolves to that wheel (verified at build time with from triton._C.libtriton import intel).

⁠ABI compatibility chain

Three things need to match for the XPU stack to work end-to-end. This image is built so they do:

[ vllm-xpu-kernels 0.1.7 ]   builds against
        ↓
[ torch 2.11.0+xpu ]   has DT_NEEDED libsycl.so.8 and uses urKernelSetArgValue@LIBUR_LOADER_0.12
        ↓
[ Intel oneAPI 2025.3.x ]   ships libsycl.so.8 and the matching libur_loader
        ↓
[ rahulunair/xpu:latest-base ]

If any link in this chain is bumped, the chain breaks. PyTorch nightly's XPU wheel (2.13.0.dev*+xpu) currently fails to load against oneAPI 2026.0 (libsycl.so.9, no urKernelSetArgValue). vllm-xpu-kernels source code references torch 2.11's torch::Library::_def symbol which torch 2.13 removed, so source-building from main against torch 2.13 also fails. This image therefore stays on the stable triple (kernels 0.1.7 ↔ torch 2.11 ↔ oneAPI 2025.3), and the pin advances when all three upstream components have releases for the same newer ABI.

⁠Run

docker run --rm --privileged --device /dev/dri \
  -e ZE_AFFINITY_MASK=0 \
  rahulunair/torch:latest-xpu \
  python3 -c "import torch; print(torch.__version__, torch.xpu.is_available(), torch.xpu.device_count())"

Or run the embedded smoke including @torch.compile codegen via Triton-XPU:

docker run --rm --privileged --device /dev/dri \
  rahulunair/torch:latest-xpu run-xpu-tests xpu-torch

That exercises base smokes + torch.xpu.is_available(), eager matmul on Battlemage, @torch.compile (which drives the Triton-XPU → ocloc codegen path).

⁠Use as a base for your own XPU project

FROM rahulunair/torch:latest-xpu
RUN pip install --break-system-packages --no-deps your-package
ENTRYPOINT ["your-server"]

--no-deps matters: many XPU-related packages still pin torch versions in their requirements that may differ from this image's installed version. If you need vllm-xpu-kernels alongside your code, install the prebuilt wheel matched to the torch in this image (vllm_xpu_kernels-0.1.7 for torch 2.11.0+xpu).

⁠Tags

  • latest-xpu — most recent green build
  • <torch-version>-xpu — derived from torch.__version__ (e.g. 2.11.0-xpu)
  • last 7 versioned tags retained

⁠Source

github.com/rahulunair/vllm-ci⁠ — Dockerfile.bleeding, --target xpu-torch.

Tag summary

Content type

Image

Digest

sha256:b150eb6c5…

Size

5.1 GB

Last updated

6 months ago

docker pull rahulunair/torch:latest-xpu