Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Full support for Vector API in GraalVM #10285

Open
alina-yur opened this issue Dec 11, 2024 · 0 comments
Open

Full support for Vector API in GraalVM #10285

alina-yur opened this issue Dec 11, 2024 · 0 comments

Comments

@alina-yur
Copy link
Member

alina-yur commented Dec 11, 2024

TL;DR

Implement the Vector API (JEP 469) in GraalVM JIT and Native Image.

The Vector API enables vector computations that reliably compile at runtime to optimal vector instructions, resulting in performance superior to equivalent scalar computations. Currently, the API is in the eighth incubator in OpenJDK 23 and will incubate until necessary features of Project Valhalla become available as preview features.
Our goal is to add full Vector API support in GraalVM, both Graal JIT and Native Image.

Goals

  • Full support of Vector API in Graal JIT. In GraalVM, initial optimization of Vector API operations was introduced in GraalVM for JDK 21, enabled by default. It included support for load, store, basic arithmetic, reduce, compare, and blend operations. Our goal is full support, with a major update in the upcoming GraalVM for JDK 24 release (March 2024).
  • Full support of Vector API in GraalVM Native Image. Currently, this is work in progress; can be tested in Oracle GraalVM for JDK 24+ with -H:+VectorAPISupport).
  • Ensure high performance when running on GraalVM.
  • Supported architectures: supported on both AArch64 and AMD64.

Non-goals

  • Perform autovectorization of loops when no Vector API is used

Related PRs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: In Progress
Development

No branches or pull requests

3 participants