490 research outputs found
Design Automation and Design Space Exploration for Quantum Computers
A major hurdle to the deployment of quantum linear systems algorithms and
recent quantum simulation algorithms lies in the difficulty to find inexpensive
reversible circuits for arithmetic using existing hand coded methods. Motivated
by recent advances in reversible logic synthesis, we synthesize arithmetic
circuits using classical design automation flows and tools. The combination of
classical and reversible logic synthesis enables the automatic design of large
components in reversible logic starting from well-known hardware description
languages such as Verilog. As a prototype example for our approach we
automatically generate high quality networks for the reciprocal , which is
necessary for quantum linear systems algorithms.Comment: 6 pages, 1 figure, in 2017 Design, Automation & Test in Europe
Conference & Exhibition, DATE 2017, Lausanne, Switzerland, March 27-31, 201
Programming Quantum Computers Using Design Automation
Recent developments in quantum hardware indicate that systems featuring more
than 50 physical qubits are within reach. At this scale, classical simulation
will no longer be feasible and there is a possibility that such quantum devices
may outperform even classical supercomputers at certain tasks. With the rapid
growth of qubit numbers and coherence times comes the increasingly difficult
challenge of quantum program compilation. This entails the translation of a
high-level description of a quantum algorithm to hardware-specific low-level
operations which can be carried out by the quantum device. Some parts of the
calculation may still be performed manually due to the lack of efficient
methods. This, in turn, may lead to a design gap, which will prevent the
programming of a quantum computer. In this paper, we discuss the challenges in
fully-automatic quantum compilation. We motivate directions for future research
to tackle these challenges. Yet, with the algorithms and approaches that exist
today, we demonstrate how to automatically perform the quantum programming flow
from algorithm to a physical quantum computer for a simple algorithmic
benchmark, namely the hidden shift problem. We present and use two tool flows
which invoke RevKit. One which is based on ProjectQ and which targets the IBM
Quantum Experience or a local simulator, and one which is based on Microsoft's
quantum programming language Q.Comment: 10 pages, 10 figures. To appear in: Proceedings of Design, Automation
and Test in Europe (DATE 2018
Determining the Multiplicative Complexity of Boolean Functions using SAT
We present a constructive SAT-based algorithm to determine the multiplicative
complexity of a Boolean function, i.e., the smallest number of AND gates in any
logic network that consists of 2-input AND gates, 2-input XOR gates, and
inverters. In order to speed-up solving time, we make use of several symmetry
breaking constraints; these exploit properties of XAGs that may be useful
beyond the proposed SAT-based algorithm. We further propose a heuristic
post-optimization algorithm to reduce the number of XOR gates once the optimum
number of AND gates has been obtained, which also makes use of SAT solvers. Our
algorithm is capable to find all optimum XAGs for representatives of all
5-input affine-equivalent classes, and for a set of frequently occurring
6-input functions.Comment: 8 pages, 2 tables, comments welcom
Reversible Pebbling Game for Quantum Memory Management
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.Comment: In Proc. Design Automation and Test in Europe (DATE 2019
- …