RFR: 8344118: C2 SuperWord: add VectorThroughputForIterationCount benchmark [v3]
Emanuel Peter
epeter at openjdk.org
Wed Nov 27 06:46:25 UTC 2024
> 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_aarch64
> 
>
> macosx_x64
> 
>
> macosx_aarch64
> 
>
> windows_x64
> 
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
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/22070/files
- new: https://git.openjdk.org/jdk/pull/22070/files/c3930c4d..1316709d
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=22070&range=02
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=22070&range=01-02
Stats: 42116 lines in 846 files changed: 21575 ins; 16619 del; 3922 mod
Patch: https://git.openjdk.org/jdk/pull/22070.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/22070/head:pull/22070
PR: https://git.openjdk.org/jdk/pull/22070
More information about the hotspot-compiler-dev
mailing list