Java Vector API
benchmarking and performance analysis
Informazioni aggiuntive
Tipo
Contributo in atti di convegno
Anno
2023
Lingua
Inglese
Sommario
The Java Vector API is a new module introduced in Java 16, allowing developers to concisely express vector computations. The API promises both high performance, achieved via the runtime compilation of vector operations to hardware vector instructions, and portability. To the best of our knowledge, there is no study evaluating the performance of the new Java Vector API. To bridge this gap, we propose JVBench, to the best of our knowledge, the first open-source benchmark suite for the Java Vector API. JVBench extensively exercises the features introduced by the Java Vector API, resulting in high API coverage. We use JVBench to evaluate the performance and portability of the Java Vector API on multiple architectures supporting different vector instruction sets. We compare the performance of the Java Vector API on our benchmarks w.r.t. other semantically equivalent implementations, including scalar (non-auto-vectorized) Java code as well as Java code auto-vectorized by the Just in Time (JIT) compiler. Finally, we report patterns and anti-patterns on the use of the Java Vector API significantly affecting application performance.
Parole chiave
Benchmarks, SIMD, Java, Vector API, Parallelism, Just-in-time compilation, Code optimization
Titolo atti di convegno
CC 2023: Proceedings of the 32nd ACM SIGPLAN International Conference on Compiler Construction
Pagine (o numero dell’articolo)
1-12
Diffusione
Licenza
Licenza non definita
Visibilità
Pubblico
Status open access
Green