Abstract We propose a layer model to specify functionality and interfacing for hardware and software modules, to enable modular quantum computers. The group of lower layers covers multiple stacks, one for each hardware architecture, while the upper layers are defined around a common software stack. A hardware abstraction layer connects the two. The addition of a separate communication unit offers a robust separation between the stack and the outside world, and allows controlled access for multiple users as well as for being a server to hybrid computing systems.
Abstract We propose a layer model to specify functionality and interfacing for hardware and software modules, to enable modular quantum computers. The group of lower layers covers multiple stacks, one for each hardware architecture, while the upper layers are defined around a common software stack. A hardware abstraction layer connects the two. The addition of a separate communication unit offers a robust separation between the stack and the outside world, and allows controlled access for multiple users as well as for being a server to hybrid computing systems.
This paper elaborates on a consensus view from the standardization body JTC22/WG3 on a layer model that offers a high-level hierarchical description of hardware and software modules to support the development of modular quantum computers. The group of lower layers covers multiple stacks, one for each hardware architecture, while the upper layers are defined around a common software stack. A hardware abstraction layer connects the two. The addition of a separate communication unit offers a robust separation between the stack and the outside world and allows controlled access for multiple users, as well as serving hybrid computing systems.
Quantum computing is advancing rapidly, with notable progress in both hardware and algorithm development. However, to make quantum computing truly accessible and usable across disciplines, a comprehensive, efficient and unified software stack is essential. Such a software stack must be flexible enough to support diverse hardware platforms and evolving algorithms, while enabling programming models for a wide range of users from quantum specialists to users without deep quantum expertise. Additionally, a software stack must support dynamic resource management for efficient system utilization as well as seamless integration with classical High-Performance Computing (HPC) environments. The latter is key, as quantum systems are increasingly envisioned as accelerators within hybrid workflows, supporting various levels of integration from loosely to tightly coupled. Despite numerous discussions, conceptual proposals, and initial efforts in recent years, few tangible implementations of such full-featured software stacks currently exist.
This paper presents a layered architecture QC-Stack for the quantum computing domain. It is a comprehensive framework explaining quantum computing systems by identifying three fundamental layers: the physical, system, and application layers. Each plays a crucial role in implementing quantum computing systems in practice. The physical layer evaluates quantum hardware technologies based on crucial performance parameters such as qubit quality, connectivity, and scalability. The system layer, which includes quantum firmware, compilers, operating systems, and software development tools, bridges the gap between the physical and application layers. The application layer incorporates Quantum Programming Languages and algorithms, emphasizing their significance in leveraging quantum computing potential across various domains. The paper provides a comparative analysis at a higher level of existing quantum algorithms, protocols, and hardware and software technologies within each sub-layer. It also highlights the strengths and weaknesses of different technologies at each layer. This holistic model can guide researchers and practitioners, offering insights into the ever-evolving landscape of quantum technology.
There is a lot of focus on how Quantum Computing as an accelerator differs from other traditional HPC resources, including accelerators like GPUs and FPGAs. In classical computing, how to design the interfaces that connect the different layers of the software stack, from the applications and its high-level programming language description through compilers, schedulers, down to the hardware, and gate-level, has been critical. Likewise, quantum computing’s interfaces enable the access to quantum technology as a viable accelerator. From the ideation of the quantum application to the manipulation of the quantum chip, each interface has its challenges. In this column feature, we discuss the structure of this set of quantum interfaces, their many similarities to the traditional HPC compilation stack, and how these interfaces impact the potential of quantum computers as HPC accelerators.
In a world of various competing quantum computing architectures, hardware-agnostic, full-stack platforms are necessary to bring the full power of quantum computing hardware to domain experts via the cloud. QCI Connect and its Software Development Kit provide a reference architecture for a full-stack platform with a modular design and open-source interface definitions, built to facilitate a community-driven application ecosystem. Here, we present its overall design and features, central interfaces, and lessons learned, both for users of the platform and as a reference guide for future developments.
Current and near-future quantum computers face resource limitations due to noise and low qubit counts. Despite this, effective quantum advantage can still be achieved due to the exponential nature of bit-to-qubit conversion. However, optimizing the software architecture of these systems is essential to utilize available resources efficiently. Unfortunately, the focus on user-friendly quantum computers has obscured critical steps in the software stack, leading to ripple effects into the stack's upper layer induced by limitations in current qubit implementations. This paper unveils the hidden interplay among layers of the quantum software stack.