Re: RFR: 8281712: [REDO] AArch64: Implement string_compare intrinsic in SVE

2022-05-17 Thread Ningsheng Jian
On Tue, 17 May 2022 08:37:52 GMT, Nick Gasson  wrote:

> LGTM!

Thank you, Nick!

-

PR: https://git.openjdk.java.net/jdk/pull/8723


Re: RFR: 8281712: [REDO] AArch64: Implement string_compare intrinsic in SVE

2022-05-17 Thread Nick Gasson
On Mon, 16 May 2022 07:21:27 GMT, Ningsheng Jian  wrote:

> This is the REDO of JDK-8269559 and JDK-8275448. Those two backouts finally 
> turned to be some system zlib issue in AArch64 macOS, and is not related to 
> the patch itself. See [1][2] for details.
> 
> This patch is generally the same as JDK-8275448, which uses SVE to optimize 
> string_compare intrinsics for long string comparisons. I did a rebase with 
> small tweaks to get better performance on recent Neoverse hardware. Test data 
> on systems with different SVE vector sizes:
> 
> 
>casedelta size  128-bits  256-bits  512-bits
> compareToLL  2   24 0.17% 0.58% 0.00%
> compareToLL  2   36 0.00%2.25%  0.04%
> compareToLL  2   72 -4.40%   3.87%  -12.82%
> compareToLL  2   1284.55%58.31% 13.53%
> compareToLL  2   25619.39%   69.77% 82.03%
> compareToLL  2   5121.81%68.38% 170.93%
> compareToLU  2   24 25.57%   46.98% 54.61%
> compareToLU  2   36 36.03%   70.26% 94.33%
> compareToLU  2   72 35.86%   90.58% 146.04%
> compareToLU  2   12870.82%   119.19%266.22%
> compareToLU  2   25680.77%   146.33%420.01%
> compareToLU  2   51294.62%   171.72%530.87%
> compareToUL  2   24 20.82%   34.48% 62.14%
> compareToUL  2   36 39.77%   60.79% 69.77%
> compareToUL  2   72 35.46%   84.34% 121.90%
> compareToUL  2   12867.77%   110.97%220.53%
> compareToUL  2   25677.05%   160.29%331.30%
> compareToUL  2   51291.88%   184.57%524.21%
> compareToUU  2   24 -0.13%   0.40%  0.00%
> compareToUU  2   36 -9.18%   12.84% -13.93%
> compareToUU  2   72 1.67%60.61% 6.69%
> compareToUU  2   12813.51%   60.33% 55.27%
> compareToUU  2   2562.55%62.17% 153.26%
> compareToUU  2   5124.12%68.62% 201.68%
> 
> JTreg tests passed on SVE hardware.
> 
> [1] https://bugs.openjdk.java.net/browse/JDK-8275448
> [2] https://bugs.openjdk.java.net/browse/JDK-8282954

LGTM!

-

