Announcement

Collapse
No announcement yet.

dav1d 0.9.1 Released With More Optimizations - Particularly For Older CPUs

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

  • dav1d 0.9.1 Released With More Optimizations - Particularly For Older CPUs

    Phoronix: dav1d 0.9.1 Released With More Optimizations - Particularly For Older CPUs

    Dav1d 0.9.1 was released on Sunday as the newest feature update to this leading open-source CPU-based AV1 video decoder...

    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
    Glad to see this, considering we still have old computers at home and no chance of replacing them.

    Comment


    • #3
      Originally posted by tildearrow View Post
      Glad to see this, considering we still have old computers at home and no chance of replacing them.
      question is are those CPUs even capable of decoding AV1 at reasonable speed even with optimalizations. CPUs that are affected by it are ones that don't have AVX. That for AMD is all CPUs older then 2013, and for Intel all CPUs older then Sandy Bridge. For example 5900HX can decode at 220FPS 1080p stuff. Can Intel Nehalem decode something at least 30fps 1080p from AV1 codec?

      Only some Pentiums/Celeron golds are i think reasonable subject here as they are much newer but don't have AVX instruction set.

      I found somewhere on openbenchmarking that i7-2700k can score 51FPS at 1080p. Nehalem -> Sandy bridge was giant improvement, and Sandry Bridge has 1st gen AVX, which brings legitimate concern how many CPUs from that era can be even used with AV1.
      Last edited by piotrj3; 02 August 2021, 06:26 AM.

      Comment


      • #4
        Originally posted by piotrj3 View Post
        CPUs that are affected by it are ones that don't have AVX. That for AMD is all CPUs older then 2013, and for Intel all CPUs older then Sandy Bridge. For example 5900HX can decode at 220FPS 1080p stuff. Can Intel Nehalem decode something at least 30fps 1080p from AV1 codec?
        CPUs affected are the ones that doesn't support AVX2 (https://code.videolan.org/videolan/dav1d/-/issues/78). That includes popular chips like Core 2, Sandy Bridge, Ivy Bridge, all modern Pentiums and Celerons, and most of Bulldozer-based APUs. A significant part of these are capable to read 1080p 30fps with optimizations.

        Comment


        • #5
          These results proof that SSSE3 and SSE4 are able to provide the same contribution of AVX on AV1.
          Last edited by Azrael5; 03 August 2021, 03:53 AM.

          Comment


          • #6
            In these cases where you need to limit the CPU to certain instruction sets, why not use virtual machines with a fake CPU? It is not ideal but when comparing to itself it should suffice.

            Comment


            • #7
              Originally posted by piotrj3 View Post

              question is are those CPUs even capable of decoding AV1 at reasonable speed even with optimalizations. CPUs that are affected by it are ones that don't have AVX. That for AMD is all CPUs older then 2013, and for Intel all CPUs older then Sandy Bridge. For example 5900HX can decode at 220FPS 1080p stuff. Can Intel Nehalem decode something at least 30fps 1080p from AV1 codec?

              Only some Pentiums/Celeron golds are i think reasonable subject here as they are much newer but don't have AVX instruction set.

              I found somewhere on openbenchmarking that i7-2700k can score 51FPS at 1080p. Nehalem -> Sandy bridge was giant improvement, and Sandry Bridge has 1st gen AVX, which brings legitimate concern how many CPUs from that era can be even used with AV1.

              My Phenom II X6 can decode AV1 in 1080p in good framerate. I didn't check the FPS but the video is very smooth.

              Comment


              • #8
                Originally posted by SofS View Post
                In these cases where you need to limit the CPU to certain instruction sets, why not use virtual machines with a fake CPU? It is not ideal but when comparing to itself it should suffice.
                While in theory, its not a bad idea, but there's a myriad of problems with this approach.
                One can certainly emulate an older processor using a newer processor, but things like emulating instructions per second/pipelining/bugs is a crazy endeavor. It's just not very feasible.

                Not only that, but the data you'd get from your benchmarks would essentially be garbage. Its really hard, if not impossible, to emulate things like cache misses and things like that. Remember, you're emulating a totally different architecture.
                If you've ever read about or worked on old emulators for real old hardware, even for things like an Altair 8800, which should be very easy to emulate, things like instruction timings just will never be the same. Its the nature of the beast; timings is going to be the thing that gets you when emulating any CPU. You can try to account for the error, but how would you factor in your own cache miss or such? How would you emulate DRAM speed and such?

                Much better to test on real hardware to get real figures.

                Comment


                • #9
                  Surely the examples of AVX-less CPUs today are those based on Goldmont and Tremont cores and similar "small" cores? They are new, popular, and easily fast enough to be relevant. Could we see some benchmarks of those?

                  Comment


                  • #10
                    Originally posted by Azrael5 View Post
                    These results proof that SSER3 and SSE4 are able to provide the same contribution of AVX on AV1.
                    Same contribution? I wouldn't be so quick to say that. Otherwise, they wouldn't have bothered with AVX.

                    Comment

                    Working...
                    X