Vectors and Values
summary
A working Vector API prototype lives in the Panama repo that uses typed vectors, a raw/typed separation, and an expression-tree builder to produce method-handle kernels and generated bytecode. Work shows boxing of vector objects is the main pain point today, C2 can scalarize some patterns but needs extra support for merges and Lambda-form Q types, and a bytecode library now emits Q-type bytecode. An Intel intrinsic path matches earlier code-snippet performance and minimal value types remain the long-term fix.
AI-written summary · about
chapters (11)
- 0:00Start
- 0:29Motivation
- 3:04Vector API Operations
- 5:13The Importance of Being Agnostic
- 7:15API Structure
- 7:55Project Panama: Prototype Implementation
- 9:30Implementation Challenges
- 10:11JVM vs Hardware: Impedance Mismatch
- 11:38Vector Box Elimination: Example 13
- 18:25Memory Layout: Options
- 26:12MVT: Bytecode Generation
related talks
01h 02mVectors and the Numerics on the JVM
44mVector API for Java
44mHotspot JVM Auto Vectorization and Vector API
43mJava Vector API
56mUsing vectors in Java [...]
57mJava Enable Preview: Vector API
54mBeyond the Vector API - A Quest for a Lower Level API
12m#BuildPropulsionLab at #DevoxxUK: @jbaruch with @speakjava
