Skip to content

wuxun-zhang/torch-extension-sycl

Repository files navigation

Introduction

Refer to https://github.com/pytorch/extension-cpp.git

An example of writing Sycl extension op for PyTorch.

Build and Install

# create virtual env
# install pytorch xpu package
pip3 install --pre torch --index-url https://download.pytorch.org/whl/nightly/xpu

# setup oneAPI env, require version 2025.1
source /opt/intel/oneapi/setvars.sh

# make sure CC and CXX properly set to `icx/icpx` or `clang/clang++`
pip install --no-build-isolation -e .

Test

# add below code to load extension
import extension_sycl
cd tests
python tests/test_gemm.py

# for good performance, set below environment variables:
# export ONEAPI_DEVICE_SELECTOR=level_zero:gpu
# export IGC_VISAOptions="-perfmodel"
# export IGC_ExtraOCLOptions="-cl-intel-256-GRF-per-thread"
# export SYCL_PROGRAM_COMPILE_OPTIONS="-ze-opt-large-register-file -gline-tables-only"
# export ONEAPI_DEVICE_SELECTOR=level_zero:gpu
# export IGC_VectorAliasBBThreshold=100000000000

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published