RFR: 8344118: C2 SuperWord: add VectorThroughputForIterationCount benchmark [v3]

Jatin Bhateja jbhateja at openjdk.org
Wed Nov 27 07:59:39 UTC 2024


On Wed, 27 Nov 2024 06:46:25 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> Took idea of benchmark from here https://github.com/openjdk/jdk/pull/14581
>> 
>> It will be important for the efforts in:
>> [JDK-8344085](https://bugs.openjdk.org/browse/JDK-8344085): C2 SuperWord: improve vectorization for small loop iteration count
>> 
>> I ran the plots for `byte, int, long`.
>> We have aligned/unaligned scenarios, and compute-bound vs memory-bound scenarios.
>> 
>> We can very clearly see the effect of vectorization, and that with increasing `size`, we get increasingly better performance. But we can also see the effect of pre/post loops: this creates the saw-tooth curve.
>> 
>> ---------------------------------------------------
>> **Results**
>> 
>> red: normal -> saw-tooth
>> green: randomized offsets -> more "smooth"
>> 
>> linux_x64
>> ![linux_x64](https://github.com/user-attachments/assets/1e63b47f-16a6-4766-985d-9da4cad25505)
>> 
>> linux_aarch64
>> ![linux_aarch64](https://github.com/user-attachments/assets/77e9a880-32eb-43f8-a84b-16f39c1c2a62)
>> 
>> macosx_x64
>> ![macosx_x64](https://github.com/user-attachments/assets/ab730367-d684-475c-b96d-e1093f56e776)
>> 
>> macosx_aarch64
>> ![macosx_aarch64](https://github.com/user-attachments/assets/551484f5-79c7-41ea-b54d-e038d8c7b048)
>> 
>> windows_x64
>> ![windows_x64](https://github.com/user-attachments/assets/3801577f-ac53-48ce-9b46-a2c9f0a2ddfe)
>
> Emanuel Peter has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains eight additional commits since the last revision:
> 
>  - Merge branch 'master' into JDK-8344118-VectorThroughputForIterationCount-benchmark
>  - Merge branch 'master' into JDK-8344118-VectorThroughputForIterationCount-benchmark
>  - whitespace
>  - Merge branch 'master' into JDK-8344118-VectorThroughputForIterationCount-benchmark
>  - Merge branch 'master' into JDK-8344118-VectorThroughputForIterationCount-benchmark
>  - Merge branch 'master' into JDK-8344118-VectorThroughputForIterationCount-benchmark
>  - Merge branch 'master' into JDK-8344118-VectorThroughputForIterationCount-benchmark
>  - JDK-8344118

Good

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

Marked as reviewed by jbhateja (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/22070#pullrequestreview-2464173569


More information about the hotspot-compiler-dev mailing list