KNL specific fix: disable generating INC and DEC instructions on Xeon Phi and Silvermont CPUs
Kandu, Rahul
rahul.kandu at intel.com
Fri Jun 16 21:03:53 UTC 2017
Hi Vladimir,
Thanks. Fixed the indents- no tabs in the code change. Please find the updated webrev below.
Openjdk bug location: https://bugs.openjdk.java.net/browse/JDK-8182138
Webrev for the code change: http://cr.openjdk.java.net/~vdeshpande/8182138/webrev.01/
regards,
Rahul
From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com]
Sent: Thursday, June 15, 2017 2:10 PM
To: Kandu, Rahul <rahul.kandu at intel.com>; hotspot-compiler-dev at openjdk.java.net
Subject: Re: KNL specific fix: disable generating INC and DEC instructions on Xeon Phi and Silvermont CPUs
Hi Rahul
Please fix indents - don't use tabs.
Vladimir
On 6/15/17 1:14 PM, Kandu, Rahul wrote:
Hi all,
The following patch disables generating INC, DEC instructions on Xeon Phi and Silvermont ATOM based CPUs. We have currently identified that using INC and DEC can suffer from unexpected performance drops on certain processors which don't optimize for partial write flags. This patch disables generation of these two instructions as they are more commonly used at loop increment/decrement.
Patch provides 3.65% better performance on Knights Landing CPU on SPECjvm2008 composite score as per runs below on the latest openjdk source.
Openjdk bug location: https://bugs.openjdk.java.net/browse/JDK-8182138
Webrev for the code change: http://cr.openjdk.java.net/~vdeshpande/8182138/webrev.00/<http://cr.openjdk.java.net/%7Evdeshpande/8182138/webrev.00/>
Scores:
6/10 jdk10 code (no change)
6/10 jdk10code with this patch
run1
run2
run3
geomean
run1
run2
run3
geomean
lu.small
1503.79
1500.62
1494.98
1499.792
lu.small
1478.48
1493.78
1509.2
1493.767
sor.small
2417.24
2372.1
2356.47
2381.798
sor.small
2436.89
2434.46
2446.88
2439.404
sparse.small
606.35
635.19
595.44
612.099
sparse.small
681.96
728.02
671.41
693.3673
fft.small
1463.55
1406.43
1173.63
1341.793
fft.small
1220.14
1425.19
1190.06
1274.335
monte_carlo
823.66
825.96
761.26
803.0575
monte_carlo
939.53
923
934.76
932.4041
sparse.large
159.45
139.83
155.76
151.4352
sparse.large
100.66
150.22
179.79
139.5672
fft.large
419.19
425.81
432.6
425.8315
fft.large
433.11
424.72
429.07
428.953
sor.large
416.31
262.98
271.31
309.6957
sor.large
366.6
397.67
352.75
371.8725
lu.large
116.46
127.51
129.33
124.3007
lu.large
124.2
122.69
124.1
123.6614
transform
1056.64
1066.6
1021.08
1047.923
transform
1015.85
1056.42
1049.42
1040.412
validation
1371.86
1898.49
1971.28
1725.131
validation
2088.81
2178.14
2112.95
2126.301
aes
276.67
255.84
299.78
276.8499
aes
261.5
258.95
290.17
269.8444
rsa
1041.29
1069.51
1069.26
1059.937
rsa
1091.45
1089.15
1095.52
1092.037
signverify
2583.7
2592.98
2586.34
2587.67
signverify
2660.73
2664.17
2634.47
2653.09
compress
817.65
817.44
816.55
817.2132
compress
852.55
847.61
894.59
864.6626
serial
608.48
586.62
615.37
603.3646
serial
627.19
605.21
619.31
617.1695
sunflow
371.28
373.03
373.04
372.4491
sunflow
368.59
381.78
369.64
373.289
mpegaudio
743.85
734.46
752.62
743.6064
mpegaudio
775.45
773.35
776.98
775.2586
derby
1929.9
1901.28
1922.56
1917.875
derby
1927.97
1865.47
1919.17
1904.002
Total
780.54
779.91
786.98
782.4702
Total
801
812.98
819
810.9587
3.65% improvement
regards,
Rahul
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20170616/a9c0ad39/attachment-0001.html>
More information about the hotspot-compiler-dev
mailing list