Skip to content

VirtualArch not yet comptabile with --image3 option in fatbinary #20593

@jsji

Description

@jsji

Describe the bug

79d8a26 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.

79d8a26 is temporarily reverted in #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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcudaCUDA back-endpdtrackerPulldown tracker for issues/reverts that needs follow up

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions