24
Department of Computational Mathematics, Science, and Engineering Department of Physics and Astronomy Michigan State University Overview and comparison of gate level quantum software platforms arXiv:1807.02500 Ryan LaRose [email protected] @ryanmlarose APS March Meeting 2019

Overview and comparison of gate level quantum software ... · 1 Introduction and Outline arXiv:1807.02500 Survey/review of quantum software in the era of cloud quantum computing

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Overview and comparison of gate level quantum software ... · 1 Introduction and Outline arXiv:1807.02500 Survey/review of quantum software in the era of cloud quantum computing

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

Page 2: Overview and comparison of gate level quantum software ... · 1 Introduction and Outline arXiv:1807.02500 Survey/review of quantum software in the era of cloud quantum computing

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

Page 3: Overview and comparison of gate level quantum software ... · 1 Introduction and Outline arXiv:1807.02500 Survey/review of quantum software in the era of cloud quantum computing

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

Page 4: Overview and comparison of gate level quantum software ... · 1 Introduction and Outline arXiv:1807.02500 Survey/review of quantum software in the era of cloud quantum computing

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

Page 5: Overview and comparison of gate level quantum software ... · 1 Introduction and Outline arXiv:1807.02500 Survey/review of quantum software in the era of cloud quantum computing

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

Page 6: Overview and comparison of gate level quantum software ... · 1 Introduction and Outline arXiv:1807.02500 Survey/review of quantum software in the era of cloud quantum computing

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

Page 7: Overview and comparison of gate level quantum software ... · 1 Introduction and Outline arXiv:1807.02500 Survey/review of quantum software in the era of cloud quantum computing

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

Page 8: Overview and comparison of gate level quantum software ... · 1 Introduction and Outline arXiv:1807.02500 Survey/review of quantum software in the era of cloud quantum computing

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

Page 9: Overview and comparison of gate level quantum software ... · 1 Introduction and Outline arXiv:1807.02500 Survey/review of quantum software in the era of cloud quantum computing

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

Page 10: Overview and comparison of gate level quantum software ... · 1 Introduction and Outline arXiv:1807.02500 Survey/review of quantum software in the era of cloud quantum computing

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

Page 11: Overview and comparison of gate level quantum software ... · 1 Introduction and Outline arXiv:1807.02500 Survey/review of quantum software in the era of cloud quantum computing

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

Page 12: Overview and comparison of gate level quantum software ... · 1 Introduction and Outline arXiv:1807.02500 Survey/review of quantum software in the era of cloud quantum computing

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

Page 13: Overview and comparison of gate level quantum software ... · 1 Introduction and Outline arXiv:1807.02500 Survey/review of quantum software in the era of cloud quantum computing

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

Page 14: Overview and comparison of gate level quantum software ... · 1 Introduction and Outline arXiv:1807.02500 Survey/review of quantum software in the era of cloud quantum computing

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

Page 15: Overview and comparison of gate level quantum software ... · 1 Introduction and Outline arXiv:1807.02500 Survey/review of quantum software in the era of cloud quantum computing

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

Page 16: Overview and comparison of gate level quantum software ... · 1 Introduction and Outline arXiv:1807.02500 Survey/review of quantum software in the era of cloud quantum computing

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

Page 17: Overview and comparison of gate level quantum software ... · 1 Introduction and Outline arXiv:1807.02500 Survey/review of quantum software in the era of cloud quantum computing

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

Page 18: Overview and comparison of gate level quantum software ... · 1 Introduction and Outline arXiv:1807.02500 Survey/review of quantum software in the era of cloud quantum computing

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

Page 19: Overview and comparison of gate level quantum software ... · 1 Introduction and Outline arXiv:1807.02500 Survey/review of quantum software in the era of cloud quantum computing

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

Page 20: Overview and comparison of gate level quantum software ... · 1 Introduction and Outline arXiv:1807.02500 Survey/review of quantum software in the era of cloud quantum computing

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

Page 21: Overview and comparison of gate level quantum software ... · 1 Introduction and Outline arXiv:1807.02500 Survey/review of quantum software in the era of cloud quantum computing

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

Page 22: Overview and comparison of gate level quantum software ... · 1 Introduction and Outline arXiv:1807.02500 Survey/review of quantum software in the era of cloud quantum computing

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

Page 23: Overview and comparison of gate level quantum software ... · 1 Introduction and Outline arXiv:1807.02500 Survey/review of quantum software in the era of cloud quantum computing

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

Page 24: Overview and comparison of gate level quantum software ... · 1 Introduction and Outline arXiv:1807.02500 Survey/review of quantum software in the era of cloud quantum computing

Thank you for your attention.Questions?

These slides are available at https://www.ryanlarose.com