Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Log inSign up
Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Blog
Job Board
Q3AS

© 2026 Aqora Quantum S.A.S.

TermsPrivacyLegal Notice

IEEE High Performance Extreme Computing Conference

C to D-Wave: A High-level C Compilation Framework for Quantum Annealers

Mohamed W. Hassan, Scott Pakin, Wu-chun Feng

Published Sep 1, 2019• 10 citations
Publisher

Abstract

A quantum annealer solves optimization problems by exploiting quantum effects. Problems are represented as Hamiltonian functions that define an energy landscape. The quantum-annealing hardware relaxes to a solution corresponding to the ground state of the energy landscape. Expressing arbitrary programming problems in terms of real-valued Hamiltonian-function coefficients is unintuitive and challenging. This paper addresses the difficulty of programming quantum annealers by presenting a compilation framework that compiles a subset of C code to a quantum machine instruction (QMI) to be executed on a quantum annealer. Our work is based on a modular software stack that facilitates programming D-Wave quantum annealers by successively lowering code from C to Verilog to a symbolic “quantum macro assembly language” and finally to a device-specific Hamiltonian function. We demonstrate the capabilities of our software stack on a set of problems written in C and executed on a D-Wave 2000Q quantum annealer.

DOI
10.1109/hpec.2019.8916231

Related papers

Programming a D-wave annealing-based quantum computer: tools and techniques

Scott Pakin, Steven P. Reinhardt

Quantum annealing is a form of quantum computing that exploits quantum effects to probabilistically solve a specific, NP-hard problem: finding the ground state of a classical, Ising-model Hamiltonian. Because physical quantum annealers are already available, there exists the pressing question of how to program such systems. That is, how can one map a computational problem into the coefficients of an Ising-model Hamiltonian for solution by quantum-annealing hardware? In this article, we address that question primarily from a practical standpoint. We survey extant software tools intended for programming D-wave annealing-based quantum processors and examine the programming model and solution technique promoted by each tool in an attempt to showcase the variety of contemporary approaches to solving computationally challenging problems on an existing annealing-based quantum computer.

Quantum Information and Computation•Sep 1, 2019•1 citation

A quantum macro assembler

Scott Pakin

We present a low-level software building block intended to be used to implement higher-level programming models atop quantum annealers such as the D-Wave 2X™. By analogy to a macro assembler for conventional architectures, our quantum macro assembler enables a programmer to express computations symbolically and without regard to the specifics of the underlying hardware. We demonstrate that the quantum macro assembler can be useful in its own right as a programming interface despite providing only a minimal level of hardware abstraction.

IEEE High Performance Extreme Computing Conference•Sep 1, 2016•31 citations

Targeting Classical Code to a Quantum Annealer

Scott Pakin

From a compiler's perspective, a quantum annealer represents a fundamentally different hardware target from a CPU, GPU, or other von Neumann architecture. Quantum annealers are special-purpose computers that use quantum effects to heuristically determine the set of Boolean variables that minimize a quadratic pseudo-Boolean function (an NP-hard problem). Natively programming such systems involves supplying them with a vector of function coefficients and receiving a vector of function-minimizing Booleans in return. The contribution of this work is to demonstrate how to compile conventional code into a minimization problem for solution on a quantum annealer. The resulting code can run either forward (from inputs to outputs) or backward (from outputs to inputs). We show how this capability can be exploited to simplify the expression and solution of problems in the NP complexity class.

International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS)•Apr 4, 2019•7 citations

Performing fully parallel constraint logic programming on a quantum annealer

Scott Pakin

Abstract Aquantum annealerexploits quantum effects to solve a particular type of optimization problem. The advantage of this specialized hardware is that it effectively considers all possible solutions in parallel, thereby potentially outperforming classical computing systems. However, despite quantum annealers having recently become commercially available, there are relatively few high-level programming models that target these devices. In this article, we show how to compile a subset of Prolog enhanced with support for constraint logic programming into a two-local Ising-model Hamiltonian suitable for execution on a quantum annealer. In particular, we describe the series of transformations one can apply to convert constraint logic programs expressed in Prolog into an executable form that bears virtually no resemblance to a classical machine model yet that evaluates the specified constraints in a fully parallel manner. We evaluate our efforts on a 1,095-qubit D-Wave 2X quantum annealer and describe the approach's associated capabilities and shortcomings.

arXiv:1804.00036•Theory and Practice of Logic Programming•May 5, 2018•15 citations

A software methodology for compiling quantum programs

Thomas Häner, Damian S. Steiger, Krysta M. Svore +1 more

Abstract Quantum computers promise to transform our notions of computation by offering a completely new paradigm. To achieve scalable quantum computation, optimizing compilers and a corresponding software design flow will be essential. We present a software architecture for compiling quantum programs from a high-level language program to hardware-specific instructions. We describe the necessary layers of abstraction and their differences and similarities to classical layers of a computer-aided design flow. For each layer of the stack, we discuss the underlying methods for compilation and optimization. Our software methodology facilitates more rapid innovation among quantum algorithm designers, quantum hardware engineers, and experimentalists. It enables scalable compilation of complex quantum algorithms and can be targeted to any specific quantum hardware implementation.

arXiv:1604.01401•Quantum Science and Technology•Jan 8, 2018•172 citations

Electronic structure with direct diagonalization on a D-wave quantum annealer

Alexander Teplukhin, Brian K. Kendrick, Sergei Tretiak +1 more

