Integrated: 8299038: Add AArch64 backend support for auto-vectorized FP16 conversions

Bhavana Kilambi bkilambi at openjdk.org
Mon Jan 16 10:51:27 UTC 2023


On Tue, 3 Jan 2023 11:18:00 GMT, Bhavana Kilambi <bkilambi at openjdk.org> wrote:

> This patch adds aarch64 backend support for auto-vectorized FP16 conversions namely, half precision to single precision and vice versa. Both Neon and SVE versions are included. The performance of this patch was tested on aarch64 machines with vector size of 128-bit, 256-bit and 512-bit.
> 
> Following are the performance improvements in throughput observed with the vectorized version versus the scalar code (which is the current implementation) for the JMH micro benchmark -
> test/micro/org/openjdk/bench/java/math/Fp16ConversionBenchmark.java
> 
> 
> Benchmark                               128-bit  256-bit  512-bit
> Fp16ConversionBenchmark.float16ToFloat  6.02     8.72     24.71
> Fp16ConversionBenchmark.floatToFloat16  2.00     3.29     10.84
> 
> 
> The numbers shown are the ratios between throughput of vectorized version and that of the scalar version.

This pull request has now been integrated.

Changeset: 98d75f18
Author:    Bhavana Kilambi <bkilambi at openjdk.org>
Committer: Nick Gasson <ngasson at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/98d75f1879269ff337c28f8cb916212d417e2769
Stats:     212 lines in 6 files changed: 135 ins; 3 del; 74 mod

8299038: Add AArch64 backend support for auto-vectorized FP16 conversions

Reviewed-by: xgong, ngasson

-------------

PR: https://git.openjdk.org/jdk/pull/11825


More information about the hotspot-compiler-dev mailing list