Announcement

Collapse
No announcement yet.

Zink Lands Kernel Shader Support For Getting Rusticl OpenCL Running

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

  • Zink Lands Kernel Shader Support For Getting Rusticl OpenCL Running

    Phoronix: Zink Lands Kernel Shader Support For Getting Rusticl OpenCL Running

    Earlier this month one of the interesting milestones for Mesa's Rust-based OpenCL "Rusticl" implementation was getting Rusticl running on Zink so that this OpenCL implementation was running atop this Gallium3D driver in turn running atop a bare metal Vulkan driver. As of yesterday some of that necessary code was merged to Mesa 22.3...

    https://www.phoronix.com/news/Zink-K...upport-Rusticl

  • #2
    Does this mean rusticl will eventually work on top of every vulkan driver supported by zink?

    Comment


    • #3
      Originally posted by Developer12 View Post
      Does this mean rusticl will eventually work on top of every vulkan driver supported by zink?
      yes, that's the general idea, and zink aims at being supported everywhere there is vulkan, so that's really a broad potential range of supported devices and a nice future-proofing

      Comment


      • #4
        Nice. With all these conversion layers, I wonder if there is already a way to run Vulkan on Vulkan. (Likely there is no reason to do it, other than just for fun and because you can.)

        Comment


        • #5
          Originally posted by Tomin View Post
          Nice. With all these conversion layers, I wonder if there is already a way to run Vulkan on Vulkan. (Likely there is no reason to do it, other than just for fun and because you can.)
          I'm picturing a snake eating its tail...

          ouroboros-snake-illustration-vector-id836368100?k=20&m=836368100&s=612x612.jpg

          Comment


          • #6
            now that's something curious... are there any compatibility layers to run Vulkan over something else?

            I only remember seeing something about running it over DX12 (IMHO a nonsensical idea given Vulkan is directly available on Windows drivers and is sort of a superset of DX12 for many equivalent functions), there is MoltenVK (Vulkan over Apple's exclusive Metal API) and lavapipe (which is just Vulkan over CPU instead of GPU, doesn't really qualify tbh)...

            Is there any way to do Vulkan over OpenGL or OpenCL? It would probably be horrible, but then again if lavapipe exists...

            Also is there Metal over Vulkan with the intent to run modern Apple software on Linux? That would be a solid choice for Project Oroboros

            Comment


            • #7
              Originally posted by marlock View Post
              Is there any way to do Vulkan over OpenGL or OpenCL? It would probably be horrible, but then again if lavapipe exists...
              Vulkan over OpenGL would be pretty silly, as OpenGL is a decidedly higher-level API. About the only reason I can see for ever attempting such a thing is if you have some old hardware that only implemented OpenGL and will never have native Vulkan support. However, not only would Vulkan performance be terrible, you'd also probably be very limited in which extensions you could implement. Furthermore, most such hardware won't even have the latest OpenGL version, and quite likely be restricted to OpenGL ES 2.x, making the task even more monumental.

              Vulkan on OpenCL makes even less sense.

              And no, lavapipe doesn't legitimize those notions. Running Vulkan on a CPU might not perform terribly well, but at least it has sensible use cases.

              Comment


              • #8
                thanks for the detailed info

                isn't the fallback support for Vulkan on GPUs that only support OpenGL reason enough?

                i already imagined it would be hard to map a close-to-metal API over a higher level abstraction API but hoped it would at least not be inconceivable...

                my mention of lavapipe in association with OpenCL is in the sense that ultimately you could offload to a GPU via OpenCL the same sort of paralelized calculations that you would otherwise do on CPU matrix calculation functions like AVX512 (which iirc lavapipe already leverages when available) even if a lot of stuff would still remain choking the CPU

                of course this idea is still made worse by the general state of OpenCL support in those same old GPUs, so one could argue it's almost a moot point...

                Comment


                • #9
                  Originally posted by marlock View Post
                  isn't the fallback support for Vulkan on GPUs that only support OpenGL reason enough?
                  Again, you have to look at which GPUs these are, and what version of OpenGL they support. I think you'll find they're mostly old phone/tablet/embeded GPUs that are slow because they're old, and then you're going to bog down performance even further with an awkward translation layer? After all that, which Vulkan software is even going to be usable? And how long will those devices even stay in service? And then there's the matter of bugs in their OpenGL drivers that you'd most likely trip over and have to work around on a case-by-case basis.

                  It wouldn't be the most crazy idea someone's ever implemented, but certainly not something I'd spend any time on.

                  Originally posted by marlock View Post
                  already imagined it would be hard to map a close-to-metal API over a higher level abstraction API but hoped it would at least not be inconceivable...
                  With the caveat that I'm no vulkan expert, I think it'd be doable. Just, with serious limitations and wouldn't make practical sense.
                  Last edited by coder; 30 October 2022, 02:33 PM.

                  Comment


                  • #10
                    Originally posted by marlock View Post
                    isn't the fallback support for Vulkan on GPUs that only support OpenGL reason enough?
                    With all the unsupported features, it probably wouldn't be any faster than plain old CPU rendering. At least not on any hardware that doesn't already support vulkan.

                    Comment

                    Working...
                    X