Quantum chemistry is regarded to be one of the first disciplines that will be revolutionized by quantum computing. Although universal quantum computers of practical scale may be years away, various approaches are currently being pursued to solve quantum chemistry problems on near-term gate-based quantum computers and quantum annealers by developing the appropriate algorithm and software base. This work implements the general Quantum Annealer Eigensolver (QAE) algorithm to solve the molecular electronic Hamiltonian eigenvalue-eigenvector problem on a D-Wave 2000Q quantum annealer. The approach is based on the matrix formulation, efficiently uses qubit resources based on a power-of-two encoding scheme and is hardware-dominant relying on only one classically optimized parameter. We demonstrate the use of D-Wave hardware for obtaining ground and excited electronic states across a variety of small molecular systems. The approach can be adapted for use by a vast majority of electronic structure methods currently implemented in conventional quantum-chemical packages. The results of this work will encourage further development of software such as qbsolv which has promising applications in emerging quantum information processing hardware and has expectation to address large and complex optimization problems intractable for classical computers.

arXiv:2009.01373•Scientific Reports•Nov 27, 2020•36 citations
A quantum annealer solves optimization problems by exploiting quantum effects. Problems are represented as Hamiltonian functions that define an energy landscape. The quantum-annealing hardware relaxes to a solution corresponding to the ground state of the energy landscape. Expressing arbitrary programming problems in terms of real-valued Hamiltonian-function coefficients is unintuitive and challenging. This paper addresses the difficulty of programming quantum annealers by presenting a compilation framework that compiles a subset of C code to a quantum machine instruction (QMI) to be executed on a quantum annealer. Our work is based on a modular software stack that facilitates programming D-Wave quantum annealers by successively lowering code from C to Verilog to a symbolic “quantum macro assembly language” and finally to a device-specific Hamiltonian function. We demonstrate the capabilities of our software stack on a set of problems written in C and executed on a D-Wave 2000Q quantum annealer.
Quantum annealing is a form of quantum computing that exploits quantum effects to probabilistically solve a specific, NP-hard problem: finding the ground state of a classical, Ising-model Hamiltonian. Because physical quantum annealers are already available, there exists the pressing question of how to program such systems. That is, how can one map a computational problem into the coefficients of an Ising-model Hamiltonian for solution by quantum-annealing hardware? In this article, we address that question primarily from a practical standpoint. We survey extant software tools intended for programming D-wave annealing-based quantum processors and examine the programming model and solution technique promoted by each tool in an attempt to showcase the variety of contemporary approaches to solving computationally challenging problems on an existing annealing-based quantum computer.
We present a low-level software building block intended to be used to implement higher-level programming models atop quantum annealers such as the D-Wave 2X™. By analogy to a macro assembler for conventional architectures, our quantum macro assembler enables a programmer to express computations symbolically and without regard to the specifics of the underlying hardware. We demonstrate that the quantum macro assembler can be useful in its own right as a programming interface despite providing only a minimal level of hardware abstraction.
From a compiler's perspective, a quantum annealer represents a fundamentally different hardware target from a CPU, GPU, or other von Neumann architecture. Quantum annealers are special-purpose computers that use quantum effects to heuristically determine the set of Boolean variables that minimize a quadratic pseudo-Boolean function (an NP-hard problem). Natively programming such systems involves supplying them with a vector of function coefficients and receiving a vector of function-minimizing Booleans in return. The contribution of this work is to demonstrate how to compile conventional code into a minimization problem for solution on a quantum annealer. The resulting code can run either forward (from inputs to outputs) or backward (from outputs to inputs). We show how this capability can be exploited to simplify the expression and solution of problems in the NP complexity class.
Abstract Aquantum annealerexploits quantum effects to solve a particular type of optimization problem. The advantage of this specialized hardware is that it effectively considers all possible solutions in parallel, thereby potentially outperforming classical computing systems. However, despite quantum annealers having recently become commercially available, there are relatively few high-level programming models that target these devices. In this article, we show how to compile a subset of Prolog enhanced with support for constraint logic programming into a two-local Ising-model Hamiltonian suitable for execution on a quantum annealer. In particular, we describe the series of transformations one can apply to convert constraint logic programs expressed in Prolog into an executable form that bears virtually no resemblance to a classical machine model yet that evaluates the specified constraints in a fully parallel manner. We evaluate our efforts on a 1,095-qubit D-Wave 2X quantum annealer and describe the approach's associated capabilities and shortcomings.
Abstract Quantum computers promise to transform our notions of computation by offering a completely new paradigm. To achieve scalable quantum computation, optimizing compilers and a corresponding software design flow will be essential. We present a software architecture for compiling quantum programs from a high-level language program to hardware-specific instructions. We describe the necessary layers of abstraction and their differences and similarities to classical layers of a computer-aided design flow. For each layer of the stack, we discuss the underlying methods for compilation and optimization. Our software methodology facilitates more rapid innovation among quantum algorithm designers, quantum hardware engineers, and experimentalists. It enables scalable compilation of complex quantum algorithms and can be targeted to any specific quantum hardware implementation.
Quantum chemistry is regarded to be one of the first disciplines that will be revolutionized by quantum computing. Although universal quantum computers of practical scale may be years away, various approaches are currently being pursued to solve quantum chemistry problems on near-term gate-based quantum computers and quantum annealers by developing the appropriate algorithm and software base. This work implements the general Quantum Annealer Eigensolver (QAE) algorithm to solve the molecular electronic Hamiltonian eigenvalue-eigenvector problem on a D-Wave 2000Q quantum annealer. The approach is based on the matrix formulation, efficiently uses qubit resources based on a power-of-two encoding scheme and is hardware-dominant relying on only one classically optimized parameter. We demonstrate the use of D-Wave hardware for obtaining ground and excited electronic states across a variety of small molecular systems. The approach can be adapted for use by a vast majority of electronic structure methods currently implemented in conventional quantum-chemical packages. The results of this work will encourage further development of software such as qbsolv which has promising applications in emerging quantum information processing hardware and has expectation to address large and complex optimization problems intractable for classical computers.