Software Tool Chains for Quantum Computing Alan Geller

Software Tool Chains for Quantum Computing Alan Geller

Software Tool Chains for Quantum Computing Alan Geller Software Architect QuArC, Microsoft Research Microsoft Proprietary Quantum Computing at Microsoft Research Station Q (Santa Barbara): Mathematics & Theoretical Physics with partners in Experimental Physics Focus: Topological Quantum Computing (TQC) QuArC (Redmond): Quantum Architectures and Computation Quantum Algorithms, Architecture and Machine Design Focus: Real world applications, fault tolerance, scalable architectures Infrastructure / Engineering (Redmond, Copenhagen): Software tools for quantum algorithm development Focus: LIQ simulation platform, SoL| compiler and runtime, QCoDeS lab software platform| compiler and runtime, QCoDeS lab software platform Dave Wecker, Alex Johnson, Alan Geller Microsoft Proprietary Overview Microsoft Proprietary Why is this important now?

The first classical computers were invented in the 1940s Software for classical computers didnt proliferate until modern IDEs were developed ~30 years later We shouldnt have to wait 30 years after we have a quantum computer to be able to easily write quantum software! Microsoft Proprietary Activity View Code Compil e Debug

Execut e& Validat e Microsoft Proprietary Component View Code Debugger Microsoft Proprietary Compil e Debug Runtime & Simulator IDE Execut e& Validat e Compiler

Coding Programming languages Different languages lend themselves to different programmers and to different types of problems We use F# because its the most productive for us Code readability is very important Code is a communication mechanism for humans, not just input to a compiler Microsoft Proprietary let QFT (qs:Qubits) = let n = qs.Length for aIdx in n-1..-1..0 do let a = qs.[aIdx] H a for k in 2..aIdx+1 do let c = qs.[aIdx-(k-1)] CR k c a

Compiling The compiler front end maps the quantum algorithm to quantum intermediate language (QIL) The back end rewrites the QIL for execution on actual hardware Different quantum computers will require different rewrites of the original QIL We have designed and built a layered architecture to support flexible rewriting Microsoft Proprietary Push symbol n = Property: qs.Length Push symbol inputSequence = Call function Operators.op_RangeStep Args:

Call function Operators.op_Subtraction Args: Var: n Int: 1 Int: -1 Int: 0 For each aIdx In: inputSequence Do: Push symbol a = Property: qs.Item[aIdx] Invoke operation H with args: Var: a For k From: 2 To: Call function Operators.op_Addition Args: Var: aIdx Int: 1 By: 1 Do: Push symbol c = Property: qs.Item[(expr)] Invoke operation CR with args: Executing and Validation SoL

Execution takes place at many levels Simulation is a special form of execution Validation is determining whether or not the result of a computation is correct For some problems, validation is straightforward (3-SAT and other NP decision problems) 300 Kelvin - Room CMOS CPU 77K-Nitrogen Superconductin CPUg Memory 4K-Helium Quantu

Control m Qubits For others, this is more difficult (chemistry simulation) .02K- Microsoft Proprietary Memory Debugging Because debugging involves looking at the intermediate state, it is difficult to debug on real hardware Often the best solution is to debug using simulation We have a debugging interface for our system using LIQUi| as as the simulation engine

The alternative is to guess a fix and retest until you think the answer is right Microsoft Proprietary Architecture Microsoft Proprietary Basic Picture Language C# F# Front End Parser/Lexer QIL Compiler Back End Error Gate

Rewriting Optimization Layout Correction Execution Engine Resource Manager Hardware Interface Simulation Debugger Simulation Microsoft Proprietary IDE LIQ| compiler and runtime, QCoDeS lab software platform| http://github.com/msr-quarc/Liquid Language C# F#

Front End Parser/Lexer QIL Compiler Back End Error Gate Rewriting Optimization Layout Correction Execution Engine Resource Manager Hardware Interface Simulation

Debugger Simulation Microsoft Proprietary IDE SoL| compiler and runtime, QCoDeS lab software platform| and QCoDeS Language C# F# Front End Parser/Lexer QIL Compiler Back End Error Gate Rewriting Optimization

Layout Correction Execution Engine Resource Manager Hardware Interface Simulation Debugger Simulation Microsoft Proprietary IDE QCoDeS Rewriting in SoL| compiler and runtime, QCoDeS lab software platform| A machine model presents a logical view of a quantum computer

Machine models are layered Physical machines provide a direct mechanism for executing their supported gates Virtual machines map logical qubits and gates into qubits and actions on the machine below Machine models can be stacked arbitrarily Microsoft Proprietary Rewrites arbitrary rotations to Clifford + T sequences Rotation Rewriter Rewrites T gates using magic states Magic Manages distillation and magic state qubits State Rewriter Rewrites Clifford gates and state preparation as pulses Transmo Rewrites measurements as oscillation readouts Remaps logical to physical qubits to adapt to chip

