XRT crashes when accessed through both OpenCL and `xrt::`
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- cpp, linux
- Domain
- backend, operating-systems
Research direction
Reproduce the crash on Linux by running the shown sycl-ls platform enumeration and then releasing applications that access both the OpenCL and xrt platforms. Compare behavior with and without /etc/OpenCL/vendors/xilinx.icd. Done means the combined OpenCL and xrt use no longer crashes, without relying on that workaround.
Written by the indexing model from the issue text.
Description
AMD FPGA PCIe cards on Linux come with an OpenCL and XRT platform to control them.
While probably nobody has ever tried, using SYCL on a machine will typically tries to use all the platforms and the devices available:
rkeryell@xsjsycl41:/var/tmp/rkeryell/SYCL/code$ $SYCL_HOME/llvm/build/bin/sycl-ls
[opencl:cpu:0] Intel(R) OpenCL, Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz 3.0 [2022.14.8.0.04_160000]
[opencl:acc:1] Intel(R) FPGA Emulation Platform for OpenCL(TM), Intel(R) FPGA Emulation Device 1.2 [2022.14.8.0.04_160000]
[opencl:gpu:2] AMD Accelerated Parallel Processing, gfx906:sramecc+:xnack- 2.0 [3486.0 (HSA1.1,LC)]
[opencl:acc:3] Xilinx, xilinx_u200_gen3x16_xdma_base_1 1.0 [1.0]
[ext_oneapi_cuda:gpu:0] NVIDIA CUDA BACKEND, Quadro P400 0.0 [CUDA 11.8]
[ext_oneapi_hip:gpu:0] AMD HIP BACKEND, AMD Radeon VII 0.0 [HIP 50322.6]
[xrt:acc:0] Xilinx XRT, xilinx_u200_gen3x16_xdma_base_1 0.0 [2.14.0]
Then an application using the platforms and releasing them will result in a crash.
A work around is to remove /etc/OpenCL/vendors/xilinx.icd to avoid OpenCL showing up and to focus on XRT only.
- Dominant language
- C++
- Stars
- 686
- Forks
- 549
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 70
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Xilinx/XRT
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
-
Difficulty 1/5 Under an hour Newbie friendliness 68/100
-
Difficulty 4/5 3-5 days Newbie friendliness 70/100
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
Sensor initialization takes very long when `--initial-sim-time` is set to current UNIX timestamp Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
gazebosim/gz-sensors#662 · 1 comment ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
LadybirdBrowser/ladybird#12123 ·