Practical Aspects of Building a Software Stack for Noisy Intermediate-Scale Quantum Devices
ASPLOS 2020 Tutorial : March 16th 2020
ASPLOS 2020 Tutorial : March 16th 2020
Long term success of quantum computing is contingent on the availability of an extensible and configurable software/hardware control stack. These have been so far built by physics experimentalists, but the time has come for a modular and extensible framework built in collaboration with computer science systems researchers.
In this tutorial we describe the hardware and software control stack for a "medium" size Quantum Processor (32-64 superconducting qubits), deployed for community access at the Lawrence Berkeley National Laboratory under the US DOE ASCR Quantum Testbed Program.
We introduce the state-of-the-art in "quantum program" representation and manipulation and discuss open research directions with emphasis on a multi-disciplinary/community approach that combines Computer Science systems research with Quantum Information Science.
Introduction of a "qubit and what does is take to control and program it at the physical device level. Example: description of the protocols and metrics to characterize the qubit performance and the format of the physical signals required for control.
Description of the control hardware pipeline at the physical (pulse) level, open directions in hardware and software research
Description of the hierarchical levels of reasoning about a quantum program: pulse to gate to circuit to algorithm...
Description of current compilation/program optimization techniques deployed in industry stacks
Emerging topics in program manipulation with emphasis on synthesis at the gate and pulse level
Emerging topics in hardware control design, with emphasis on higher level Instruction Set Architectures and control processors (beyond AWGs)
Physical level control
8:00 Superconducting qubits design and control
9:00 Hardware for low level qubit control: Arbitrary Waveform Generators (AWG) programming and systems design topics
Break
Reasoning about quantum programs
10:30 Gate level quantum program synthesis and its applications
11:30 Pulse level program synthesis and its applications
Lunch
Emerging topics
2:00 Beyond qubits - qtrit/qdit based quantum computation
3:00 Extending the hardware control stack with high level control processors - designing a quantum specific ISA
Break
4:30 State-of-the-art in commercial compiler infrastructure design - Tket
Costin Iancu is a Senior Scientist at Lawrence Berkeley National Laboratory. His research interests on the classical computing side are in the areas of programming languages and runtime design for very large scale HPC systems. Costin started working on quantum computing circa 2018 and became very enthusiastic about circuit synthesis and its application for hardware and algorithm design exploration, as well as circuit optimization. He is currently leading the software-hardware integration for the Berkeley Advanced Quantum Testbed project, as well as the compiler design thrust within the AIDE-QC (Advancing Integrated Development Environments for Quantum Computing through Fundamental Research) DOE ASCR project.
Wim Lavrijsen - Lawrence Berkeley National Laboratory
Will Simmons - Cambridge Quantum
Ravi Naik - University of California at Berkeley
Anastassia Butko - Lawrence Berkeley National Laboratory
Pranav Gokhale is a PhD student in quantum computation at University of Chicago. He is advised by Fred Chong. Pranav's research focuses on breaking the abstraction barrier between quantum hardware and software, with the aim of realizing practical applications sooner than otherwise possible.
Jonathan Baker - Univeristy of Chicago