RFR: 8298427: Detect Ampere-1 and Ampere-1A CPUs and set default options
Patrick Zhang
qpzhang at openjdk.org
Fri Jan 6 08:39:27 UTC 2023
This patch is to add CPU detection for Ampere-1 and Ampere-1A and set -XX:+UseSIMDForMemoryOps by default. In addition, an `enum Ampere_CPU_Model ` got introduced in order to clearly describe all Ampere CPUs in `src/hotspot/cpu/aarch64/vm_version_aarch64.hpp`.
Tests done:
1. Jtreg tier1 sanity check on Ampere Altra AArch64 platforms, and Ampere-1 systems as well. No new issue found.
4. GitHub Actions (GHA) sanity tests: https://github.com/cnqpzhang/jdk/actions/runs/3845722221
3. OpenJDK bundled JMH, `make run-test TEST="micro:java.lang.ArrayCopy*" `, SIMD vs NoSIMD ratios are mostly positive. For example, `java.lang.ArrayCopyAligned.testChar` with `-p length=600` showed +42% improvement on Ampere-1.
2. Ran [JMH JDK Microbenchmarks](https://github.com/openjdk/jmh-jdk-microbenchmarks), ~1500 cases. No obvious perf regression found.
Signed-off-by: Patrick Zhang <patrick at os.amperecomputing.com>
-------------
Commit messages:
- 8298427: Detect Ampere-1 and Ampere-1A CPUs and set default options
Changes: https://git.openjdk.org/jdk/pull/11878/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=11878&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8298427
Stats: 18 lines in 2 files changed: 15 ins; 0 del; 3 mod
Patch: https://git.openjdk.org/jdk/pull/11878.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/11878/head:pull/11878
PR: https://git.openjdk.org/jdk/pull/11878
More information about the hotspot-compiler-dev
mailing list