Integrated: 8256318: AArch64: Add support for floating-point absolute difference
Dong Bo
dongbo at openjdk.java.net
Wed Nov 18 10:17:06 UTC 2020
On Sat, 14 Nov 2020 06:22:19 GMT, Dong Bo <dongbo at openjdk.org> wrote:
> This supports for floating-point absolute difference instructions, i.e. FABD scalar/vector.
>
> Verified with linux-aarch64-server-release, tier1-3.
>
> Added a JMH micro `test/micro/org/openjdk/bench/vm/compiler/FloatingScalarVectorAbsDiff.java` for performance test.
>
> The FABD (scalar), the performance tests handle registers directly, the average latency reduces to almost half (~57%) of the original.
> For FABD (vector), we restrict the data size (~24KB) to be less than L1 data cache size (32KB),
> so that the memory access can hit in L1, and witness 14.2% (float) and 21.2% (double) improvements.
>
> The JMH results on Kunpeng916:
>
> Benchmark (count) (seed) Mode Cnt Score Error Units
>
> # before, fsub+fabs
> FloatingScalarVectorAbsDiff.testScalarAbsDiffDouble 1024 316731 avgt 10 6038.333 ± 3.889 ns/op
> FloatingScalarVectorAbsDiff.testScalarAbsDiffFloat 1024 316731 avgt 10 6005.125 ± 3.025 ns/op
> FloatingScalarVectorAbsDiff.testVectorAbsDiffDouble 1024 316731 avgt 10 950.340 ± 9.398 ns/op
> FloatingScalarVectorAbsDiff.testVectorAbsDiffFloat 1024 316731 avgt 10 454.350 ± 1.798 ns/op
>
> # after, fabd
> FloatingScalarVectorAbsDiff.testScalarAbsDiffDouble 1024 316731 avgt 10 3483.801 ± 1.763 ns/op
> FloatingScalarVectorAbsDiff.testScalarAbsDiffFloat 1024 316731 avgt 10 3442.412 ± 1.866 ns/op
> FloatingScalarVectorAbsDiff.testVectorAbsDiffDouble 1024 316731 avgt 10 816.301 ± 4.454 ns/op
> FloatingScalarVectorAbsDiff.testVectorAbsDiffFloat 1024 316731 avgt 10 354.710 ± 1.001 ns/op
This pull request has now been integrated.
Changeset: b0b9dd27
Author: Dong Bo <dongbo at openjdk.org>
Committer: Fei Yang <fyang at openjdk.org>
URL: https://git.openjdk.java.net/jdk/commit/b0b9dd27
Stats: 806 lines in 24 files changed: 350 ins; 124 del; 332 mod
8256318: AArch64: Add support for floating-point absolute difference
Reviewed-by: aph
-------------
PR: https://git.openjdk.java.net/jdk/pull/1215
More information about the hotspot-dev
mailing list