Integrated: 8344118: C2 SuperWord: add VectorThroughputForIterationCount benchmark

Emanuel Peter epeter at openjdk.org
Wed Nov 27 09:18:51 UTC 2024


On Wed, 13 Nov 2024 13:30:52 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)

This pull request has now been integrated.

Changeset: b3986bdb
Author:    Emanuel Peter <epeter at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/b3986bdbdbafabde5beb15300444034363723449
Stats:     436 lines in 1 file changed: 436 ins; 0 del; 0 mod

8344118: C2 SuperWord: add VectorThroughputForIterationCount benchmark

Reviewed-by: kvn, jbhateja, chagedorn

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

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


More information about the hotspot-compiler-dev mailing list