Marked as reviewed by ngasson (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/8723


Re: RFR: 8281712: [REDO] AArch64: Implement string_compare intrinsic in SVE

2022-05-17 Thread Ningsheng Jian
On Tue, 17 May 2022 06:09:11 GMT, Tobias Hartmann  wrote:

> Sure, I already submitted testing yesterday, it all passed.

Thank you, Tobias!

-

PR: https://git.openjdk.java.net/jdk/pull/8723


Re: RFR: 8281712: [REDO] AArch64: Implement string_compare intrinsic in SVE

2022-05-17 Thread Tobias Hartmann
On Mon, 16 May 2022 07:21:27 GMT, Ningsheng Jian  wrote:

> This is the REDO of JDK-8269559 and JDK-8275448. Those two backouts finally 
> turned to be some system zlib issue in AArch64 macOS, and is not related to 
> the patch itself. See [1][2] for details.
> 
> This patch is generally the same as JDK-8275448, which uses SVE to optimize 
> string_compare intrinsics for long string comparisons. I did a rebase with 
> small tweaks to get better performance on recent Neoverse hardware. Test data 
> on systems with different SVE vector sizes:
> 
> 
>casedelta size  128-bits  256-bits  512-bits
> compareToLL  2   24 0.17% 0.58% 0.00%
> compareToLL  2   36 0.00%2.25%  0.04%
> compareToLL  2   72 -4.40%   3.87%  -12.82%
> compareToLL  2   1284.55%58.31% 13.53%
> compareToLL  2   25619.39%   69.77% 82.03%
> compareToLL  2   5121.81%68.38% 170.93%
> compareToLU  2   24 25.57%   46.98% 54.61%
> compareToLU  2   36 36.03%   70.26% 94.33%
> compareToLU  2   72 35.86%   90.58% 146.04%
> compareToLU  2   12870.82%   119.19%266.22%
> compareToLU  2   25680.77%   146.33%420.01%
> compareToLU  2   51294.62%   171.72%530.87%
> compareToUL  2   24 20.82%   34.48% 62.14%
> compareToUL  2   36 39.77%   60.79% 69.77%
> compareToUL  2   72 35.46%   84.34% 121.90%
> compareToUL  2   12867.77%   110.97%220.53%
> compareToUL  2   25677.05%   160.29%331.30%
> compareToUL  2   51291.88%   184.57%524.21%
> compareToUU  2   24 -0.13%   0.40%  0.00%
> compareToUU  2   36 -9.18%   12.84% -13.93%
> compareToUU  2   72 1.67%60.61% 6.69%
> compareToUU  2   12813.51%   60.33% 55.27%
> compareToUU  2   2562.55%62.17% 153.26%
> compareToUU  2   5124.12%68.62% 201.68%
> 
> JTreg tests passed on SVE hardware.
> 
> [1] https://bugs.openjdk.java.net/browse/JDK-8275448
> [2] https://bugs.openjdk.java.net/browse/JDK-8282954

Marked as reviewed by thartmann (Reviewer).

Sure, I already submitted testing yesterday, it all passed.

-

PR: https://git.openjdk.java.net/jdk/pull/8723


Re: RFR: 8281712: [REDO] AArch64: Implement string_compare intrinsic in SVE

2022-05-16 Thread Ningsheng Jian
On Mon, 16 May 2022 07:21:27 GMT, Ningsheng Jian  wrote:

> This is the REDO of JDK-8269559 and JDK-8275448. Those two backouts finally 
> turned to be some system zlib issue in AArch64 macOS, and is not related to 
> the patch itself. See [1][2] for details.
> 
> This patch is generally the same as JDK-8275448, which uses SVE to optimize 
> string_compare intrinsics for long string comparisons. I did a rebase with 
> small tweaks to get better performance on recent Neoverse hardware. Test data 
> on systems with different SVE vector sizes:
> 
> 
>casedelta size  128-bits  256-bits  512-bits
> compareToLL  2   24 0.17% 0.58% 0.00%
> compareToLL  2   36 0.00%2.25%  0.04%
> compareToLL  2   72 -4.40%   3.87%  -12.82%
> compareToLL  2   1284.55%58.31% 13.53%
> compareToLL  2   25619.39%   69.77% 82.03%
> compareToLL  2   5121.81%68.38% 170.93%
> compareToLU  2   24 25.57%   46.98% 54.61%
> compareToLU  2   36 36.03%   70.26% 94.33%
> compareToLU  2   72 35.86%   90.58% 146.04%
> compareToLU  2   12870.82%   119.19%266.22%
> compareToLU  2   25680.77%   146.33%420.01%
> compareToLU  2   51294.62%   171.72%530.87%
> compareToUL  2   24 20.82%   34.48% 62.14%
> compareToUL  2   36 39.77%   60.79% 69.77%
> compareToUL  2   72 35.46%   84.34% 121.90%
> compareToUL  2   12867.77%   110.97%220.53%
> compareToUL  2   25677.05%   160.29%331.30%
> compareToUL  2   51291.88%   184.57%524.21%
> compareToUU  2   24 -0.13%   0.40%  0.00%
> compareToUU  2   36 -9.18%   12.84% -13.93%
> compareToUU  2   72 1.67%60.61% 6.69%
> compareToUU  2   12813.51%   60.33% 55.27%
> compareToUU  2   2562.55%62.17% 153.26%
> compareToUU  2   5124.12%68.62% 201.68%
> 
> JTreg tests passed on SVE hardware.
> 
> [1] https://bugs.openjdk.java.net/browse/JDK-8275448
> [2] https://bugs.openjdk.java.net/browse/JDK-8282954

@TobiHartmann Could you please help to test this patch in Oracle test system? 
Thanks!

-

PR: https://git.openjdk.java.net/jdk/pull/8723


RFR: 8281712: [REDO] AArch64: Implement string_compare intrinsic in SVE

2022-05-16 Thread Ningsheng Jian
This is the REDO of JDK-8269559 and JDK-8275448. Those two backouts finally 
turned to be some system zlib issue in AArch64 macOS, and is not related to the 
patch itself. See [1][2] for details.

This patch is generally the same as JDK-8275448, which uses SVE to optimize 
string_compare intrinsics for long string comparisons. I did a rebase with 
small tweaks to get better performance on recent Neoverse hardware. Test data 
on systems with different SVE vector sizes:


   casedelta size  128-bits  256-bits  512-bits
compareToLL  2   24 0.17% 0.58% 0.00%
compareToLL  2   36 0.00%2.25%  0.04%
compareToLL  2   72 -4.40%   3.87%  -12.82%
compareToLL  2   1284.55%58.31% 13.53%
compareToLL  2   25619.39%   69.77% 82.03%
compareToLL  2   5121.81%68.38% 170.93%
compareToLU  2   24 25.57%   46.98% 54.61%
compareToLU  2   36 36.03%   70.26% 94.33%
compareToLU  2   72 35.86%   90.58% 146.04%
compareToLU  2   12870.82%   119.19%266.22%
compareToLU  2   25680.77%   146.33%420.01%
compareToLU  2   51294.62%   171.72%530.87%
compareToUL  2   24 20.82%   34.48% 62.14%
compareToUL  2   36 39.77%   60.79% 69.77%
compareToUL  2   72 35.46%   84.34% 121.90%
compareToUL  2   12867.77%   110.97%220.53%
compareToUL  2   25677.05%   160.29%331.30%
compareToUL  2   51291.88%   184.57%524.21%
compareToUU  2   24 -0.13%   0.40%  0.00%
compareToUU  2   36 -9.18%   12.84% -13.93%
compareToUU  2   72 1.67%60.61% 6.69%
compareToUU  2   12813.51%   60.33% 55.27%
compareToUU  2   2562.55%62.17% 153.26%
compareToUU  2   5124.12%68.62% 201.68%

JTreg tests passed on SVE hardware.

[1] https://bugs.openjdk.java.net/browse/JDK-8275448
[2] https://bugs.openjdk.java.net/browse/JDK-8282954

-

Commit messages:
 - 8281712: [REDO] AArch64: Implement string_compare intrinsic in SVE

Changes: https://git.openjdk.java.net/jdk/pull/8723/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk=8723=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8281712
  Stats: 443 lines in 7 files changed: 433 ins; 0 del; 10 mod
  Patch: https://git.openjdk.java.net/jdk/pull/8723.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/8723/head:pull/8723

PR: https://git.openjdk.java.net/jdk/pull/8723