Download presentation
Presentation is loading. Please wait.
Published byArchibald Griffin Modified over 9 years ago
1
Microsoft Proprietary Software Tool Chains for Quantum Computing Alan Geller Software Architect QuArC, Microsoft Research
2
Microsoft Proprietary Quantum Computing at Microsoft Research
3
Microsoft Proprietary Overview
4
Microsoft Proprietary The first classical computers were invented in the 1940s Software for classical computers didn’t proliferate until modern IDEs were developed ~30 years later We shouldn’t have to wait 30 years after we have a quantum computer to be able to easily write quantum software! Why is this important now?
5
Microsoft Proprietary CodeCompile Execute & Validate Debug Activity View
6
Microsoft Proprietary CodeCompile Execute & Validate Debug Component View Compiler Runtime & Simulator Debugger IDE
7
Microsoft Proprietary Programming languages – Different languages lend themselves to different programmers and to different types of problems – We use F# because it’s the most productive for us Code readability is very important – Code is a communication mechanism for humans, not just input to a compiler Coding 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
8
Microsoft Proprietary 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 Compiling 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: …
9
Microsoft Proprietary 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) – For others, this is more difficult (chemistry simulation) Executing and Validation 300 Kelvin - Room 77K-Nitrogen 4K-Helium CPU Memory CMOS CPU Memory Control Qubits Quantum Superconducting
10
Microsoft Proprietary 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 the simulation engine The alternative is to guess a fix and retest until you think the answer is right Debugging
11
Microsoft Proprietary Architecture
12
Microsoft Proprietary Basic Picture Debugger SimulationIDE Execution Engine SimulationResource ManagerHardware Interface Back End Gate RewritingOptimizationError CorrectionLayout Front End Parser/LexerQIL Language F#C#… Compiler
13
Microsoft Proprietary LIQ| Debugger SimulationIDE Execution Engine SimulationResource ManagerHardware Interface Back End Gate RewritingOptimizationError CorrectionLayout Front End Parser/LexerQIL Language F#C#… Compiler http://github.com/msr-quarc/Liquid
14
Microsoft Proprietary SoL| and QCoDeS Debugger SimulationIDE Execution Engine SimulationResource ManagerHardware Interface Back End Gate RewritingOptimizationError CorrectionLayout Front End Parser/LexerQIL Language F#C#… Compiler QCoDeS
15
Microsoft Proprietary 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 Rewriting in SoL| Rotation Rewriter Rewrites arbitrary rotations to Clifford + T sequences Magic State Rewriter Rewrites T gates using magic states Manages distillation and magic state qubits Transmon Rewriter Rewrites Clifford gates and state preparation as pulses Rewrites measurements as oscillation readouts Remaps logical to physical qubits to adapt to chip topology QCoDeS Interface Rewrites pulses and readouts into QCoDeS experiment steps
16
Microsoft Proprietary 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 Rewriting in SoL| (2) 2D Toric Code Rewriter Rewrites logical Pauli gates into chain operations Rewrites logical measurement into chain measurements Performs scheduled syndrome measurements and decoding LIQ| Simulation Engine Rewrites gates into stabilizer circuits (CHP) Rewrites measurements into amplitude computation and random choice
17
Microsoft Proprietary We can write machine models for hardware that doesn’t exist yet We can experiment with new codes and new techniques Machine models can be written by anyone Rewriting in SoL| (3) 2D-3D Color Code Implements logical qubits using the 2D color code Implements T gates transversely by switching to a 3D color code Magic State Rewriter Rewrites T gates using magic states Manages distillation and magic state qubits Ising Majorana Braider Rewrites Clifford gates and state preparation as braids Rewrites measurements as interferometric
18
Microsoft Proprietary Status
19
Microsoft Proprietary Alan Geller Software Architect QuArC, Microsoft Research Thank You © 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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.