Search code examples
simdjava-9graalvm

Does GraalVM support SIMD / AutoVectorization at all or as well as jdk9+?


JDK 9 had some major performance improvements for SIMD / AutoVectorization that resulted in 2x to 4x improvements in many cases. Does Graal VM have the "same" improvements as jdk9 did for SIMD / Autovectorization support? (In fact, does it support SIMD / Autovectorization even at jdk8 level?)

Put another way, does the fact that Graal VM will eventually support jdk11 (according to this post: https://github.com/oracle/graal/issues/651) mean that it will automatically support SIMD / Autovectorization (and do so at least as well as jdk 11?)


Solution

  • GraalVM EE does some auto-vectorization, it is rather different from C2's auto-vectorization so it may be that some cases that are covered by one are not covered by the other and vice versa.

    C2 is HotSpot's JIT compiler that is replaced by the Graal compiler in GraalVM. As a result, a GraalVM based on JDK9+ would not change anything to GraalVM's auto-vectorization capabilities since the changes you mention for JDK9 were done on C2.