n Rewriter topology QCoDeS Interface Rewrites pulses and readouts into QCoDeS experiment steps Example Machine Model Stack Rewriting in SoL| compiler and runtime, QCoDeS lab software platform| (2) Error correction codes are virtual machine models Simulation is a physical machine model Machine model stack can be as deep or as shallow as necessary 2D Toric Code

Rewriter LIQ| compiler and runtime, QCoDeS lab software platform| Simulation Engine Microsoft Proprietary Rewrites logical Pauli gates into chain operations Rewrites logical measurement into chain measurements Performs scheduled syndrome measurements and decoding Rewrites gates into stabilizer circuits (CHP) Rewrites measurements into amplitude computation and random choice Sample Machine Model Stack Rewriting in SoL| compiler and runtime, QCoDeS lab software platform| (3) We can write machine models for hardware that doesnt exist yet

We can experiment with new codes and new techniques Machine models can be written by anyone Implements logical qubits using the 2D color code Implements T gates transversely by 2D-3D switching to a 3D color code Color Code Rewrites T gates using magic states Magic State Manages distillation and magic state qubits Rewriter Ising Majorana Braider Microsoft Proprietary

Rewrites Clifford gates and state preparation as braids Rewrites measurements as interferometric Sample Machine Model Stack Status LIQ is freely available on GitHub https://github.com/msr-quarc/Liquid http://research.microsoft.com/en-us/projects/liquid/ Currently for Windows, working on a CoreCLR version for Mac, Linux QCoDeS is under development We expect partner labs to start using it imminently We intend to make it publicly available once it is sufficiently robust SoL is under development and internal-only No release plans determined as yet Microsoft Proprietary Thank You

Alan Geller Software Architect QuArC, Microsoft Research 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. Microsoft Proprietary

Recently Viewed Presentations

  • Phase II Total Fatigue Life (Crack Initiation +

    Phase II Total Fatigue Life (Crack Initiation +

    Effort Definition. Steel procurement, prototype test specimen design/fabrication, prototype test and prototype test result. Steel pedigree (material characterization) definition/documentation.
  • Drama Objective: To analyze theatre games in order to develop ...

    Drama Objective: To analyze theatre games in order to develop ...

    drama objective: to analyze theatre games in order to develop trust within the group. to develop an understanding of basic theatre terminology. warm-up: what are the differences between a proscenium, thrust and theatre in the round?
  • Embryology of the central Nervous System (2) Prof.

    Embryology of the central Nervous System (2) Prof.

    Cross section in the pons. Rhombic lip. Sagittal sections through the roof of the metencephalon showing development of the cerebellum. A.8 weeks (approximately 30mm). B. 12 weeks (70mm). C. 13 weeks. D. 15 weeks.
  • Introduction to Sample Size Determination: "How powerful do I ...

    Introduction to Sample Size Determination: "How powerful do I ...

    No risk, Slight risk, Moderate risk, Great risk Ordering but not equal intervals. Wilcoxon paired-sample test (aka signed-rank test) Wilcoxon Paired-Sample Test Ho: Perceived risk at time 1 same as perceived risk at time 2. Ha: Perceived risk at time...
  • III. Electrical Circuits

    III. Electrical Circuits

    III. Electrical Circuits (p.608-613) Circuit components Series circuits Parallel circuits Household circuits A. Circuit Components A - battery C - light bulb B - switch D - resistor B. Series Circuits Series Circuit current travels in a single path one...
  • PowerPoint-presentatie

    PowerPoint-presentatie

    International and sustainable FIN. Column1 1st Qtr 2nd Qtr 3rd Qtr 4th Qtr 5th Qtr ... 7th Qtr 8th Qtr 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2. Views track International & Sustainable Finance. Game-changing trends in financial landscape: Globalization...
  • Pénzügyi Stabilitási Jelentés 2017 - első verzió

    Pénzügyi Stabilitási Jelentés 2017 - első verzió

    A szektor likviditása stressz forgatókönyv esetén is biztosított. Magyar Nemzeti Bank. Megjegyzés: A mutató az LCR 100 százalékos szabályozói limitjéhez viszonyított százalékpontos likviditási hiányok (de legfeljebb 100 százalékpont) mérlegfőösszeggel súlyozott összege a stresszpálya mentén.
  • The TESLA Accelerator and Linear Collider

    The TESLA Accelerator and Linear Collider

    Luminosity is proportional to the RF power for a given Ecm Some numbers: Ecm = 500 GeV N = 1010 nb = 100 frep = 100 Hz Need to include efficiencies: RF beam: range 20-60% Wall plug RF: range 28-40%...