Quantum computing is at an inflection point, where 53-qubit (quantum bit) machines are deployed, 100qubit machines are just around the corner, and even 1000-qubit machines are perhaps only a few years away.These machines have the potential to fundamentally change our concept of what is computable and demonstrate practical applications in areas such as quantum chemistry, optimization, and quantum simulation.Yet a significant resource gap remains between practical quantum algorithms and real machines.A promising approach to closing this gap is to selectively expose to programming languages and compilers some of the key physical properties of emerging quantum technologies.I will describe some of our recent work that focuses on compilation techniques that break traditional abstractions, including compiling directly to analog control pulses, compiling for machine variations, and compiling with ternary quantum bits.
Quantum computing is at an inflection point, where 53-qubit (quantum bit) machines are deployed, 100qubit machines are just around the corner, and even 1000-qubit machines are perhaps only a few years away.These machines have the potential to fundamentally change our concept of what is computable and demonstrate practical applications in areas such as quantum chemistry, optimization, and quantum simulation.Yet a significant resource gap remains between practical quantum algorithms and real machines.A promising approach to closing this gap is to selectively expose to programming languages and compilers some of the key physical properties of emerging quantum technologies.I will describe some of our recent work that focuses on compilation techniques that break traditional abstractions, including compiling directly to analog control pulses, compiling for machine variations, and compiling with ternary quantum bits.
Quantum computing is at an inflection point, where 127-qubit (quantum bit) machines are deployed, and 1000-qubit machines are perhaps only a few years away.These machines have the potential to fundamentally change our concept of what is computable and demonstrate practical applications in areas such as quantum chemistry, optimization, and quantum simulation.Yet a significant resource gap remains between practical quantum algorithms and real machines.A promising approach to closing this gap is to design architectural interfaces that selectively expose to programming languages and compilers some of the key physical properties of emerging quantum technologies.I will describe some of our recent work that focuses on techniques that break traditional abstractions, including compiling programs directly to analog control pulses, adapting programs for machine variations, computing with ternary quantum bits, efficient error correction using 2.5D structures, and designing just enough tunability in qubits to avoid crosstalk.
Quantum computing is at an inflection point, where 50-qubit (quantum bit) machines have been built, 100-qubit machines are just around the corner, and even 1000-qubit machines are perhaps only a few years away. These machines have the potential to fundamentally change our concept of what is computable and demonstrate practical applications in areas such as quantum chemistry, optimization, and quantum simulation. Yet a significant resource gap remains between practical quantum algorithms and real machines. There is an urgent shortage of the necessary computer scientists to work on software and architectures to close this gap. I will outline several grand research challenges in closing this gap, including programming language design, software and hardware verification, defining and perforating abstraction boundaries, cross-layer optimization, managing parallelism and communication, mapping and scheduling computations, reducing control complexity, machine-specific optimizations, learning error patterns, and many more. I will also describe the resources and infrastructure available for starting research in quantum computing and for tackling these challenges.
Quantum computation exploits superposition, entanglement, interference, and measurement to process information.Research has moved from theoretical algorithms to functional devices where the performance is not only limited by qubit physics, but also by the control, compilation, error mitigation, and error correction.This review considers quantum computing on various levels of abstraction, including physical qubits, quantum algorithms, system architecture, fault-tolerance, and emerging applications.Study-specific evidence regarding scale, operational quality, connectivity, control and suppression of errors is compared across the different types of superconducting circuits, trapped ions, semiconductor spin qubits, neutral atoms and photonic processors.The review of the fundamental algorithms, noisy intermediate-scale quantum computing, variational and hybrid quantum-classical approaches, quantum simulation, quantum machine learning, and security implications is also discussed.Measurable progress has been demonstrated in published experiments for logical-qubit operation, below-threshold surface-code memory, programmable photonic sampling and platformspecific scaling.However, the reported metrics are not directly interchangeable, and practical advantage remains task-and baseline-dependent.Further progress will need to be accompanied by coordinated developments in hardware reliability, error correction, classical control, estimates of algorithmic resources, and clear classical method comparisons.
Bringing the promise of quantum computation into reality requires not only building a quantum computer but also correctly programming it to run a quantum algorithm. To obtain asymptotic advantage over classical algorithms for applications including simulation, search, and optimization, quantum algorithms rely on the ability of data in quantum superposition to exhibit phenomena such as interference and entanglement. In turn, an implementation of the algorithm as a program must correctly orchestrate these phenomena in the states of qubits. Otherwise, it would yield incorrect outputs or lose quantum computational advantage. Given a quantum algorithm, what are the challenges and costs of realizing it as a program that can run on a physical quantum computer? In this thesis, I answer this question by showing how the basic abstractions of programming upon which many quantum algorithms rely – such as data structures and control flow – can fail to work correctly or efficiently on a quantum computer. I then demonstrate how we can leverage insights from research in programming languages to re-invent the software stack – including abstractions, libraries, and compilers – to meet the demands of quantum algorithms. This approach holds out a promise of expressive and efficient tools to program a quantum computer and thereby practically realize its computational advantage.
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.