Integrated: 8342393: Promote commutative vector IR node sharing

Jatin Bhateja jbhateja at openjdk.org
Mon Feb 24 07:43:11 UTC 2025


On Mon, 23 Dec 2024 11:28:46 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

> Patch promotes the sharing of commutative vector IR with the same inputs but different input ordering.
> Similar to scalar IR where we perform edge swapping by [sorting inputs](https://github.com/openjdk/jdk/blob/master/src/hotspot/share/opto/addnode.cpp#L122) based on node indices during IR idealization.
> 
> Following are the performance stats for JMH micro included with the patch.
> 
> 
> Granite Rapids (P-core Xeon Server)
> Baseline : 
> Benchmark                                                                (size)   Mode  Cnt      Score   Error   Units
> VectorCommutativeOperSharingBenchmark.commutativeByteOperationShairing     1024  thrpt    2   8982.549          ops/ms
> VectorCommutativeOperSharingBenchmark.commutativeIntOperationShairing      1024  thrpt    2   6072.773          ops/ms
> VectorCommutativeOperSharingBenchmark.commutativeLongOperationShairing     1024  thrpt    2   2368.856          ops/ms
> VectorCommutativeOperSharingBenchmark.commutativeShortOperationShairing    1024  thrpt    2  15215.087          ops/ms
> 
> Withopt:
> Benchmark                                                                (size)   Mode  Cnt      Score   Error   Units
> VectorCommutativeOperSharingBenchmark.commutativeByteOperationShairing     1024  thrpt    2  11963.554          ops/ms
> VectorCommutativeOperSharingBenchmark.commutativeIntOperationShairing      1024  thrpt    2   7036.088          ops/ms
> VectorCommutativeOperSharingBenchmark.commutativeLongOperationShairing     1024  thrpt    2   2906.731          ops/ms
> VectorCommutativeOperSharingBenchmark.commutativeShortOperationShairing    1024  thrpt    2  17148.131          ops/ms
> 
> Sierra Forest (E-core Xeon Server)
> Baseline:
> Benchmark                                                                (size)   Mode  Cnt     Score   Error   Units
> VectorCommutativeOperSharingBenchmark.commutativeByteOperationShairing     1024  thrpt    2  2444.359          ops/ms
> VectorCommutativeOperSharingBenchmark.commutativeIntOperationShairing      1024  thrpt    2  1710.256          ops/ms
> VectorCommutativeOperSharingBenchmark.commutativeLongOperationShairing     1024  thrpt    2   308.766          ops/ms
> VectorCommutativeOperSharingBenchmark.commutativeShortOperationShairing    1024  thrpt    2  3902.179          ops/ms
> 
> Withopt:
> Benchmark                                                                (size)   Mode  Cnt     Score   Error   Units
> VectorCommutativeOperSharingBenchmark.commutativeByteOperationShairing     1024  thrpt    2  3352.839    ...

This pull request has now been integrated.

Changeset: e410af00
Author:    Jatin Bhateja <jbhateja at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/e410af00e69587b86536b298b869ddc898fd9862
Stats:     789 lines in 4 files changed: 788 ins; 0 del; 1 mod

8342393: Promote commutative vector IR node sharing

Reviewed-by: vlivanov, epeter, sviswanathan

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

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


More information about the hotspot-compiler-dev mailing list