RFR: 8309130: x86_64 AVX512 intrinsics for Arrays.sort methods (int, long, float and double arrays) [v29]
Erik Joelsson
erikj at openjdk.org
Mon Aug 28 23:48:20 UTC 2023
On Mon, 28 Aug 2023 22:42:50 GMT, Srinivas Vamsi Parasa <duke at openjdk.org> wrote:
>> make/modules/java.base/Lib.gmk line 239:
>>
>>> 237: ################################################################################
>>> 238:
>>> 239: ifeq ($(call isTargetOs, linux)+$(call isTargetCpu, x86_64)+$(INCLUDE_COMPILER2), true+true+true)
>>
>> Is there a reason for this to only be supported on Linux?
>
> Hi Erik,
>
> The reason this PR is focused on Linux is because the AVX512 sort and partitioning routines are based on Intel’s x86-simd-library (https://github.com/intel/x86-simd-sort) which was originally developed with GCC as the target compiler. Thus, this PR has restricted itself to Linux as the code was tested using GCC/Linux platforms.
> Additionally, the x86_64 library is compiled for AVX512 using file specific compilation pragmas (`#pragma GCC target("avx512dq", "avx512f")`). This feature is absent for Windows/MSVC++ compiler.”
>
> Thanks,
> Vamsi
If it's tied to GCC as well, then we should probably include that in the condition here unless it's also expected to work with Clang. (`TOOLCHAIN_TYPE` = `gcc`)
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14227#discussion_r1308050702
More information about the core-libs-dev
mailing list