On 06/15/2018 05:39 AM, Wilco Dijkstra wrote: > Martin wrote: > >> Keep in mind that when discussing FP benchmarks, the used math library >> can be (almost) as important as the compiler. In the case of 481.wrf, >> we found that the GCC 8 + glibc 2.26 (so the "out-of-the box" GNU) >> performance is about 70% of ICC's. When we just linked against AMD's >> libm, we got to 83%. When we instructed GCC to generate calls to Intel's >> SVML library and linked against it, we got to 91%. Using both SVML and >> AMD's libm, we achieved 93%. >> >> That means that there likely still is 7% to be gained from more clever >> optimizations in GCC but the real problem is in GNU libm. And 481.wrf >> is perhaps the most extreme example but definitely not the only one. > > You really should retry with GLIBC 2.27 since several key math functions were > rewritten from scratch by Szabolcs Nagy (all in generic C code), resulting in > huge > performance gains on all targets (eg. wrf improved over 50%). > > I fixed several double precision functions in current GLIBC to avoid > extremely bad > performance which had been complained about for years. There are more math > functions on the way, so the GNU libm will not only catch up, but become the > fastest > math library available. And resolution on -fno-math-errno as the default. Setting errno can be more expensive than people realize.
Jeff