RFR: 8337632: AES-GCM Algorithm optimization for x86_64
Smita Kamath
svkamath at openjdk.org
Thu Aug 1 05:54:48 UTC 2024
Hi,
I want to submit an AES-GCM algorithm optimization. This implementation is using AVX512/VAES Instructions. Additionally, it reduces PARALLEL_LEN from 7680 to 512 bytes. The performance numbers are as below. Kindly review the code. Thank you.
Benchmark | Datasize | BaseJDK (ops/s) | Patch(ops/s) | %Gain
-- | -- | -- | -- | --
full.AESGCMBench.decrypt | 512 | 2928259.197 | 3269964.387 | 11.67
full.AESGCMBench.decrypt | 1024 | 2494254.611 | 3010987.731 | 20.72
full.AESGCMBench.decrypt | 1500 | 1883453.546 | 1934915.846 | 2.73
full.AESGCMBench.decrypt | 2048 | 1825780.711 | 2452861.368 | 34.34
full.AESGCMBench.decrypt | 4096 | 1275108.345 | 1806329.066 | 41.66
full.AESGCMBench.decrypt | 8192 | 1033936.634 | 1196836.052 | 15.75
full.AESGCMBench.decrypt | 16384 | 681494.768 | 711630.498 | 4.42
full.AESGCMBench.decrypt | 32768 | 385026.017 | 395043.193 | 2.6
full.AESGCMBench.decrypt | 65536 | 207373.924 | 214723.588 | 3.54
| | | |
full.AESGCMBench.encrypt | 512 | 2658008.476 | 2882496.94 | 8.45
full.AESGCMBench.encrypt | 1024 | 2283709.63 | 2589534.403 | 13.39
full.AESGCMBench.encrypt | 1500 | 1794993.519 | 1817669.531 | 1.26
full.AESGCMBench.encrypt | 2048 | 1745532.435 | 2191097.29 | 25.52
full.AESGCMBench.encrypt | 4096 | 1203301.174 | 1649593.953 | 37.08
full.AESGCMBench.encrypt | 8192 | 985174.988 | 1132407.54 | 14.94
full.AESGCMBench.encrypt | 16384 | 658980.441 | 684765.771 | 3.91
full.AESGCMBench.encrypt | 32768 | 373543.798 | 391518.837 | 4.81
full.AESGCMBench.encrypt | 65536 | 202532.315 | 205084.833 | 1.260301597
-------------
Commit messages:
- Merge branch 'master' of https://git.openjdk.org/jdk into avx512-small-sizes
- Removed trailing space
- clean up code
- Zero out registers and fix issue
- Update formatting
- Merge master
- Code cleanup
- Removed shuffle
- Updated htbl gen code and other parts
- updated htbl code
- ... and 1 more: https://git.openjdk.org/jdk/compare/65646b5f...24c9c792
Changes: https://git.openjdk.org/jdk/pull/17515/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17515&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8337632
Stats: 966 lines in 6 files changed: 493 ins; 217 del; 256 mod
Patch: https://git.openjdk.org/jdk/pull/17515.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/17515/head:pull/17515
PR: https://git.openjdk.org/jdk/pull/17515
More information about the hotspot-compiler-dev
mailing list