Announcement

Collapse
No announcement yet.

LLVM's libclc Adds Mesa SPIR-V Target

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

  • LLVM's libclc Adds Mesa SPIR-V Target

    Phoronix: LLVM's libclc Adds Mesa SPIR-V Target

    Continuing on with all of the OpenCL Mesa work that's been going on by Red Hat developers in recent time, LLVM's libclc library now has support for targeting Mesa 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

  • #2
    Originally posted by phoronix View Post
    Existing targets have included AMDGPU/AMDGN,
    AMDGCN? (or just GCN)

    Comment


    • #3
      Libclc is the LLVM sub-project focused on providing a library for OpenCL C run-time usage. Existing targets have included […] NVIDIA NVPTX […].
      Red Hat continues investing heavily in the open-source OpenCL compute stack based on Mesa, particularly for open-source NVIDIA […].
      Michael
      While libclc, LLVM, and Mesa are open source, NVPTX is proprietary: https://en.wikipedia.org/wiki/Parallel_Thread_Execution
      For what I understand (unless someone proves me wrong) libclc-ptx seems to be an open source layer above a proprietary driver and there is no project of open source nvidia openCL stack yet.

      Comment


      • #4
        Originally posted by illwieckz View Post

        Michael
        While libclc, LLVM, and Mesa are open source, NVPTX is proprietary: https://en.wikipedia.org/wiki/Parallel_Thread_Execution
        For what I understand (unless someone proves me wrong) libclc-ptx seems to be an open source layer above a proprietary driver and there is no project of open source nvidia openCL stack yet.
        Right the NVPTX is for targeting the NVIDIA proprietary driver. The open-source NVIDIA compute though is using the Mesa SPIR-V path.
        Michael Larabel
        https://www.michaellarabel.com/

        Comment


        • #5
          Originally posted by tildearrow View Post

          AMDGCN? (or just GCN)
          In this case, Michael's right. In LLVM, the targets started out as just R600 and eventually it was renamed to the AMDGPU target. There are both R600 and AMDGCN subtargets within.

          Comment


          • #6
            Originally posted by illwieckz View Post
            there is no project of open source nvidia openCL stack yet.
            it's called nouveau. (nvidia as in hardware)

            Comment


            • #7
              Originally posted by pal666 View Post
              it's called nouveau. (nvidia as in hardware)
              It seems you don't know what you talk about but you believe you do because you confuse things: “nouveau” is a name for a kernel driver and a name for a mesa OpenGL driver (with G like Graphic), I'm talking about OpenCL (with a C like Compute). There is no nouveau OpenCL driver yet. Maybe that SPIR-V thing is a foundation for that in the future but it's not there and no one can say that nouveau is an open source OpenCL stack yet. So no one can say the open source OpenCL nvidia stack is called nouveau because nouveau does not provide OpenCL features at first… 🤦‍♀️

              Comment


              • #8
                2010 it will be very interesting to see how this plays out
                2020 it will be very interesting to see how this ultimately plays out

                Not a quote, just a joke

                Comment


                • #9
                  Originally posted by illwieckz View Post

                  It seems you don't know what you talk about but you believe you do because you confuse things: “nouveau” is a name for a kernel driver and a name for a mesa OpenGL driver (with G like Graphic), I'm talking about OpenCL (with a C like Compute). There is no nouveau OpenCL driver yet. Maybe that SPIR-V thing is a foundation for that in the future but it's not there and no one can say that nouveau is an open source OpenCL stack yet. So no one can say the open source OpenCL nvidia stack is called nouveau because nouveau does not provide OpenCL features at first… 🤦‍♀️
                  NOUVEAU_ENABLE_CL=true clinfo

                  It does provide a CL stack, it's not complete or conformant, but it is doing so.
                  Dave.

                  Comment


                  • #10
                    Originally posted by airlied View Post
                    NOUVEAU_ENABLE_CL=true clinfo

                    It does provide a CL stack, it's not complete or conformant, but it is doing so.
                    Dave.
                    Wow, that's great. I'll experiment with it soon! Which component is in charge of this? For example Ubuntu provides libclc-amdgcn, libclc-r600, libclc-ptx, but none of them seem to be related to nouveau.

                    Is there more variables for undisclosed hardware? on AMD side TeraScale 1 hardware was OpenCL 1.1 capable if I'm right but libclc-r600 seems to only support TeraScale 2 and greater.

                    Is this variable specific to clinfo or to some Mesa component loaded by clinfo? Because as an example, if on Ubuntu I install libclc, ROCm and AMDGPU-pro OpenCL, I end with three clinfo binaries that do not read the same environment variables to do the same things… Does NOUVEAU_ENABLE_CL work every time regardless of clinfo binary?
                    Last edited by illwieckz; 18 August 2020, 03:24 PM.

                    Comment

                    Working...
                    X