Extending the OmpSs-2 Programming Model for Hybrid Quantum-Classical Programming
Philip Döbler, David Álvarez, Lucas J. Menger, Thomas Lippert, Vicenç Beltran, Manpreet Singh Jattana
TL;DR
This work addresses the integration of quantum accelerators into HPC by extending the OmpSs-2 programming model to offload computation to quantum processors using OpenQASM kernels. It introduces a compiler/runtime stack and a networked quantum backend simulator, enabling asynchronous, data-dependency-driven execution alongside existing accelerators. Four application examples—random-number generation, energy landscape plotting, a variational algorithm, and a quantum convolutional network—demonstrate practical hybrid quantum-classical workflows and the ease of integrating with third-party libraries. The approach provides a modular path toward scalable hybrid HPC, with future work targeting backend abstraction, performance optimizations, error mitigation, and multi-hardware experimentation.
Abstract
The OmpSs-2 programming model is used in HPC programs to parallelize code and offload code to accelerators. In this work, we extend the offloading capability to quantum computers. We explain the necessary changes to the Clang compiler and the Nanos6 runtime, which are both part of OmpSs-2. In addition, we develop a simulator that simulates a quantum computer in the network and receives the jobs offloaded by the runtime. Four detailed examples show how our programming model can be used to write hybrid quantum-classical software. The examples are random number generation, a parameter scan using the mean-field ansatz, a variational algorithm using this ansatz, and handwritten digit recognition using a hybrid convolutional neural network.
