Search code examples
openj9

Advanced AVX/AVX2 vector operations in OpenJ9


At JavaOne 2017 Intel presented very interesting approach of incorporating AVX2 vector instructions in HotSpot. This will allow Machine Learning and other data-intensive Java applications to utilize specialized AVX/AVX2 instructions to achieve much better performance.

Will OpenJ9 users benefit from this Intel/Oracle collaboration and upcoming Intel's OpenJDK-based vector library


Solution

  • The Vector API grew out of the Project Panama work at OpenJDK. IBM has been involved in that project and Valhalla (value types on the JVM) since there inception. Many of the ideas in those projects come out of IBM's PackedObjects prototypes as well as from other groups prototypes.

    The OpenJ9 team is looking at providing similar Vector API support. As there isn't a spec yet describing the APIs, we've done some sniff-tests of the apis and are tracking the project but don't have full support.

    My understanding is that there is a lot of work to go before the API is complete, including rebasing it on Project Valhalla's value types and extending it to non-Intel platforms.

    We've definitely tracking it with interest though.