RFR: 8294588: Auto vectorize half precision floating point conversion APIs [v7]

Xiaohong Gong xgong at openjdk.org
Wed Dec 7 02:09:09 UTC 2022


On Wed, 7 Dec 2022 00:46:44 GMT, Smita Kamath <svkamath at openjdk.org> wrote:

>> Hi All, 
>> 
>> I have added changes for autovectorizing Float.float16ToFloat and Float.floatToFloat16 API's.
>> Following are the performance numbers of JMH micro Fp16ConversionBenchmark:
>> Before code changes:
>> Benchmark | (size) | Mode | Cnt | Score | Error | Units
>> Fp16ConversionBenchmark.float16ToFloat | 2048 | thrpt | 3 | 1044.653 | ±     0.041 | ops/ms
>> Fp16ConversionBenchmark.float16ToFloatMemory | 2048 | thrpt | 3 | 2341529.9 | ± 11765.453 | ops/ms
>> Fp16ConversionBenchmark.floatToFloat16 | 2048 | thrpt | 3 | 2156.662 | ±     0.653 | ops/ms
>> Fp16ConversionBenchmark.floatToFloat16Memory | 2048 | thrpt | 3 | 2007988.1 | ±   361.696 | ops/ms
>> 
>> After:
>> Benchmark | (size) | Mode |  Cnt | Score | Error |   Units
>> Fp16ConversionBenchmark.float16ToFloat  | 2048 | thrpt | 3 |  20460.349 |±  372.327 |  ops/ms
>> Fp16ConversionBenchmark.float16ToFloatMemory | 2048 |  thrpt | 3 | 2342125.200 |± 9250.899  |ops/ms
>> Fp16ConversionBenchmark.floatToFloat16  |  2048 | thrpt  |  3 |   22553.977 |±  483.034 | ops/ms
>> Fp16ConversionBenchmark.floatToFloat16Memory | 2048 | thrpt |  3 |  2007899.797 |±  150.296 | ops/ms
>> 
>> Kindly review and share your feedback.
>> 
>> Thanks.
>> Smita
>
> Smita Kamath has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Updated test case

test/hotspot/jtreg/compiler/vectorization/TestFloatConversionsVector.java line 27:

> 25:  * @test
> 26:  * @bug 8294588
> 27:  * @summary Auto-vectorize Float.floatToFloat16, Float.float16ToFloat API's

Change `API's` to `APIs` ?

test/hotspot/jtreg/compiler/vectorization/TestFloatConversionsVector.java line 55:

> 53:   @Test
> 54:   public void test_float_float16(short[] sout, float[] finp) {
> 55:       for (int i = 0; i < finp.length; i+=1) {

`i+=1` => `i++` ?

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

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


More information about the hotspot-compiler-dev mailing list