intel / intel/llvm

Using `group_barrier` from virtual functions leads to `UR_RESULT_ERROR_PROGRAM_LINK_FAILURE`

Open
#15,068 0 comments 0 reactions 0 assignees View on GitHub
bug confirmed
Dominant language
LLVM
Stars
1.5k
Forks
854
Avg merge
3d 17h
Merged PRs (30d)
137

Description

### Describe the bug

`sycl/test-e2e/VirtualFunctions/misc/group-barrier.cpp` that is added by #15067 fails on GPU when we link device images at runtime with `UR_RESULT_ERROR_PROGRAM_LINK_FAILURE`.

### To reproduce

That's an in-tree e2e test, it should be clear how to reproduce it.

### Environment

- OS: Linux
- Target device and vendor: I've only checked PVC, but that's unlikely device-specific
- DPC++ version: most recent intel/llvm build
- Dependencies version: I have [NEO 24.22.29735.20](https://github.com/intel/compute-runtime/releases/tag/24.22.29735.20) installed on my machine

### Additional context

If I capture SPIR-V files that we send to IGC, reverse translate them into LLVM IR and link manually using `llvm-link` that operation succeeds, which makes me think that this is actually an IGC issue.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.