[jdk17u-dev] RFR: 8298472: AArch64: Detect Ampere-1 and Ampere-1A CPUs and set default options [v2]
Patrick Zhang
qpzhang at openjdk.org
Tue Jan 31 06:25:45 UTC 2023
> Backport of CPU detection function for Ampere-1 and Ampere-1A, and performance enhancement with turning on UseSIMDForMemoryOps option for these two CPUs by default. Verified OpenJDK bundled JMH test cases, `make run-test TEST="micro:java.lang.ArrayCopy*"` , SIMD vs NoSIMD ratios are mostly positive as expected, aligned with that on jdk mainline. Low risk to other functions/systems due to the CPU detection logic.
>
> Not a clean backport, manually resolved below conflicts, **no function change**:
> 1. Copyright years are `1997, 2021` in 17u-dev instead of the expected `1997, 2022` in two files
> 2. `@@ -132,7 +132,7 @@ void VM_Version::initialize()` should be 131 for 17u-dev
> 3. `@@ -144,6 +144,13 @@ void VM_Version::initialize() ` should be 143 for 17u-dev
> 4. The `enum Feature_Flag` in 17u-dev has been updated in jdk mainline to: declaring the macro `#define CPU_FEATURE_FLAGS` firstly then wrapping it inside the enum. So the line numbers are not aligned during doing `git apply`
>
> FYI, a try-out: manually fixing these conflicts according to `git apply -v` in the patch file can make it applied cleanly.
>
> Additional tests done:
> 1. Linux aarch64 release tier1 on Ampere-1 system, without explicitly specifying UseSIMDForMemoryOps
> 6. OpenJDK GHA Sanity Checks on forked repo: https://github.com/cnqpzhang/jdk17u-dev/actions/runs/3919027362
>
> Backport-of: 706845743699efb01994e2d12c65023a3e972b77
> Signed-off-by: Patrick Zhang <patrick at os.amperecomputing.com>
Patrick Zhang has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains two commits:
- Merge branch 'master' into JDK-8298472-ampere-simd-memops
- 8298472: AArch64: Detect Ampere-1 and Ampere-1A CPUs and set default options
Backport-of: 706845743699efb01994e2d12c65023a3e972b77
Signed-off-by: Patrick Zhang <patrick at os.amperecomputing.com>
-------------
Changes: https://git.openjdk.org/jdk17u-dev/pull/1067/files
Webrev: https://webrevs.openjdk.org/?repo=jdk17u-dev&pr=1067&range=01
Stats: 18 lines in 2 files changed: 15 ins; 0 del; 3 mod
Patch: https://git.openjdk.org/jdk17u-dev/pull/1067.diff
Fetch: git fetch https://git.openjdk.org/jdk17u-dev pull/1067/head:pull/1067
PR: https://git.openjdk.org/jdk17u-dev/pull/1067
More information about the jdk-updates-dev
mailing list