Announcement

Collapse
No announcement yet.

Intel Continues Tuning Glibc's Performance: More FMA'ing

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

  • Intel Continues Tuning Glibc's Performance: More FMA'ing

    Phoronix: Intel Continues Tuning Glibc's Performance: More FMA'ing

    Intel continues contributing performance optimizations to the GNU C Library (glibc) for allowing various functions to make use of modern processor instruction set extensions...

    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
    The stated improvements to Ivy Bridge and Skylake are great, but it'd be nice to have a more comprehensive idea of the impact on a wider set of processors. Don't get me wrong, there's every chance that it's an improvement on modern CPUs of all kinds, but we can't assume that - especially given the source.

    (FWIW, I just leased a "new" Sandy Bridge server. It's still a great platform, and now at a great price. Intel's greatest competition is themselves!)
    Last edited by GreenReaper; 08 December 2017, 11:51 AM.

    Comment


    • #3
      Yes, I'd like to know how this will perform on Ryzen CPUs. Any improvements there, or more importantly, no regressions??

      Comment


      • #4
        Originally posted by sa666666 View Post
        Yes, I'd like to know how this will perform on Ryzen CPUs. Any improvements there, or more importantly, no regressions??
        Well, assuming any of this is FMA3 stuff, it should also benefit Ryzen, though how much is a different question. The sinf() changes appear to be FMA4-based though, and while Ryzen implements FMA4, it does not advertise it in CPUID (probably due to it performing poorly). FMA4 has been a bit of a mess over the years.
        Last edited by microcode; 08 December 2017, 12:40 PM.

        Comment


        • #5
          the real question is why dont more people spend more time implementing this sort of thing? there are 7.5 billion people in the world, stuff like avx has been around for what nearly a decade? and it takes some guy from intel to tinker around with one or two piddly little things in his free time to make any progress on it? they got everyone jerkin around writing javascript and python nowadays i guess..

          Comment


          • #6
            Mostly because they're not paid to do it, and don't have the skills required.

            If you're paid to improve the performance of a web application, you probably aren't going to be looking at recoding glibc's math functions; not least because it's hard to predict or show a clear benefit, but also because it requires a very particular skillset.

            ​​​Even Intel, who has a clear interest in promoting its products, has tended to work with applications and middleware which their customers can relate to and on which there is a clear potential for improvement. I saw them try to help ImageMagick out years ago but got rebuffed, for example - and I suspect they helped out with openssl; they wrote a paper on the benefit of AES-NI.

            Don't assume this was done in free time. Probably what happened is that some HPC customer came to them with a performance problem and they found out that their software relies heavily on this function, so they could justify working on it. Consider it one of the benefits of big business running Linux.

            Comment


            • #7
              Originally posted by quaz0r View Post
              the real question is why dont more people spend more time implementing this sort of thing? there are 7.5 billion people in the world, stuff like avx has been around for what nearly a decade? and it takes some guy from intel to tinker around with one or two piddly little things in his free time to make any progress on it? they got everyone jerkin around writing javascript and python nowadays i guess..
              /thread

              Comment


              • #8
                Originally posted by quaz0r View Post
                the real question is why dont more people spend more time implementing this sort of thing? there are 7.5 billion people in the world, stuff like avx has been around for what nearly a decade? and it takes some guy from intel to tinker around with one or two piddly little things in his free time to make any progress on it? they got everyone jerkin around writing javascript and python nowadays i guess..
                They do, but changing math implementations in a widely used library is nothing for the faint hearted. Numerics are a bitch, and "fused multiply add" has different accuracy to using 2 instructions.
                For your own software that you can regression test, no problem.
                Funnily enough sin(x) has some ridiculous stricter definitions in most C libraries then what IEEE requires - for big numbers, sin(x) will just return random noise given that x is already rounded that the standard did not define (rightly so). Those stricter definitions make efficient implementations hard, and have little to no benefit.

                You can look around and will find alot of Opensource numerical libs using AVX, Neon and whatnot. If you want efficiency use these.

                Comment


                • #9
                  news like these give me the most amount of dopamine...

                  Comment


                  • #10
                    Originally posted by quaz0r View Post
                    the real question is why dont more people spend more time implementing this sort of thing? there are 7.5 billion people in the world, stuff like avx has been around for what nearly a decade? and it takes some guy from intel to tinker around with one or two piddly little things in his free time to make any progress on it? they got everyone jerkin around writing javascript and python nowadays i guess..
                    How many actually use the glibc math functions? From what I know most people who use heavy math calculations use custom math libraries.

                    Comment

                    Working...
                    X