VirtualArch not yet comptabile with --image3 option in fatbinary
- Dominant language
- LLVM
- Stars
- 1.5k
- Forks
- 854
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 137
Description
### Describe the bug
https://github.com/intel/llvm/commit/79d8a26832fc72a28969305b72b782642f44ff6c started to use --image3 instead of --image=profile= command line in fatbinary . However, our customization related to VirtualArch is not yet compatible with it.
Fixing ` Arch.drop_front(3)` to accept compute_50 is not enough either , we are seeing elf size mismatch after it.
https://github.com/intel/llvm/commit/79d8a26832fc72a28969305b72b782642f44ff6c is temporarily reverted in https://github.com/intel/llvm/pull/20551, please fix the issue and reland.
```
FAIL: SYCL :: SYCLBIN/basic_executable.cpp (2037 of 2495)
******************** TEST 'SYCL :: SYCLBIN/basic_executable.cpp' FAILED ********************
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 14
/__w/llvm/llvm/toolchain/bin/clang++ -Werror --offload-new-driver -fsyclbin=executable -fsycl-targets=spir64,amdgcn-amd-amdhsa,nvptx64-nvidia-cuda -Xsycl-target-backend=amdgcn-amd-amdhsa --offload-arch=gfx1030 /__w/llvm/llvm/llvm/sycl/test-e2e/SYCLBIN/Inputs/basic_kernel.cpp -o /__w/llvm/llvm/build-e2e/SYCLBIN/Output/basic_executable.cpp.tmp.syclbin
# executed command: /__w/llvm/llvm/toolchain/bin/clang++ -Werror --offload-new-driver -fsyclbin=executable -fsycl-targets=spir64,amdgcn-amd-amdhsa,nvptx64-nvidia-cuda -Xsycl-target-backend=amdgcn-amd-amdhsa --offload-arch=gfx1030 /__w/llvm/llvm/llvm/sycl/test-e2e/SYCLBIN/Inputs/basic_kernel.cpp -o /__w/llvm/llvm/build-e2e/SYCLBIN/Output/basic_executable.cpp.tmp.syclbin
# .---command stderr------------
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# |
# | error: nvFatbinAddCubin(handle, file.image, file.size, arch, identName) failed with error invalid architecture
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: warning: Compatible SYCL device library binary not found
# | /__w/llvm/llvm/toolchain/bin/clang-linker-wrapper: error: 'fatbinary' failed
# | clang++: error: linker command failed with exit code 1 (use -v to see invocation)
# `-----------------------------
# error: command failed with exit status: 1
--
```
### To reproduce
1. Include code snippet as short as possible
2. Specify the command which should be used to compile the program
3. Specify the command which should be used to launch the program
4. Indicate what is wrong and what was expected
### Environment
- OS: [e.g Windows/Linux]
- Target device and vendor: [e.g. Nvidia GPU]
- DPC++ version: [e.g. commit hash or output of `clang++ --version`]
- Dependencies version: [e.g. the output of `nvidia-smi` and `sycl-ls --verbose`]
### Additional context
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.