Simple description.
After calling get_kernel_bundle(const context& ctxt, const std::vector<kernel_id>& kernelIds);, the kernel only is built on device 0, even the kernel is compatible on device 1. Launching kernel on device 1 will raise runtime error PI_ERROR_INVALID_QUEUE.
The issue was filed internally. We have got the root cause. We synced with the SYCL compiler community, and they suggested using another API as an alternative solution to fix the issue temporarily. In parallel, the SYCL compiler community will fix the issue. The purpose of the issue here is to show Intel's transparency in PyTorch community.
Describe the bug
Simple description. After calling
get_kernel_bundle(const context& ctxt, const std::vector<kernel_id>& kernelIds);
, the kernel only is built on device 0, even the kernel is compatible on device 1. Launching kernel on device 1 will raise runtime errorPI_ERROR_INVALID_QUEUE
.The issue was filed internally. We have got the root cause. We synced with the SYCL compiler community, and they suggested using another API as an alternative solution to fix the issue temporarily. In parallel, the SYCL compiler community will fix the issue. The purpose of the issue here is to show Intel's transparency in PyTorch community.
Problematic spot: https://github.com/intel/llvm/blob/sycl/sycl/source/detail/program_manager/program_manager.cpp#L2508-L2513
To reproduce
Environment
Compiler: pytorch-gpu-dev-0.5, Intel(R) oneAPI DPC+/C+ Compiler 2024.1.3 (2024.1.3.20240604)
UMD: PyTorch Prerequisites for Intel® GPUs
ii libigc-dev 1.0.16900.24-914~22.04 amd64 Intel graphics co> ii libigc-tools 1.0.16900.24-914~22.04 amd64 Intel graphics co> ii libigc1 1.0.16900.24-914~22.04 amd64 Intel graphics co> ii libigdfcl-dev 1.0.16900.24-914~22.04 amd64 Intel graphics co> ii libigdfcl1 1.0.16900.24-914~22.04 amd64 Intel graphics co> ii intel-level-zero-gpu 1.3.29735.27-914~22.04 amd64 Intel(R) Graphics>
Additional context
No response