47,734 research outputs found
Synthesis of Quantum Logic Circuits
We discuss efficient quantum logic circuits which perform two tasks: (i)
implementing generic quantum computations and (ii) initializing quantum
registers. In contrast to conventional computing, the latter task is nontrivial
because the state-space of an n-qubit register is not finite and contains
exponential superpositions of classical bit strings. Our proposed circuits are
asymptotically optimal for respective tasks and improve published results by at
least a factor of two.
The circuits for generic quantum computation constructed by our algorithms
are the most efficient known today in terms of the number of expensive gates
(quantum controlled-NOTs). They are based on an analogue of the Shannon
decomposition of Boolean functions and a new circuit block, quantum
multiplexor, that generalizes several known constructions. A theoretical lower
bound implies that our circuits cannot be improved by more than a factor of
two. We additionally show how to accommodate the severe architectural
limitation of using only nearest-neighbor gates that is representative of
current implementation technologies. This increases the number of gates by
almost an order of magnitude, but preserves the asymptotic optimality of gate
counts.Comment: 18 pages; v5 fixes minor bugs; v4 is a complete rewrite of v3, with
6x more content, a theory of quantum multiplexors and Quantum Shannon
Decomposition. A key result on generic circuit synthesis has been improved to
~23/48*4^n CNOTs for n qubit
Recommended from our members
System clock estimation based on clock wastage minimization
When synthesizing a hardware implementation from behavioral descriptions, an important decision is the selection of a clock cycle to schedule the datapath operations into control steps. Most existing behavioral synthesis systems either require the designer to specify the clock cycle explicitly or require that the delays of the operators used in the design be specified in multiples of a clock cycle. In the absence of any tool to guide the selection of a clock cycle, a bad choice of the clock period could adversely affect the performance of the synthesized design. We present an algorithm for estimating the system clock based on a clock wastage minimization criteria. Limitations of previous approaches to the problem are discussed. The results obtained prove that the clock cycle estimated by the Clock Wastage Minimization method produce faster designs than previous solutions to the problem
Qubit Data Structures for Analyzing Computing Systems
Qubit models and methods for improving the performance of software and
hardware for analyzing digital devices through increasing the dimension of the
data structures and memory are proposed. The basic concepts, terminology and
definitions necessary for the implementation of quantum computing when
analyzing virtual computers are introduced. The investigation results
concerning design and modeling computer systems in a cyberspace based on the
use of two-component structure are presented.Comment: 9 pages,4 figures, Proceeding of the Third International Conference
on Data Mining & Knowledge Management Process (CDKP 2014
Transformations of High-Level Synthesis Codes for High-Performance Computing
Specialized hardware architectures promise a major step in performance and
energy efficiency over the traditional load/store devices currently employed in
large scale computing systems. The adoption of high-level synthesis (HLS) from
languages such as C/C++ and OpenCL has greatly increased programmer
productivity when designing for such platforms. While this has enabled a wider
audience to target specialized hardware, the optimization principles known from
traditional software design are no longer sufficient to implement
high-performance codes. Fast and efficient codes for reconfigurable platforms
are thus still challenging to design. To alleviate this, we present a set of
optimizing transformations for HLS, targeting scalable and efficient
architectures for high-performance computing (HPC) applications. Our work
provides a toolbox for developers, where we systematically identify classes of
transformations, the characteristics of their effect on the HLS code and the
resulting hardware (e.g., increases data reuse or resource consumption), and
the objectives that each transformation can target (e.g., resolve interface
contention, or increase parallelism). We show how these can be used to
efficiently exploit pipelining, on-chip distributed fast memory, and on-chip
streaming dataflow, allowing for massively parallel architectures. To quantify
the effect of our transformations, we use them to optimize a set of
throughput-oriented FPGA kernels, demonstrating that our enhancements are
sufficient to scale up parallelism within the hardware constraints. With the
transformations covered, we hope to establish a common framework for
performance engineers, compiler developers, and hardware developers, to tap
into the performance potential offered by specialized hardware architectures
using HLS
SoC Software Components Diagnosis Technology
A novel approach to evaluation of hardware and software testability,
represented in the form of register transfer graph, is proposed. Instances of
making of software graph models for their subsequent testing and diagnosis are
shown.Comment: 4 page
- …