🤖 AI Summary
High-performance computing (HPC) programs lack native support for hybrid quantum-classical parallel programming. Method: This work pioneers the extension of the OmpSs-2 task-based parallel programming model—originally designed for HPC—to quantum computing. It introduces a compiler-runtime co-designed quantum offloading mechanism: a Clang-based quantum-aware frontend, an extended Nanos6 runtime supporting instruction-level quantum task scheduling, and a lightweight, distributed, networked quantum simulator. Contribution/Results: The framework enables dynamic quantum task offloading, low-overhead classical–quantum communication, and portable cross-platform execution. End-to-end evaluation across four representative application classes—quantum random number generation, parameter sweeps, variational quantum algorithms, and hybrid quantum-classical convolutional neural networks—demonstrates substantial improvements in developer productivity and scalability. To our knowledge, this is the first systematic programming model enabling seamless integration of HPC and quantum computing.
📝 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.