RFR: 8317763: Follow-up to AVX512 intrinsics for Arrays.sort() PR

Vladimir Kozlov kvn at openjdk.org
Tue Oct 10 18:05:10 UTC 2023


On Tue, 10 Oct 2023 16:44:03 GMT, Srinivas Vamsi Parasa <duke at openjdk.org> wrote:

> The goal of this PR is to address the follow-up comments to the SIMD accelerated sort PR (#14227) which implemented AVX512 intrinsics for Arrays.sort() methods.
> The proposed changes are:
> 
> 1) Restriction of the AVX512 sort acceleration to only Intel CPUs. A performance regression (due to micro-architectural differences) was reported for AMD Zen4 CPUs in the comments section of PR.
> 2) Addressing the build failure due to a bug in GCC 12 (which was fixed in version 12.3.1). The details of the bug are at: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105593
> 3) Minor changes in Javadoc strings

What is change for "Addressing the build failure due to a bug in GCC 12"?

src/hotspot/cpu/x86/stubGenerator_x86_64.cpp line 4176:

> 4174: 
> 4175:   // Load x86_64_sort library on supported hardware to enable avx512 sort and partition intrinsics
> 4176:   if (VM_Version::is_intel() && UseAVX > 2 && VM_Version::supports_avx512dq()) {

I missed this in original changes - you don't need `UseAVX > 2` check here.
We clear avx512dq flag when `UseAVX < 3` : [vm_version_x86.cpp#L939](https://github.com/openjdk/jdk/blob/master/src/hotspot/cpu/x86/vm_version_x86.cpp#L939)

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

PR Review: https://git.openjdk.org/jdk/pull/16124#pullrequestreview-1668504570
PR Review Comment: https://git.openjdk.org/jdk/pull/16124#discussion_r1353067414


More information about the hotspot-compiler-dev mailing list