Leveraging RISC-V Vectorization: Accelerating Java Programs with TornadoVM and OCK

Juan Fumero Alfonso*, Athanasios Stratikopoulos, Colin Davidson, Harald van Dijk, Uwe Dolinsky, Michail Papadimitriou, Maria Xekalaki, Christos-Efthymios Kotselidis

*Corresponding author for this work

Research output: Contribution to conferencePaperpeer-review

194 Downloads (Pure)

Abstract

This paper presents an approach to accelerate Java applications on RISC-V processors equipped with vector extensions. Our approach utilizes a two-stage compilation chain composed of two open-source compilation frameworks. The first compilation is performed by TornadoVM, a Java Framework that includes a Just-In-Time (JIT) compiler and a runtime system that translate Java Bytecode into OpenCL and SPIR-V. The second compilation is operated by the oneAPI Construction Kit (OCK), a programming framework that translates OpenCL and SPIR-V code into an efficient binary augmented with vector instructions for RISC-V CPUs. We also present a preliminary performance evaluation using matrix multiplication. Results demonstrate a substantial performance improvement in the code generated when compared against functionally equivalent single-threaded and multi-threaded Java implementations, achieving speedups up to 33x and 4.6x respectively.
Original languageEnglish
Publication statusAccepted/In press - 12 May 2025

Keywords

  • Compiler
  • Performance
  • RISC-V
  • Java
  • OCK
  • Vectorization
  • JIT Compiler

Fingerprint

Dive into the research topics of 'Leveraging RISC-V Vectorization: Accelerating Java Programs with TornadoVM and OCK'. Together they form a unique fingerprint.

Cite this