Intel's Clang Code Begins Landing For OpenMP Offloading To SPIR-V For GPU Execution

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • phoronix
    Administrator
    • Jan 2007
    • 67050

    Intel's Clang Code Begins Landing For OpenMP Offloading To SPIR-V For GPU Execution

    Phoronix: Intel's Clang Code Begins Landing For OpenMP Offloading To SPIR-V For GPU Execution

    Intel software engineers have been working on allowing OpenMP offloading to their Intel GPUs by way of targeting generic SPIR-V, the common intermediate representation used across Vulkan / OpenGL / OpenCL drivers. The initial patches to that work have now landed in upstream LLVM/Clang 20 for OpenMP offloading to SPIR-V...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite
  • Eirikr1848
    Senior Member
    • Jan 2022
    • 430

    #2
    Does it seem as if these will work with existing generation 9 and 9.5 GPUs?

    Comment

    • edxposed
      Senior Member
      • Jan 2023
      • 301

      #3
      If it is eventually possible to compile llvm-libc to SPIR-V, it may be possible to see the day when it is possible to compile any C/C++ program into a executable that can be executed by CPU, GPU, or even NPU.

      Comment

      • sarnex
        Junior Member
        • Aug 2014
        • 26

        #4
        Never did I think the day would come where my name would be mentioned in a Phoronix article lol

        There is still a lot of work to be done before this is actually useable though, it should be relatively general but there will need to be a runtime plugin that knows how to talk with the GPU runtime (Level Zero in Intel's case), so that would need to be there for other vendors even if the SPIR-V device code generation works. NVIDIA and AMD plugins already exist, but they don't work with SPIR-V today.

        Originally posted by Eirikr1848 View Post
        Does it seem as if these will work with existing generation 9 and 9.5 GPUs?
        Speaking unofficially, my understanding is that Gen9 is no longer supported in the GPU driver, but in theory assuming you have a working Gen9 compute setup using a driver where it was supported then yes as SPIR-V is one of the supported inputs to the compute pipeline already and SPIR-V is already used in Intel's DPCPP compiler which has a closed-source implementation of SPIR-V offloading for OpenMP, and an open source implementation for SYCL.
        Last edited by sarnex; 09 January 2025, 07:15 AM.

        Comment

        Working...
        X