On Tue, 18 Aug 2026 22:20:37 GMT, Jean-Noël Rouvignac <[email protected]> wrote:

>> The jdk.incubator.vector javadoc for jdk.incubator.vector.Vector has some 
>> stale information.
>> 
>> Under "Implementation Note: Hardware platform dependencies and limitations" 
>> there is the following text:
>> 
>>>  The Vector API is to accelerate computations in style of Single 
>>> Instruction Multiple Data (SIMD), using available hardware resources such 
>>> as vector hardware registers and vector hardware instructions. The API is 
>>> designed to make effective use of multiple SIMD hardware platforms.
>>> 
>>>  This API will also work correctly even on Java platforms which do not 
>>> include specialized hardware support for SIMD computations. The Vector API 
>>> is not likely to provide any special performance benefit on such platforms.
>>> 
>>>  Currently the implementation is optimized to work best on:
>>> 
>>>  Intel x64 platforms supporting at least AVX2 up to AVX-512. Masking using 
>>> mask registers and mask accepting hardware instructions on AVX-512 are not 
>>> currently supported.
>>>  ARM AArch64 platforms supporting NEON. Although the API has been designed 
>>> to ensure ARM SVE instructions can be supported (vector sizes between 128 
>>> and 2048 bits) there is currently no implementation of such instructions 
>>> and the general masking capability.
>>> 
>>>  The implementation currently supports masked lane-wise operations in a 
>>> cross-platform manner by composing the unmasked lane-wise operation with 
>>> blend as in the expression a.blend(a.lanewise(op, b), m), where a and b are 
>>> vectors, op is the vector operation, and m is the mask.
>>> 
>>>  The implementation does not currently support optimal vectorized 
>>> instructions for floating point transcendental functions (such as operators 
>>> SIN and LOG).
>>> 
>> 
>> As I understand it:
>> 
>> 1. The AVX-512 support now includes support for masks.
>> 2. The Arm AArch64 platform support now include SVE/SVE2 support and masking 
>> (predicate register support).
>> 3. As well as the fall-back for masked lane-wise operations using blend, 
>> there is support for masks where the hardware allows.
>> 4. There is now support for transcendental functions thanks to the SVML and 
>> SLEEF libraries.
>> 
>> Also, "ARM" is styled as "Arm", and "NEON" as "Neon".
>> 
>> This should be updated to reflect the implementation as it exists. 
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Vector.java line 
> 1888:
> 
>> 1886:  * <ul>
>> 1887:  *
>> 1888:  * <li> Intel x64 platforms supporting at least AVX2 up to AVX-512.
> 
> AVX-10 is also supported isn't it? Or some of it anyway ? Sorry if this 
> imprecise

I'm not familiar with the x86 side of thing - I don't know whether the Vector 
API supports features that were introduced in AVX-10. Perhaps @PaulSandoz would 
have a point of view?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/32414#discussion_r3811647685

Reply via email to