nonsense benchtests results
Paul Zimmermann
Paul.Zimmermann@inria.fr
Wed Jul 29 15:53:59 GMT 2020
Hi,
I'd like to measure the reciprocal-throughput and latency of sin, exp, pow,
both in single, double and quadruple precision.
There is the ##name: workload-<name> documented in benchtests/README for that
(apparently, <name> is not used anywhere).
I thus added ## name: workload-spec2017.wrf (adapted) in sinf-inputs,
expf-inputs, powf-inputs, and similar files for binary64 and binary128.
This seems to work well for binary32, for example (this is with glibc-2.31):
"expf": {
"workload-spec2017.wrf (adapted)": {
"duration": 3.32321e+09,
"iterations": 1.14432e+08,
"reciprocal-throughput": 14.88,
"latency": 43.2017,
"max-throughput": 6.72042e+07,
"min-throughput": 2.31472e+07
}
However, for binary64 I get nonsense (for "sin" I tried also without "adapted",
and in both cases the reciprocal-throughput and latency are much too big, and
for "exp" the latency is smaller than the reciprocal-throughput):
"sin": {
"workload-spec2017.wrf": {
"duration": 4.02532e+09,
"iterations": 2.8e+07,
"reciprocal-throughput": 126.621,
"latency": 160.902,
"max-throughput": 7.89757e+06,
"min-throughput": 6.21498e+06
},
"exp": {
"workload-spec2017.wrf (adapted)": {
"duration": 3.29728e+09,
"iterations": 1.2336e+08,
"reciprocal-throughput": 32.4024,
"latency": 21.0555,
"max-throughput": 3.08619e+07,
"min-throughput": 4.74936e+07
},
Same issue with binary128, with latency smaller than reciprocal-throughput:
"expf128": {
"workload-spec2017.wrf (adapted)": {
"duration": 4.07871e+09,
"iterations": 3.084e+06,
"reciprocal-throughput": 2471.88,
"latency": 173.196,
"max-throughput": 404550,
"min-throughput": 5.77382e+06
},
"powf128": {
"workload-spec2017.wrf (adapted)": {
"duration": 3.62441e+09,
"iterations": 2.408e+06,
"reciprocal-throughput": 2793.63,
"latency": 216.675,
"max-throughput": 357957,
"min-throughput": 4.6152e+06
},
Can someone make it work?
Paul
More information about the Libc-alpha
mailing list