This research presents a novel approach in quantum computing by transforming ARM assembly instructions for use in quantum algorithms. The core achievement is the development of a method to directly map the ARM assembly language, a staple in classical computing, to quantum computing paradigms. The practical application of this methodology is demonstrated through the computation of the Fibonacci sequence. This example serves to validate the approach and underscores its potential in simplifying quantum algorithms. Grover's Algorithm was realized through the use of quantum-specific instructions. These transformations were developed as part of an open-source assembly-to-quantum compiler (github.com/arhaverly/AssemblyToQuantumCompiler). This effort introduces a novel approach to utilizing classical instruction sets in quantum computing and offers insight into potential future developments in the field. The AssemblyToQuantumCompiler streamlines quantum programming and enables computer scientists to transition more easily from classical to quantum computer programming.
This research presents a novel approach in quantum computing by transforming ARM assembly instructions for use in quantum algorithms. The core achievement is the development of a method to directly map the ARM assembly language, a staple in classical computing, to quantum computing paradigms. The practical application of this methodology is demonstrated through the computation of the Fibonacci sequence. This example serves to validate the approach and underscores its potential in simplifying quantum algorithms. Grover's Algorithm was realized through the use of quantum-specific instructions. These transformations were developed as part of an open-source assembly-to-quantum compiler (github.com/arhaverly/AssemblyToQuantumCompiler). This effort introduces a novel approach to utilizing classical instruction sets in quantum computing and offers insight into potential future developments in the field. The AssemblyToQuantumCompiler streamlines quantum programming and enables computer scientists to transition more easily from classical to quantum computer programming.
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 computing, built on the principles of quantum mechanics, has emerged as a transformative paradigm with the potential to revolutionize computational capabilities, enabling solutions to problems that are currently intractable for classical systems. Quantum computing integrates hardware, architectures, and software for improved applications while utilizing superposition, entanglement, and interference to promote materials science, cryptography, optimization, and artificial intelligence. Sections introduce and describe the model components needed in order to create quantum processors, including qubits, quantum gates and control electronics, as well as a review of new developments in quantum software frameworks and programming tools. Notable examples, such as Shor’s algorithm for cryptographic caveat, Grover’s algorithm for inefficient search processes, and quantum-enhanced optimization, illuminate the position of quantum computing as a means of tackling tough problems that span disciplines, such as pharmaceuticals, predictors of climate, and finance modeling. However, the field continues to face significant challenges, like limited scalability, quantum gate error rates, qubit coherence times, and difficulties integrating with classical systems. Future efforts will focus on developing hybrid quantum-classical systems, scalable architectures, and industry- specific applications to transition quantum computing from exploration to practical deployment. This review provides a comprehensive analysis of quantum computing, covering its potential, trends, and challenges, while exploring hardware-software integration, classicalquantum comparisons, and insights to guide research and industry in unlocking its revolutionary possibility.
Building a quantum computer is not only about having qubits or quantum processors, analogously to classical computers are not only based on transistors or integrated circuits. Accordingly, in the very recent times, a few unique research groups in academia and companies have been exploring and proposing high-level and low-level programming languages, compilers, microarchitecture and instruction set architectures for quantum computation as well as different computer architecture approaches. In other words, developing a quantum computer requires bridging quantum applications and quantum devices. This talk will address the main challenges of building a scalable full-stack quantum computing system followed by a discussion on its architecture focusing on fault tolerance and compilation of quantum algorithms on NISQ devices. I will also provide my vision on how the research community could accelerate the process towards building such a scalable quantum machine, potentially through vertical cross-layer co-design structured methodologies.
We present the SQRAM architecture for quantum computing, which is based on Knill's QRAM model. We detail a suitable instruction set, which implements a universal set of quantum gates, and demonstrate the operation of the SQRAM with Deutsch's quantum algorithm. The compilation of high-level quantum programs for the SQRAM machine is considered; we present templates for quantum assembly code and a method for decomposing matrices for complex quantum operations. The SQRAM simulator and compiler are discussed, along with directions for future work.
The equivalence between the instructions used to define programs and the input data on which the instructions operate is a basic principle of classical computer architectures and programming. Replacing classical data with quantum states enables fundamentally new computational capabilities with scaling advantages for many applications, and numerous models have been proposed for realizing quantum computation. However, within each of these models, the quantum data are transformed by a set of gates that are compiled using solely classical information. Conventional quantum computing models thus break the instruction-data symmetry: classical instructions and quantum data are not directly interchangeable. In this work, we use a density matrix exponentiation protocol to execute quantum instructions on quantum data. In this approach, a fixed sequence of classically-defined gates performs an operation that uniquely depends on an auxiliary quantum instruction state. Our demonstration relies on a 99.7% fidelity controlled-phase gate implemented using two tunable superconducting transmon qubits, which enables an algorithmic fidelity surpassing 90% at circuit depths exceeding 70. The utilization of quantum instructions obviates the need for costly tomographic state reconstruction and recompilation, thereby enabling exponential speedup for a broad range of algorithms, including quantum principal component analysis, the measurement of entanglement spectra, and universal quantum emulation.
Quantum computing, albeit readily available as hardware or emulated on the cloud, is still far from being available in general regarding complex programming paradigms and learning curves. This vision paper introduces Classi|Q⟩, a translation framework idea to bridge Classical and Quantum Computing by translating high-level programming languages, e.g., Python or C++, into a low-level language, e.g., Quantum Assembly. Our idea paper serves as a blueprint for ongoing efforts in quantum software engineering, offering a roadmap for further Classi|Q⟩ development to meet the diverse needs of researchers and practitioners. Classi|Q⟩ is designed to empower researchers and practitioners with no prior quantum experience to harness the potential of hybrid quantum computation. We also discuss future enhancements to Classi|Q⟩, including support for additional quantum languages, improved optimization strategies, and integration with emerging quantum computing platforms.