Announcement

Collapse
No announcement yet.

LLVM Working On "HIPSPV" So AMD HIP Code Can Turn Into SPIR-V And Run On OpenCL

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • LLVM Working On "HIPSPV" So AMD HIP Code Can Turn Into SPIR-V And Run On OpenCL

    Phoronix: LLVM Working On "HIPSPV" So AMD HIP Code Can Turn Into SPIR-V And Run On OpenCL

    Upstreaming progress is being made on a new "HIPSPV" toolchain for AMD's HIP path so that SPIR-V kernels can be executed and ultimately allowing for execution by OpenCL drivers. This HIPSPV effort driven outside of AMD aims to be able to allow HIP code to work on other GPU drivers such as those from Intel...

    https://www.phoronix.com/scan.php?pa...-HIPSPV-SPIR-V

  • #2
    I was briefly excited thinking this was working the other way around (adding SPIR-V support for HIP-supported devices), but alas it's another library doomed to obscurity because of no vendor support.
    • Intel are the only GPU maker actually pushing SPIR-V and OpenCL these days, but they don't have the hardware to back it up.
    • Nvidia has very openly admitted to not including it in their OpenCL 3.0 implementation (which, IIRC, is mostly a repackaged version of their 1.2 one).
    • AMD has yet to support an OpenCL version high enough to be forced to think about SPIR-V.
    • The Mesa devs are pretty much the only ones trying for any kind of cross-platform adoption, but Clover is a passion project at best for them since there's 0 funding to go around. Technically you can use SPIR-V with Nouveau, but it's incomplete and Nouveau is a non-starter for most things performance-related.
    • POCL deserves an honourable mention for adding a SPIR-V to PTX compilation path, but the value proposition on that is pretty weak when you consider a) OpenCL-related tooling sucks, and b) SPIR-V isn't supported on any other dGPUs/accelerators of note. So why even bother when CUDA support is right there?

    Comment


    • #3
      it'd be nice if this could target Vulkan compute shaders...that's widely supported across basically all modern GPUs. That would require targeting the graphics variant of SPIR-V rather than the OpenCL variant though.

      Comment


      • #4
        I have to give it to them, they have managed to make compute on graphics cards a far bigger disaster than I would ever have imagined they could.

        Comment


        • #5
          What about CUDASPV or something like that instead?

          Comment


          • #6
            Originally posted by tildearrow View Post
            What about CUDASPV or something like that instead?
            You can run HIP and Nvidia hardware already via AMDs header only implementation

            Comment


            • #7
              Originally posted by pvelesko View Post

              You can run HIP and Nvidia hardware already via AMDs header only implementation
              What I mean is CUDA on AMD hardware

              Comment


              • #8
                Originally posted by tildearrow View Post

                What I mean is CUDA on AMD hardware
                https://github.com/ROCm-Developer-Tools/HIPIFY


                Oh and Debian is in the process of solidly packaging ROCm, checkout https://lists.debian.org/debian-ai/2021/11/
                Last edited by Maxzor; 16 December 2021, 06:09 AM.

                Comment


                • #9
                  Originally posted by Maxzor View Post

                  https://github.com/ROCm-Developer-Tools/HIPIFY


                  Oh and Debian is in the process of solidly packaging ROCm, checkout https://lists.debian.org/debian-ai/2021/11/
                  I mean a call translation system like DXVK, not a source translation tool like DXVK-Native or MoltenVK.

                  Comment


                  • #10
                    Originally posted by programmerjake View Post
                    it'd be nice if this could target Vulkan compute shaders...that's widely supported across basically all modern GPUs. That would require targeting the graphics variant of SPIR-V rather than the OpenCL variant though.
                    Vulkan compute shaders only have precision requirements equivalent to GLSL, which is (in some cases much) lower than OpenCL.

                    So, even if you had the tooling to run OpenCL SPIR-V compute kernels on any Vulkan device, the results (often?) would be unsatisfactory if not downright unusable.

                    Comment

                    Working...
                    X