Hello,
On 09/05/2018 04:15 PM, joe darcy wrote:
Hello,
On 9/5/2018 6:12 AM, Severin Gehwolf wrote:
Hi,
Cross-posting this review-thread on core-libs-dev and build-dev as this
is a build change, but affects fdlibm which is core-libs.
With JDK-8170153 optimization for fdlibm code has been turned on for
ppc64 s390 and aarch64. This patch intends to turn it on on all arches
on Linux. I've not observed any precision issues. Is there a good
reason to not use -O3 -ffp-contract=off everywhere?
Bug: https://bugs.openjdk.java.net/browse/JDK-8210416
webrev: http://cr.openjdk.java.net/~sgehwolf/webrevs/JDK-8210416/webrev.01/
Testing: - java/lang/Math, java/lang/StrictMath tests (all pass).
- Currently running through submit repo.
A simple micro benchmark from JDK-8170153[1] shows these numbers for
StrictMath:
Function | before | after
----------------------------------------------
sin | 0m33.382s | 0m18.731s
cos | 0m31.562s | 0m18.796s
tan | 0m33.657s | 0m21.093s
atan | 0m5.714s | 0m4.902s
log | 0m6.212s | 0m4.439s
log10 | 0m7.946s | 0m5.543s
sqrt | 0m0.481s | 0m0.449s
cbrt | 0m5.295s | 0m5.214s
tanh | 0m1.404s | 0m1.307s
log1p | 0m6.457s | 0m5.131s
IEEEremainder | 0m10.629s | 0m6.048s
atan2 | 0m8.037s | 0m5.668s
hypot | 0m2.171s | 0m2.147s
Note that pow (JDK-8134795), hypot (JDK-7130085), cbrt (JDK-8136799), and exp
(JDK-8139688), have been ported to Java as of JDK 9. The sqrt method is
commonly handled as an intrinsic.
Testing that was not geared toward finding precision/rounding issues would be
unlikely to find them.
I don't see the sources of the microbenchmark in JDK-8170153.
The microbench can be found on the first email I sent discussing that issue on
Power.
Check it at the end, but there is nothing special in there:
http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/2016-November/002738.html
There is also some discussing on the formal RFR:
http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/2016-November/002751.html
Severin, the precision issues were quite conspicuous on Power when -O3 was
turned on.
There are some discussions about it in the threads above IIRC. SAP helped to
test the
change against additional tests, like TCK.
HTH.
Best regards,
Gustavo
Cheers,
-Joe