-
ROS: Resource-constrained Oracle Synthesis for Quantum Computers
Authors:
Giulia Meuli,
Mathias Soeken,
Martin Roetteler,
Giovanni De Micheli
Abstract:
We present a completely automatic synthesis framework for oracle functions, a central part in many quantum algorithms. The proposed framework for resource-constrained oracle synthesis (ROS) is a LUT-based hierarchical method in which every step is specifically tailored to address hardware resource constraints. ROS embeds a LUT mapper designed to simplify the successive synthesis steps, costing e…
▽ More
We present a completely automatic synthesis framework for oracle functions, a central part in many quantum algorithms. The proposed framework for resource-constrained oracle synthesis (ROS) is a LUT-based hierarchical method in which every step is specifically tailored to address hardware resource constraints. ROS embeds a LUT mapper designed to simplify the successive synthesis steps, costing each LUT according to the resources used by its corresponding quantum circuit. In addition, the framework exploits a SAT-based quantum garbage management technique. Those two characteristics give ROS the ability to beat the state-of-the-art hierarchical method both in number of qubits and in number of operations. The efficiency of the framework is demonstrated by synthesizing quantum oracles for Grover's algorithm.
△ Less
Submitted 1 May, 2020;
originally announced May 2020.
-
Enabling Accuracy-Aware Quantum Compilers using Symbolic Resource Estimation
Authors:
Giulia Meuli,
Mathias Soeken,
Martin Roetteler,
Thomas Häner
Abstract:
Approximation errors must be taken into account when compiling quantum programs into a low-level gate set. We present a methodology that tracks such errors automatically and then optimizes accuracy parameters to guarantee a specified overall accuracy while aiming to minimize the implementation cost in terms of quantum gates. The core idea of our approach is to extract functions that specify the op…
▽ More
Approximation errors must be taken into account when compiling quantum programs into a low-level gate set. We present a methodology that tracks such errors automatically and then optimizes accuracy parameters to guarantee a specified overall accuracy while aiming to minimize the implementation cost in terms of quantum gates. The core idea of our approach is to extract functions that specify the optimization problem directly from the high-level description of the quantum program. Then, custom compiler passes optimize these functions, turning them into (near-)symbolic expressions for (1) the total error and (2) the implementation cost (e.g., total quantum gate count). All unspecified parameters of the quantum program will show up as variables in these expressions, including accuracy parameters. After solving the corresponding optimization problem, a circuit can be instantiated from the found solution. We develop two prototype implementations, one in C++ based on Clang/LLVM, and another using the Q# compiler infrastructure. We benchmark our prototypes on typical quantum computing programs, including the quantum Fourier transform, quantum phase estimation, and Shor's algorithm.
△ Less
Submitted 5 January, 2021; v1 submitted 18 March, 2020;
originally announced March 2020.
-
The Role of Multiplicative Complexity in Compiling Low T-count Oracle Circuits
Authors:
Giulia Meuli,
Mathias Soeken,
Earl Campbell,
Martin Roetteler,
Giovanni De Micheli
Abstract:
We present a constructive method to create quantum circuits that implement oracles $|x\rangle|y\rangle|0\rangle^k \mapsto |x\rangle|y \oplus f(x)\rangle|0\rangle^k$ for $n$-variable Boolean functions $f$ with low $T$-count. In our method $f$ is given as a 2-regular Boolean logic network over the gate basis $\{\land, \oplus, 1\}$. Our construction leads to circuits with a $T$-count that is at most…
▽ More
We present a constructive method to create quantum circuits that implement oracles $|x\rangle|y\rangle|0\rangle^k \mapsto |x\rangle|y \oplus f(x)\rangle|0\rangle^k$ for $n$-variable Boolean functions $f$ with low $T$-count. In our method $f$ is given as a 2-regular Boolean logic network over the gate basis $\{\land, \oplus, 1\}$. Our construction leads to circuits with a $T$-count that is at most four times the number of AND nodes in the network. In addition, we propose a SAT-based method that allows us to trade qubits for $T$ gates, and explore the space/complexity trade-off of quantum circuits.
Our constructive method suggests a new upper bound for the number of $T$ gates and ancilla qubits based on the multiplicative complexity $c_\land(f)$ of the oracle function $f$, which is the minimum number of AND gates that is required to realize $f$ over the gate basis $\{\land, \oplus, 1\}$. There exists a quantum circuit computing $f$ with at most $4 c_\land(f)$ $T$ gates using $k = c_\land(f)$ ancillae. Results known for the multiplicative complexity of Boolean functions can be transferred.
We verify our method by comparing it to different state-of-the-art compilers. Finally, we present our synthesis results for Boolean functions used in quantum cryptoanalysis.
△ Less
Submitted 5 August, 2019;
originally announced August 2019.
-
Reversible Pebbling Game for Quantum Memory Management
Authors:
Giulia Meuli,
Mathias Soeken,
Martin Roetteler,
Nikolaj Bjorner,
Giovanni De Micheli
Abstract:
Quantum memory management is becoming a pressing problem, especially given the recent research effort to develop new and more complex quantum algorithms. The only existing automatic method for quantum states clean-up relies on the availability of many extra resources. In this work, we propose an automatic tool for quantum memory management. We show how this problem exactly matches the reversible p…
▽ More
Quantum memory management is becoming a pressing problem, especially given the recent research effort to develop new and more complex quantum algorithms. The only existing automatic method for quantum states clean-up relies on the availability of many extra resources. In this work, we propose an automatic tool for quantum memory management. We show how this problem exactly matches the reversible pebbling game. Based on that, we develop a SAT-based algorithm that returns a valid clean-up strategy, taking the limitations of the quantum hardware into account. The developed tool empowers the designer with the flexibility required to explore the trade-off between memory resources and number of operations. We present three show-cases to prove the validity of our approach. First, we apply the algorithm to straight-line programs, widely used in cryptographic applications. Second, we perform a comparison with the existing approach, showing an average improvement of 52.77%. Finally, we show the advantage of using the tool when synthesizing a quantum circuit on a constrained near-term quantum device.
△ Less
Submitted 3 April, 2019;
originally announced April 2019.
-
The EPFL Logic Synthesis Libraries
Authors:
Mathias Soeken,
Heinz Riener,
Winston Haaswijk,
Eleonora Testa,
Bruno Schmitt,
Giulia Meuli,
Fereshte Mozafari,
Siang-Yun Lee,
Alessandro Tempia Calvino,
Dewmini Sudara Marakkalage,
Giovanni De Micheli
Abstract:
We present a collection of modular open source C++ libraries for the development of logic synthesis applications. These libraries can be used to develop applications for the design of classical and emerging technologies, as well as for the implementation of quantum compilers. All libraries are well documented and well tested. Furthermore, being header-only, the libraries can be readily used as cor…
▽ More
We present a collection of modular open source C++ libraries for the development of logic synthesis applications. These libraries can be used to develop applications for the design of classical and emerging technologies, as well as for the implementation of quantum compilers. All libraries are well documented and well tested. Furthermore, being header-only, the libraries can be readily used as core components in complex logic synthesis systems.
△ Less
Submitted 3 June, 2022; v1 submitted 14 May, 2018;
originally announced May 2018.