Announcement

Collapse
No announcement yet.

Trying Out RadeonSI's Experimental NIR Support

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

  • Trying Out RadeonSI's Experimental NIR Support

    Phoronix: Trying Out RadeonSI's Experimental NIR Support

    Last week AMD developers landed experimental NIR support inside RadeonSI as ultimately a step towards ARB_gl_spirv support for this OpenGL Gallium3D driver in being able to re-use the NIR/RADV code-paths. I decided to take the experimental NIR support through a spin to see if it impacted various titles at this point...

    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
    portal is up by over 3%, how has it regressed?

    Comment


    • #3
      Originally posted by AJenbo View Post
      portal is up by over 3%, how has it regressed?
      On Mesa Git it yields odd colors / rendering artifacts.
      Michael Larabel
      https://www.michaellarabel.com/

      Comment


      • #4
        Looks promising even though TGSI seems to be replaced only with NIR and there are not less steps at the moment.

        Comment


        • #5
          Originally posted by R41N3R View Post
          Looks promising even though TGSI seems to be replaced only with NIR and there are not less steps at the moment.
          Getting rid of intermediate steps is not necessarily a good thing. As i understand it, NIR, for example, is particularly suited to do some optimization passes on and thus going for GLSL IR -> NIR (+optimization passes) -> LLVM -> ISA might result in a more performant shader binary than skipping the NIR step.

          Comment


          • #6
            Originally posted by Masush5 View Post

            Getting rid of intermediate steps is not necessarily a good thing. As i understand it, NIR, for example, is particularly suited to do some optimization passes on and thus going for GLSL IR -> NIR (+optimization passes) -> LLVM -> ISA might result in a more performant shader binary than skipping the NIR step.
            Indeed, for radv, we at the time chose to use SPIR-V -> NIR-> LLVM instead of SPIR-V -> LLVM for exactly this reason. LLVM IR throws a lot of information away and some things would be harder to do.

            That said this effort is mostly about having SPIR-V support for radeonsi, and possibly eventually having only a NIR->LLVM backend instead of having to maintain both NIR->LLVM and TGSI->LLVM, and not so much about reducing the number of IRs in a compile.

            Comment


            • #7
              Originally posted by R41N3R View Post
              Looks promising even though TGSI seems to be replaced only with NIR and there are not less steps at the moment.
              just some background about compilers.. a compiler does many opt/lowering steps, and generally we run many opt passes in a loop until it converges. Converting between IR's is basically less than nothing, it is an O(1) step, compared to passes which are O(n^2) or O(n^n) or worse. So it only sounds like a thing to care about on the surface. (Plus in many cases we can replace less algorithmically efficient glsl IR passes with more efficient NIR passes, which *more* than makes up for the extra conversion between IRs.. iirc turning off the passes that used to be done in glsl IR but can now be done in NIR was something like a ~30% drop in shader-db runtime for freedreno)

              Comment


              • #8
                Originally posted by robclark View Post
                Converting between IR's is basically less than nothing, it is an O(1) step
                i'm pretty sure you meant o(n)

                Comment


                • #9
                  Originally posted by pal666 View Post
                  i'm pretty sure you meant o(n)
                  yeah, sorry.. I should proof read posts sometimes

                  Comment

                  Working...
                  X