Announcement

Collapse
No announcement yet.

FP16 Half-Precision Support Added To AMDGPU LLVM Back-End

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

  • FP16 Half-Precision Support Added To AMDGPU LLVM Back-End

    Phoronix: FP16 Half-Precision Support Added To AMDGPU LLVM Back-End

    The AMDGPU backend within LLVM that's used by the open-source Radeon graphics driver stack has landed half-precision / FP16 support...

    http://www.phoronix.com/scan.php?pag...U-F16-Lands-VI

  • #2
    Originally posted by phoronix View Post
    Now if only the open-source AMD OpenCL/compute state was much more mature and widespread...
    Could be useful for graphics, too, not just computing. This might increase efficiency or improve the performance significantly, in cases where half precision is enough. Nvidia showed this with Tegra (since Maxwell) and GP100, AMD might introduce doubled FP16 throughput with Vega. But using fp16 where sufficient is up to the developer.

    Comment


    • #3
      One existing piece of AMD hardware that already uses FP16 is the PlayStation 4 Pro.

      Comment


      • #4
        Originally posted by juno View Post
        Could be useful for graphics, too, not just computing. This might increase efficiency or improve the performance significantly, in cases where half precision is enough. Nvidia showed this with Tegra (since Maxwell) and GP100, AMD might introduce doubled FP16 throughput with Vega. But using fp16 where sufficient is up to the developer.
        Yes, even though it's been primarily advertised for compute such as "deep learning", fp16 is going to be a great improvement for rendering. Most games will probably still need fp32 for most things before rasterization, but for fragment processing fp16 should be more than enough. The latter is also the largest part of rendering, so a >50% performance improvement should be achievable in some games.

        Full hardware support is already present in GP102, and will also be in Vega arriving next year. Both Nvidia and AMD have already added the support in OpenGL. Utilizing it in games would require rewriting the whole pipeline, but the conversion will be straight-forward.

        Comment


        • #5
          FP16 seems to be the road that Apple is taking within its own GPUs. See http://www.realworldtech.com/apple-custom-gpu/ for more details.

          Comment


          • #6
            Fantastic news, but until the amdgpu drm driver is updated on distributions [at least on Debian] by being compiled by the same LLVM baseline this is how valuable that OpenCL is:

            OSError: Python file "/usr/lib/blender/reset_excepthook.py" could not be opened: No such file or directory
            read blend: /home/mdriftmeyer/Blender/doorCurves.blend
            Device init success
            Device init success
            Compiling OpenCL program base
            OpenCL build failed with error CL_BUILD_PROGRAM_FAILURE, errors in console.
            OpenCL program base build output: Invalid record (Producer: 'LLVM3.9.0' Reader: 'LLVM 3.8.1')
            Error: Failed loading render kernel, see console for errors


            ^CTraceback (most recent call last):
            File "/usr/lib/blender/2.78/scripts/addons/object_boolean_tools.py", line 389, in HandleScene
            @persistent
            KeyboardInterrupt
            Saved session recovery to '/home/mdriftmeyer/Blender/Temp/quit.blend'

            Blender quit
            Would rip right through scene renders if that imbalance was addressed.

            Comment


            • #7
              Originally posted by Marc Driftmeyer View Post
              Fantastic news, but until the amdgpu drm driver is updated on distributions [at least on Debian] by being compiled by the same LLVM baseline this is how valuable that OpenCL is:



              Would rip right through scene renders if that imbalance was addressed.
              That sounds like either blender has precomputed kernels from a newer LLVM version, or you've got two separate versions installed on your system... Either way, I don't think there's much clover/Mesa should be doing about that mismatch. If blender is shipping precompiled kernels, they should detect this error and attempt to recompile from source. If this is two different LLVM versions on your system, I'd suggest that you fix up your library path ordering so that the right one is always picked up.

              Comment


              • #8
                Originally posted by Marc Driftmeyer View Post
                Fantastic news, but until the amdgpu drm driver is updated on distributions [at least on Debian] by being compiled by the same LLVM baseline this is how valuable that OpenCL is:



                Would rip right through scene renders if that imbalance was addressed.
                The reason why Blender does not work with Clover/Mesa isn't a bug in the opensource OpenCL implement, its a handling issue in Blender itself. Here is the patch, good luck getting it merged though.

                Comment


                • #9
                  Originally posted by Marc Driftmeyer View Post
                  Fantastic news, but until the amdgpu drm driver is updated on distributions [at least on Debian] by being compiled by the same LLVM baseline this is how valuable that OpenCL is:



                  Would rip right through scene renders if that imbalance was addressed.
                  Complaining about lack of Debian support is like complaining about lack of Windows XP support. Complain about Debian shipping ancient shit.

                  Comment


                  • #10
                    this new feature will be come also for integrated gpu?
                    Carrizo is GCN3/GCN1.2 and is volcanic island so will see this new feature?? or is only for dedicated GPU?

                    Comment

                    Working...
                    X