Announcement

Collapse
No announcement yet.

Gallium3D's OpenCL "Clover" Begins Seeing New Activity Land For Mesa 19.1

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

  • Gallium3D's OpenCL "Clover" Begins Seeing New Activity Land For Mesa 19.1

    Phoronix: Gallium3D's OpenCL "Clover" Begins Seeing New Activity Land For Mesa 19.1

    The first real commits to Gallium3D's Clover OpenCL state tracker in several months were landed on Tuesday for Mesa 19.1. These new commits are part of the Red Hat led effort on improving the open-source OpenCL support with a focus on getting the Nouveau open-source NVIDIA driver compute stack up and running...

    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

  • #2
    Congrats pmoreau on getting this merged. Sorry I didn't manage to provide more review in the last few rounds of updates.

    --Aaron

    Comment


    • #3
      Originally posted by Veerappan View Post
      Congrats pmoreau on getting this merged. Sorry I didn't manage to provide more review in the last few rounds of updates.

      --Aaron
      Thanks! Now onto sending the two other series to get OpenCL C -> NIR, and the native SPIR-V support (i.e. `clCreateProgramWithIL()`).
      I’m hoping to find some time to improve the OpenCL CTS pass rate, now that the CTS is being updated and one can compile the cl12_trunk branch, so you’ll have other opportunities for reviewing.
      Last edited by pmoreau; 27 February 2019, 02:43 AM. Reason: Fixed typo

      Comment


      • #4
        I've pretty much given up on Clover ever becoming usable. It's a trainwreck. Apart from some trivial OpenCL demo programs, almost nothing works with Clover.

        There's Beignet on Intel and ROCm OpenCL on AMD so there isn't really much need for it anyway. These implementations work much, much better and support more recent OpenCL versions and more of the optional features.

        Comment


        • #5
          ROCm stll needs out of tree components and is not packaged by any relevant distribution, so it doesn't work OOTB for many users. Beignet is going to be superseded by Intel's NEO/compute runtime.

          Comment


          • #6
            Yes, but you can install ROCm reasonably easily. And while Beignet will be succeeded by a new runtime, it still works quite well in my experience.

            The fact that it is easy to install and/or works OOTB is sadly the only redeeming quality of Clover.

            Comment


            • #7
              Originally posted by brent View Post
              I've pretty much given up on Clover ever becoming usable. It's a trainwreck. Apart from some trivial OpenCL demo programs, almost nothing works with Clover.

              There's Beignet on Intel and ROCm OpenCL on AMD so there isn't really much need for it anyway. These implementations work much, much better and support more recent OpenCL versions and more of the optional features.
              Not sure what distro you're using, but it didn't help us that the Debian packaging scripts broke libclc for quite a while, which meant clover was unusable on Ubuntu, Debian, etc unless you compiled it yourself from source. At least for the built-in math libraries, we're getting there for having an implementation of everything needed.

              The clover code itself does have room for improvement in resource/event management, but I'd say the biggest issues we ccurrently have are:

              1. not supporting images (an optional feature, which will eventually be addressed).
              2. Only exposing CL 1.1, which means that we can't support 'static' declarations in compiled kernel code. You can override the CL and CLC versions through environment variables to see if that allows a given program to work. The main holdup for 1.2 support is probably an implementation of 'printf', which is nontrivial, but I had started an implementation of a while back..

              Sadly, the pool of people working on Clover right now are mostly volunteers who do this in their free time, subject to real life interference.

              Comment


              • #8
                And what does this mean?
                Nouveau would be able to use OpenCL 1.1?
                So we would have an open source nVidia driver nobody use because of its non existing memory reclocking paired with OpenCL 1.1 nobody need?

                Yep maybe it is only me, but as long OpenCL is not able to support Blender it does nearly nothing.
                Last edited by Naquatis; 27 February 2019, 12:43 PM.

                Comment


                • #9
                  Originally posted by Naquatis View Post
                  And what does this mean?
                  Nouveau would be able to use OpenCL 1.1?
                  This series was mostly about some code improvements and some fixes inside clover, and Nouveau won’t be advertising OpenCL support just yet as there are other pieces that are missing. However, once those extra pieces land, the plan is to continue working on it, and add support for OpenCL 1.2, 2.0 and later.
                  Note that almost all the work done to get Nouveau to advertise OpenCL support, is work that benefits all drivers using NIR, and will make it easier for them to also advertise OpenCL support if they want to.

                  Comment


                  • #10
                    Originally posted by brent View Post
                    There's Beignet on Intel and ROCm OpenCL on AMD so there isn't really much need for it anyway. These implementations work much, much better and support more recent OpenCL versions and more of the optional features.
                    Sadly ROCm isn't an option for my Carrizo, cause HP doesn't provide the necessary CRAT table.

                    Comment

                    Working...
                    X