RFR: 8318158: RISC-V: implement roundD/roundF intrinsics [v6]
Olga Mikhaltsova
omikhaltcova at openjdk.org
Mon Dec 18 16:17:45 UTC 2023
On Tue, 5 Dec 2023 03:33:52 GMT, Fei Yang <fyang at openjdk.org> wrote:
>> Olga Mikhaltsova has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Replaced tmp with t0
>
> Unfortunately, I witnessed performance regression on sifive unmatched board.
>
> Before:
>
> FpRoundingBenchmark.test_ceil 2048 thrpt 15 39.243 ? 0.506 ops/ms
> FpRoundingBenchmark.test_floor 2048 thrpt 15 39.448 ? 0.076 ops/ms
> FpRoundingBenchmark.test_rint 2048 thrpt 15 39.411 ? 0.134 ops/ms
> FpRoundingBenchmark.test_round_double 2048 thrpt 15 31.329 ? 0.085 ops/ms
> FpRoundingBenchmark.test_round_float 2048 thrpt 15 31.328 ? 0.031 ops/ms
>
> After:
>
> FpRoundingBenchmark.test_ceil 2048 thrpt 15 39.375 ? 0.125 ops/ms
> FpRoundingBenchmark.test_floor 2048 thrpt 15 39.407 ? 0.076 ops/ms
> FpRoundingBenchmark.test_rint 2048 thrpt 15 39.387 ? 0.235 ops/ms
> FpRoundingBenchmark.test_round_double 2048 thrpt 15 23.940 ? 0.025 ops/ms
> FpRoundingBenchmark.test_round_float 2048 thrpt 15 30.629 ? 0.021 ops/ms
@RealFYang thank you for these suggestions! I've fixed all above mentioned and re-ran benchmark on VisionFive 2 and T-Head. The results are as followed:
**VisionFive 2**
Benchmark (TESTSIZE) Mode Cnt Score Error Units
FpRoundingBenchmark.test_round_double 2048 thrpt 15 38.855 ± 0.117 ops/ms
FpRoundingBenchmark.test_round_float 2048 thrpt 15 50.301 ± 0.028 ops/ms
**T-Head**
Benchmark (TESTSIZE) Mode Cnt Score Error Units
FpRoundingBenchmark.test_round_double 2048 thrpt 15 117.959 1.533 ops/ms
FpRoundingBenchmark.test_round_float 2048 thrpt 15 121.091 0.267 ops/ms
-------------
PR Comment: https://git.openjdk.org/jdk/pull/16382#issuecomment-1860934621
More information about the hotspot-dev
mailing list