Announcement

Collapse
No announcement yet.

The OpenCL 2.0 CTS Can Now Run On Gallium3D Clover - But Doesn't Pass The Tests

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

  • The OpenCL 2.0 CTS Can Now Run On Gallium3D Clover - But Doesn't Pass The Tests

    Phoronix: The OpenCL 2.0 CTS Can Now Run On Gallium3D Clover - But Doesn't Pass The Tests

    Red Hat's Karol Herbst who has spent years now working on Nouveau SPIR-V support and other GPU open-source compute efforts around Mesa has provided a trivial implementation of clCreateCommandQueueWithProperties() that is now enough to begin running the OpenCL 2.0 conformance test suite on the Gallium3D "Clover" state tracker...

    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
    Does this statetracker still work for radeonsi?

    Comment


    • #3
      Originally posted by FireBurn View Post
      Does this statetracker still work for radeonsi?
      It is really incomplete.

      Comment


      • #4
        Originally posted by FireBurn View Post
        Does this statetracker still work for radeonsi?
        Yes.

        Device Name AMD Radeon (TM) RX 470 Graphics (POLARIS10, DRM 3.35.0, 5.4.15-zen1-1-zen, LLVM 11.0.0)
        Device Vendor AMD
        Device Vendor ID 0x1002
        Device Version OpenCL 1.1 Mesa 20.1.0-devel (git-35961b10da)
        Driver Version 20.1.0-devel

        but

        Device OpenCL C Version OpenCL C 1.1

        but when it works is faster than amdgpu-pro opencl implementation or at least on luxrender benchmarks

        Comment


        • #5
          Originally posted by jrch2k8 View Post

          Yes.

          Device Name AMD Radeon (TM) RX 470 Graphics (POLARIS10, DRM 3.35.0, 5.4.15-zen1-1-zen, LLVM 11.0.0)
          Device Vendor AMD
          Device Vendor ID 0x1002
          Device Version OpenCL 1.1 Mesa 20.1.0-devel (git-35961b10da)
          Driver Version 20.1.0-devel

          but

          Device OpenCL C Version OpenCL C 1.1

          but when it works is faster than amdgpu-pro opencl implementation or at least on luxrender benchmarks
          Note: The biggest reason that it's reporting CL 1.1 instead of 1.2 is probably that the libclc project doesn't support the 'printf()' function for debugging kernel execution, yet. You can override the CL/CLC versions exposed via environment variables in clover, which also enables several CL 1.2 features (e.g. volatile, extern, static keywords). Maybe there's other things, but I've always avoided pushing to report 1.2 capabilities in clover because we might as well finish up 1.1 (and get a passing CTS run on at least one GPU) before we start telling people we support an incomplete 1.2 implementation...

          Comment


          • #6
            Originally posted by Veerappan View Post

            Note: The biggest reason that it's reporting CL 1.1 instead of 1.2 is probably that the libclc project doesn't support the 'printf()' function for debugging kernel execution, yet. You can override the CL/CLC versions exposed via environment variables in clover, which also enables several CL 1.2 features (e.g. volatile, extern, static keywords). Maybe there's other things, but I've always avoided pushing to report 1.2 capabilities in clover because we might as well finish up 1.1 (and get a passing CTS run on at least one GPU) before we start telling people we support an incomplete 1.2 implementation...
            But compilation of

            current LLVM git (e.g. 10.0-rcX) with SPIRV-LLVM-Translator (included)

            and then

            Mesa Clover with '-Dopencl-spirv=true'

            is still broken.

            See mesa-devel and my posts to Karol.

            Comment


            • #7
              Originally posted by jrch2k8 View Post

              Yes.

              Device Name AMD Radeon (TM) RX 470 Graphics (POLARIS10, DRM 3.35.0, 5.4.15-zen1-1-zen, LLVM 11.0.0)
              Device Vendor AMD
              Device Vendor ID 0x1002
              Device Version OpenCL 1.1 Mesa 20.1.0-devel (git-35961b10da)
              Driver Version 20.1.0-devel

              but

              Device OpenCL C Version OpenCL C 1.1

              but when it works is faster than amdgpu-pro opencl implementation or at least on luxrender benchmarks
              Can second that. For all _3_ luxrender 'versions'.
              v2.0/v3.0/v3.1

              Device Name Radeon RX 580 Series (POLARIS10, DRM 3.36.0, 5.5.2-2.g994cf1f-default, LLVM 10.0.0)
              Device Vendor AMD
              Device Vendor ID 0x1002
              Device Version OpenCL 1.1 Mesa 20.1.0-devel (git-2799676218)
              Driver Version 20.1.0-devel

              Comment


              • #8
                Originally posted by Veerappan View Post
                You can override the CL/CLC versions exposed via environment variables in clover, which also enables several CL 1.2 features (e.g. volatile, extern, static keywords).
                How?

                Could you please list these variables? I was not able to find any documentation for Clover or libclc regarding this; did a quick search through the code, but no luck.

                Comment


                • #9
                  Originally posted by uid0 View Post

                  How?

                  Could you please list these variables? I was not able to find any documentation for Clover or libclc regarding this; did a quick search through the code, but no luck.
                  Something along these lines (ripped from a shell script I use when working on stuff):
                  Code:
                  CLOVER_PLATFORM_VERSION_OVERRIDE=1.2 CLOVER_DEVICE_VERSION_OVERRIDE=1.2 CLOVER_DEVICE_CLC_VERSION_OVERRIDE=1.2 ./program_you_want_to_run

                  Comment


                  • #10
                    Originally posted by nuetzel View Post

                    But compilation of

                    current LLVM git (e.g. 10.0-rcX) with SPIRV-LLVM-Translator (included)

                    and then

                    Mesa Clover with '-Dopencl-spirv=true'

                    is still broken.

                    See mesa-devel and my posts to Karol.
                    Yes, but I was talking about CL 1.2, not 2.0. CL 1.2 on at least the radeon cards is not dependent on NIR/SPIR-V support.

                    Comment

                    Working...
                    X