overview and comparison of gate level quantum software ... · 1 introduction and outline...
TRANSCRIPT
Department of Computational Mathematics, Science, and EngineeringDepartment of Physics and Astronomy
Michigan State University
Overview and comparison of gate levelquantum software platforms
arXiv:1807.02500
Ryan [email protected]
@ryanmlarose
APS March Meeting 2019
1
Introduction and Outline
arXiv:1807.02500
Survey/review of quantum software in the era of cloudquantum computing.
Outline of talk
A brief history of quantum computer programming
Why care about quantum software?
The software platforms
Ryan LaRose | Overview and comparison of gate level quantum software platforms
2
History of quantum computer programmingTimeline
1985 Quantum Turing Machine,
Deustch
1996
QRAM,pseudocodeconventions,
Knill
Foundational Ideas
“The existence of auniversal quantum computerimplies that there exists
a program for eachphysical process.”
Ryan LaRose | Overview and comparison of gate level quantum software platforms
3
History of quantum computer programmingTimeline
1985 Quantum Turing Machine,
Deustch
1996
QRAM,pseudocodeconventions,
Knill
Foundational Ideas Pseudocdoe for EPR experiment
“Quantum computers raiseinteresting problems for the
design of programming languages,which I shall not go into here.”
Ryan LaRose | Overview and comparison of gate level quantum software platforms
4
History of quantum computer programmingTimeline
1985 Quantum Turing Machine,
Deustch
1996
QRAM,pseudocodeconventions,
Knill
Foundational Ideas
Ryan LaRose | Overview and comparison of gate level quantum software platforms
5
History of quantum computer programmingTimeline
1985 Quantum Turing Machine,
Deustch
1998 QCL, Omer
1996
QRAM,pseudocodeconventions,
Knill
Foundational Ideas First Generation Languages
2003
1st international conferenceon quantum programming
2001 Q,
Betelli et al.
2000
qGCL, Zuliani
2004 QPL,
Selinger
2006
First review papers
QCL language example QPL language example
Ryan LaRose | Overview and comparison of gate level quantum software platforms
6
History of quantum computer programmingTimeline
1985 Quantum Turing Machine,
Deustch
1998 QCL, Omer
1996
QRAM,pseudocodeconventions,
Knill
Foundational Ideas First Generation Languages
Quipper2013
2012
ScaffoldQuTiP
2003
1st international conferenceon quantum programming
2001 Q,
Betelli et al.
2000
qGCL, Zuliani
Second Generation Languages
2004 QPL,
Selinger
2006
First review papers
Ryan LaRose | Overview and comparison of gate level quantum software platforms
7
History of quantum computer programmingTimeline
1985 Quantum Turing Machine,
Deustch
1998 QCL, Omer
1996
QRAM,pseudocodeconventions,
Knill
Cloud Quantum ComputingFoundational Ideas First Generation Languages
2016
IBM Q 2019
QOSF @ FOSDEM MOOCs, Courses
2017
Qiskit Forest ProjectQ
Quipper2013
2012
ScaffoldQuTiP
2003
1st international conferenceon quantum programming
1st textbook
2018 2001
QDK Cirq
Q, Betelli et al.
2000
qGCL, Zuliani
Textbooks
Second Generation Languages
2004 QPL,
Selinger
2006
First review papers
This paper
ForestQiskit
ProjectQQDKCirq
+ many more languages and simulators
Ryan LaRose | Overview and comparison of gate level quantum software platforms
7
History of quantum computer programmingTimeline
1985 Quantum Turing Machine,
Deustch
1998 QCL, Omer
1996
QRAM,pseudocodeconventions,
Knill
Cloud Quantum ComputingFoundational Ideas First Generation Languages
2016
IBM Q 2019
QOSF @ FOSDEM MOOCs, Courses
2017
Qiskit Forest ProjectQ
Quipper2013
2012
ScaffoldQuTiP
2003
1st international conferenceon quantum programming
1st textbook
2018 2001
QDK Cirq
Q, Betelli et al.
2000
qGCL, Zuliani
Textbooks
Second Generation Languages
2004 QPL,
Selinger
2006
First review papers
This paper
ForestQiskit
ProjectQQDKCirq
+ many more languages and simulators
Ryan LaRose | Overview and comparison of gate level quantum software platforms
8
History of quantum computer programmingTimeline
1985 Quantum Turing Machine,
Deustch
1998 QCL, Omer
1996
QRAM,pseudocodeconventions,
Knill
Cloud Quantum ComputingFoundational Ideas First Generation Languages
2016
IBM Q 2019
QOSF @ FOSDEM MOOCs, Courses
2017
Qiskit Forest ProjectQ
Quipper2013
2012
ScaffoldQuTiP
2003
1st international conferenceon quantum programming
1st textbook
2018 2001
QDK Cirq
Q, Betelli et al.
2000
qGCL, Zuliani
Textbooks
Second Generation Languages
2004 QPL,
Selinger
2006
First review papers
This paper
Ryan LaRose | Overview and comparison of gate level quantum software platforms
9
History of quantum computer programmingTimeline
1985 Quantum Turing Machine,
Deustch
1998 QCL, Omer
1996
QRAM,pseudocodeconventions,
Knill
Cloud Quantum ComputingFoundational Ideas First Generation Languages
2016
IBM Q 2019
QOSF @ FOSDEM MOOCs, Courses
2017
Qiskit Forest ProjectQ
Quipper2013
2012
ScaffoldQuTiP
2003
1st international conferenceon quantum programming
1st textbook
Focus session atAPS March
2018 2001
QDK Cirq
Q, Betelli et al.
2000
qGCL, Zuliani
Textbooks
Second Generation Languages
2004 QPL,
Selinger
2006
First review papers
This paper
Ryan LaRose | Overview and comparison of gate level quantum software platforms
10
Why care about programming?The software stack
Algorithms and Applications
Hardware
“Don’t you just do Python?”
Ryan LaRose | Overview and comparison of gate level quantum software platforms
11
Why care about programming?The software stack
Algorithms and Applications
Hardware
Quantum programming language
Compilation
Qubit Routing
Optimization
Physical Gates
“Don’t you just do Python?”
There’s more to it than that!
Ryan LaRose | Overview and comparison of gate level quantum software platforms
12
Why care about programming?The software stack
Algorithms and Applications
Hardware
Quantum programming language
Compilation
Qubit Routing
Optimization
Physical Gates
Simulator
Noisy Noiseless
Data I/O
Variationalparameters
“Don’t you just do Python?”
There’s more to it than that!
Virtues of quantum programming:
I End-to-end quantum algorithms.I Honest quantum computing.I Pedagogy.I Excitement.I Practical quantum computing.
Ryan LaRose | Overview and comparison of gate level quantum software platforms
12
Why care about programming?The software stack
Algorithms and Applications
Hardware
Quantum programming language
Compilation
Qubit Routing
Optimization
Physical Gates
Simulator
Noisy Noiseless
Data I/O
Variationalparameters
“Don’t you just do Python?”
There’s more to it than that!
Virtues of quantum programming:
I End-to-end quantum algorithms.I Honest quantum computing.I Pedagogy.I Excitement.I Practical quantum computing.
Ryan LaRose | Overview and comparison of gate level quantum software platforms
13
ForestThe software platforms
Institution RigettiFirst Release v0.0.2 on Jan 15, 2017
Open Source? 3
OS Mac, Windows, LinuxClassical Host Language PythonQuantum Programming
Language pyQuil
Quantum Language Quil
Language syntax Quantum Cloud Services
Ryan LaRose | Overview and comparison of gate level quantum software platforms
14
ForestThe software platforms
Institution RigettiFirst Release v0.0.2 on Jan 15, 2017
Open Source? 3
OS Mac, Windows, LinuxClassical Host Language PythonQuantum Programming
Language pyQuil
Quantum Language Quil
Strengths
I Data I/OI defgate
I CompilerI Dedicated time schedulingI Documentation +
Examples (Grove)
Quantum hardware: Aspen
I Can select qubit subsets.I ≈ $1 per qubit per minute in credits
Ryan LaRose | Overview and comparison of gate level quantum software platforms
15
QiskitThe software platforms
Institution IBMFirst Release v0.1 on March 7, 2017
Open Source? 3
OS Mac, Windows, LinuxClassical Host Language Python, JavaScript, SwiftQuantum Programming
Language Qiskit
Quantum Language OpenQASM
Language syntax Quantum hardware: Melbourne
I Always available (queue).I Always available to everyone
(queue).
Ryan LaRose | Overview and comparison of gate level quantum software platforms
16
CirqThe software platforms
Institution Google AI QuantumFirst Release v0.1 on April 17, 2018
Open Source? 3
OS Mac, Windows, LinuxClassical Host Language PythonQuantum Programming
Language Cirq
Quantum Language —
Language syntax
Quantum hardware: Foxtail
Ryan LaRose | Overview and comparison of gate level quantum software platforms
17
Benchmarking and ComparisonsThe software platforms
Simulator performanceProjectQ
16 17 18 19 20 21 22 23 24 25 26 27Number of Qubits
5
10
15
20
25
30
Circ
uit D
epth
0.058 0.183 0.154 0.299 0.675 1.467 2.945 6.295 12.60 26.25 53.12 116.8
0.101 0.144 0.344 0.595 1.119 2.409 4.909 10.20 20.98 44.42 90.07 204.4
0.134 0.214 0.321 0.705 1.440 3.118 6.931 13.33 29.66 58.01 130.5 272.9
0.179 0.266 0.452 0.896 2.033 4.313 8.959 18.41 39.53 80.64 170.5 504.1
0.223 0.416 0.643 1.179 2.540 5.247 10.74 22.71 48.58 96.83 206.6 425.8
0.263 0.397 0.655 1.314 2.923 6.437 13.48 26.44 59.55 117.6 248.2 496.3
ProjectQ Simulator Performance
Qiskit
16 17 18 19 20 21 22 23 24 25Number of Qubits
5
10
15
20
25
30
Circ
uit D
epth
0.262 0.416 0.689 1.315 2.733 5.402 10.46 20.81 41.91 106.0
0.283 0.460 0.766 1.520 2.955 5.892 12.05 24.37 49.75 189.1
0.344 0.471 0.816 1.604 3.443 7.016 14.22 29.05 60.52 136.0
0.415 0.504 0.844 1.641 3.684 7.656 16.20 32.85 65.65 160.1
0.402 0.559 0.968 1.793 4.105 8.701 18.25 37.43 76.45 178.0
0.436 0.599 1.004 1.891 4.467 9.414 19.95 41.71 84.42 188.2
QISKit Local State Vector Simulator Performance
Cirq
Library Support
Ryan LaRose | Overview and comparison of gate level quantum software platforms
18
Closing Remarks
Quantum software desiderataI Some standard conventions.
I rx vs Rx vs RX vs RotXGateI Standarized benchmarking.
I Compilers.I Simulators.
I Debugging.
I Forest: Great for variationalalgorithms.
I Qiskit: Strong community, emphasisacross full stack (Ignis to Aqua).
I Cirq: Natural to use, great features forcircuit optimization.
I ProjectQ: High performancesimulator.
I QDK: High-level, ease ofprogramming.
Ryan LaRose | Overview and comparison of gate level quantum software platforms
19
Higher level librariesNISQAI and Developers
<NISQ|AI>Supported by the Unitary Fund.
NISQAI is a library being developed for artificial intelligence/machinelearning applications on near-term quantum computers.
https://github.com/quantumai-lib/nisqai
Ryan LaRose,
MSU.
Yousif Almulla,
Oxford.
Nic Ezzell,
MSSTATE.
Arkin Tikku,
Imperial.
Ryan LaRose | Overview and comparison of gate level quantum software platforms
20
Higher level librariesNISQAI and Developers
<NISQ|AI>Supported by the Unitary Fund.
NISQAI is a library being developed for artificial intelligence/machinelearning applications on near-term quantum computers.
https://github.com/quantumai-lib/nisqai
Ryan LaRose | Overview and comparison of gate level quantum software platforms
Thank you for your attention.Questions?
These slides are available at https://www.ryanlarose.com