RFR: 8312425: [vectorapi] AArch64: Optimize vector math operations with SLEEF [v4]

Andrew Haley aph at openjdk.org
Sat Mar 16 22:18:04 UTC 2024


On Fri, 15 Mar 2024 13:58:05 GMT, Hamlin Li <mli at openjdk.org> wrote:

>> Hi,
>> Can you help to review this patch?
>> Thanks
>> 
>> This is a continuation of work based on [1] by @XiaohongGong, most work was done in that pr. In this new pr, just rebased the code in [1], then added some minor changes (renaming of calling method, add libsleef as extra lib in CI cross-build on aarch64 in github workflow); I aslo tested the combination of following scenarios:
>> * at build time
>>   * with/without sleef
>>   * with/without sve support 
>> * at runtime
>>   * with/without sleef
>>   * with/without sve support 
>> 
>> [1] https://github.com/openjdk/jdk/pull/16234
>> 
>> ## Regression Test
>> * test/jdk/jdk/incubator/vector/
>> * test/hotspot/jtreg/compiler/vectorapi/
>> 
>> ## Performance Test
>> Previously, @XiaohongGong has shared the data: https://github.com/openjdk/jdk/pull/16234#issuecomment-1767727028
>
> Hamlin Li has updated the pull request incrementally with one additional commit since the last revision:
> 
>   fix jni includes

> > What is the relevance of SVE support at build time? Should it matter what the build machine is?
> > Its important to realize that almost no one except the JDK devs builds their own JDK, and having SLEEF dependencies at build time will mean that almost no one will use it. All this work you've done will be for nothing.
> 
> I agree. On the other hand, I see previously there was discussion about this already, and current solution got some points [#16234 (comment)](https://github.com/openjdk/jdk/pull/16234#issuecomment-1836266314), [#16234 (comment)](https://github.com/openjdk/jdk/pull/16234#issuecomment-1836449876)
> 
> So, currently maybe we could go with this solution first, and as an incremental optimization, we could introduce a dynamic loading without dependency on the bridge furnctions in libvmath at runtime ([pr](https://bugs.openjdk.org/browse/JDK-8328268)). How do you think about it?

If there was some kind of plan, with evidence of the intention to do something to get this valuable tech into people's hands in a form they can use, sure. But as you can tell, I think this may rot because no one will be able use it. If SLEEF were included in the JDK it'd be fine. if SLEEF were a common Linux library it'd be fine.

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

PR Comment: https://git.openjdk.org/jdk/pull/18294#issuecomment-2000073532


More information about the build-dev mailing list