Published September 8, 2023 | Version v1
Preprint Open

Beehive SPIR-V Toolkit: A Composable and Functional API for Runtime SPIR-V Code Generation

  • 1. The University of Manchester
  • 2. ETH Zurich


The Standard Portable Intermediate Representation (SPIR- V) is a low-level binary format designed for representing shaders and compute kernels that can be consumed by OpenCL for computing kernels, and Vulkan for graphics rendering. As a binary representation, SPIR-V is meant to be used by compilers and runtime systems, and is usually performed by C/C++ programs and the LLVM software and compiler ecosystem. However, not all programming environments, runtime systems, and language implementations are C/C++ or based on LLVM.

This paper presents the Beehive SPIR-V Toolkit; a frame- work that can automatically generate a Java composable and functional library for dynamically building SPIR-V binary modules. The Beehive SPIR-V Toolkit can be used by optimizing compilers and runtime systems to generate and validate SPIR-V binary modules from managed runtime systems. Furthermore, our framework is architected to accommodate new SPIR-V releases in an easy-to-maintain manner, and it facilitates the automatic generation of Java libraries for other standards, besides SPIR-V. The Beehive SPIR-V Toolkit also includes an assembler that emits SPIR-V binary mod- ules from disassembled SPIR-V text files, and a disassembler that converts the SPIR-V binary code into a text file. To the best of our knowledge, the Beehive SPIR-V Toolkit is the first Java programming framework that can dynamically generate SPIR-V binary modules.



Files (849.4 kB)

Name Size Download all
849.4 kB Preview Download

Additional details


ELEGANT – Secure and Seamless Edge-to-Cloud Analytics 957286
European Commission
European Commission
AERO – Accelerated EuRopean clOud 101092850
European Commission
TANGO – Digital Technologies ActiNg as a Gatekeeper to information and data flOws 101070052
European Commission
INCODE – Programming Platform for Intelligent Collaborative Deployments over Heterogeneous Edge-IoT Environments 101093069
European Commission