Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Intro and Motivation:Closing the Gap Between Quantum Algorithms
and Hardware through Software-Enabled Vertical Integration and Co-Design
Fred ChongSeymour Goodman ProfessorDepartment of Computer ScienceUniversity of Chicago
Lead PI, the EPiQC Project, an NSF Expedition in Computing
With Margaret Martonosi, Ken Brown, Peter Shor, Eddie Farhi, Aram Harrow, Diana Franklin, David Schuster, John Reppy, and Danielle Harlow (UChicago, MIT, Princeton, Duke, UCSB)
Tutorial Software Installationn The USB drives with Docker tools and images are provided for you to
complete the tutorial software installation.n The instructions are in the USB drives.
n After you run the tutorial_starter script, your web browser will open the jupyter notebook automatically.
n If the jupyter notebook doesn’t run automatically, please copy/paste the URL, displayed in your terminal, to your web browser manually.
n Skip the step 4, “Edit IBM APIToken”, in the instruction since we don’t need to use IBM token for this tutorial.
n Disk space requirement: 12GB.
Raise your hand if you need any support.
Why Quantum Computing?n Fundamentally change what is computable
q The only means to potentially scale computation exponentially with the number of devices
n Solve currently intractable problems in chemistry, simulation, and optimizationq Could lead to new nanoscale materials, better photovoltaics, better nitrogen
fixation, and more
n A new industry and scaling curve to accelerate key applicationsq Not a full replacement for Moore’s Law, but perhaps helps in key domains
n Lead to more insights in classical computingq Previous insights in chemistry, physics and cryptographyq Challenge classical algorithms to compete w/ quantum algorithms
3
NISQNow is a privileged time in the history of science and technology, as we are witnessing the opening of the NISQ era (where NISQ = noisy intermediate-scale quantum). – John Preskill, Caltech
413:29
IBM 50 superconductor qubits
Google72 supercond qubits
Innsbruck 20 atomic ion qubits
The Algorithms to Machines Gap
5
1
10
100
1000
10000
100000
1000000
1995 2000 2005 2010 2015 2020 2025
Grovers Algorithm (Database search)
Shor’s Factoring Alg. (Crypto)
Gap!
Year
#Qubits
#Qubits Needed
#Qubits Buildable
The Algorithms to Machines Gap
6
1
10
100
1000
10000
100000
1000000
1995 2000 2005 2010 2015 2020 2025
Grovers Algorithm (Database search)
Shor’s Factoring Alg. (Crypto)
Gap!
Year
#Qubits
#Qubits Needed
#Qubits Buildable
Quantum Sim, Q Chem, QAOA
The Algorithms to Machines Gap
7
1
10
100
1000
10000
100000
1000000
1995 2000 2005 2010 2015 2020 2025
Grovers Algorithm (Database search)
Shor’s Factoring Alg. (Crypto)
Gap!
Year
#Qubits
#Qubits Needed
#Qubits Buildable
Quantum Sim, Q Chem, QAOA
Co-Design
Closing the Gap: Software-Enabled Vertical Integration and Co-Design
1
10
100
1000
10000
100000
1000000
1995 2000 2005 2010 2015 2020 2025
Grovers Algorithm (Database search)
Shor’s Factoring Alg. (Crypto)
Gap!
Year
Quantum Sim, Q Chem, QAOA
Modeling
Architecture
Compiler
Prog Lang
Algorithms
Devices
Co-Design
Goal
1
10
100
1000
10000
100000
1000000
1995 2000 2005 2010 2015 2020 2025
Grovers Algorithm (Database search)
Shor’s Factoring Alg. (Crypto)
Gap!
Year
Quantum Sim, Q Chem, QAOA
Result: Crossover by 2023!
Modeling
Architecture
Compiler
Prog Lang
Algorithms
Devices
Develop co-designed algorithms, SW, and HW to close the gap between algorithms and devices by 100-1000X, accelerating QC by 10-20 years.
Co-D
esign
Space-Time Product Limits
13:29 10
Qubits
Gates
1024x1
1x1024
Gate Error ~ 10-3
32x32
Space-Time Product Limits
13:29 11
Qubits
Gates
Gate Error ~ 10-5
128x1024
“Good” Quantum Applications
n Compact problem representationq Functions, small molecules, small graphs
n High complexity computationn Compact solution n Easily-verifiable solutionn Co-processing with classical supercomputersn Can exploit a small number of quantum
kernels
12
Quantum Compiler Optimizations
n Similar to circuit synthesis for classical ASICsn Program inputs often known at compile timen Manage errors and precisionn Scarce resources
q Every qubit and gate is important
13:29 13
Tool Flow
13:29 14
LLVM Infrastructure
Mod
ified
Cla
ng P
arse
r
Con
vers
ion
to R
ever
sibl
e C
ircui
t
Cla
ssic
al C
ontr
ol R
esol
utio
n
LLVM
Inte
rmed
iate
Rep
rese
ntat
ion
Res
ourc
e E
stim
atio
n
Mod
ule
Inlin
inin
g an
d Fl
atte
ning
No-
Clo
ning
V
erifi
catio
n
Qub
it R
edun
danc
y
Compilation Program Checks
Faul
t-To
lera
nt
Gat
e C
onve
rsio
n
Scaf
fold
Qua
ntum
Pro
gram
Dec
ompo
sing
to
Sta
ndar
d G
ates
Zero
Sta
tes
for E
CC
Fault-Tolerant Redundancies
Mag
ic S
tate
s fo
r T G
ates
EP
R s
tate
s fo
r Te
lepo
rtat
ion
Architectural Simulator
Logi
cal
QA
SM
Gen
erat
ion
LPFS
Sch
edul
er
Logical Backend
Logi
cal S
ched
ule
Phys
ical
Sch
edul
e
Phy
sica
l QA
SM
Gen
erat
ion
Physical Backend
Phy
sica
l Sch
edul
er
Com
mun
icat
ion
Opt
imiz
er
https://github.com/epiqc/ScaffCC
Scaffold tools, 41K lines of code, open sourceepiqc.cs.uchicago.edu
Increasing Parallelism
13:29 15
n Compiler Optimizations:q Loop unrolling, constant propagation, inlining,
function cloning, DAG scheduling[Heckey+ ASPLOS 2015]
Microarchitecture
16
[Fu+ Micro 2017 Best Paper]
Breaking ISA Abstraction
n Multi-Qubit Operators for QAOA q Direct translation from compiler to control pulses
17
[Joint work with David Schuster]
Static vs Dynamic: Mapping Datan Static spectral and graph
partitionersn Map for clustering
q Probably necessary to get to 1000 qubits
n Map for irregular physical constraintsq Qubit couplings, hardware defects
n Granularity of mappingsn Interaction with qubit reuse
18
Spectral communities for 2-level Bravyi-Haah magic-state factory
How do I know if my QC program is correct?
n Check implementation against a formal specification
n Check general quantum propertiesq No-cloning, entanglement,
uncomputationn Checks based on programmer
assertions (quantum simulation)n Heuristic bug-finding systems
[Altadmri SIGCSE15]n Can we check useful properties in
polynomial time for programs with quantum supremacy?
What are the right abstractions?
n Specification Languages q Coq, Hamiltonians
n Programming Languages q Scaffold, Quipper, Q#, Quil …
n Instruction-Set Architectures q OpenQASM
n Physical Control q OpenPulse
20
Modeling
Architecture
Compiler
Prog Lang
Algorithms
Devices
Specialization vs Abstraction
13:29 21
Short-term SW Long-term SW
100 1000 10000 100000
qubits
Gap?