[RFC][API-Unstable] Support 3rd party SYCL kernels with CPP Extension API #153265
Open
5 of 11 tasks
Labels
module: cpp-extensions
Related to torch.utils.cpp_extension
triaged
This issue has been looked at a team member, and triaged and prioritized into an appropriate module
Background
This RFC is submitted to formally describe and track enabling of SYCL support in CPP Ectension API. The initial enabling of this feature was done in response to the #132944. This RFC tries to follow a guideline process suggested in #152134 for Pytorch 2.8.
Motivation
Pytorch defines a range of standard operators to support variaty of deep learning models. However, with the rapid development of the technology new operators and optimization techniques emerge. Their adoption requires implementations to mature before being accepted in a standard pytorch distribution. To both equip developers with the way to implement new operators capable to work within Pytorch ecosystem and mitigate a dalay to finalize the implementation and get it accepted in a Pytorch code base, Pytorch provides CPP Extension API. At the moment Pytorch defines that API to work with C++, CUDA and Metal sources.
This RFC suggests to extend Pytorch CPP Extension API to allow building new operators for Intel GPU platforms by supporting SYCL standard and compilers. SYCL is an open standard developed by the Khronos Group that allows developers to program heterogeneous architectures in standard C++. Intel GPU software stack supports this standard and provides DPC++ compiler to build SYCL code.
Plan
Here is a check list of items to complete to add SYCL support to Pytorch CPP Extension API for Intel GPUs:
torch.utils.cpp_extension.load()
API on Linuxtorch.utils.cpp_extension.load_inline()
API on Linuxclass torch.utils.cpp_extension.SyclExtension
API on Linuxtorch.utils.cpp_extension.load()
API on Windowstorch.utils.cpp_extension.load_inline()
API on Windowsclass torch.utils.cpp_extension.SyclExtension
API on WindowsRelevant PRs
Here is a list of relevant PRs improving SYCL support in Pytorch CPP Extension API:
Relevant issues
CC: @EikanWang @guangyey
cc @malfet @zou3519
The text was updated successfully, but these errors were encountered: