Quantum Programming Languages for Specification and Optimization Fred Chong UC Santa Barbara Ken Brown, Ravi Chugh, Margaret Martonosi, John Reppy and.

Slides:



Advertisements
Similar presentations
Technology from seed Automatic Equivalence Checking of UF+IA Programs Nuno Lopes and José Monteiro.
Advertisements

ADSP Lecture2 - Unfolding VLSI Signal Processing Lecture 2 Unfolding Transformation.
Satisfiability Modulo Theories (An introduction)
© 2009 IBM Corporation July, 2009 | PADTAD Chicago, Illinois A Proposal of Operation History Management System for Source-to-Source Optimization.
Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property.
Designed-in Security Some Major Challenges Security Group Department of Computer Science University of California, Santa Barbara Trustworthy.
McKay Graybill.  They already exist  Different models and ideas  Quantum Parallelism  Measurement is tricky, inherently imprecise.
Chapter 1. The Phases of Software Development. Data Structure 2 Chapter outline  Objectives  Use Javadoc to write a method’s complete specification.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
ISBN Chapter 3 Describing Syntax and Semantics.
1 Semantic Description of Programming languages. 2 Static versus Dynamic Semantics n Static Semantics represents legal forms of programs that cannot be.
HCSSAS Capabilities and Limitations of Static Error Detection in Software for Critical Systems S. Tucker Taft CTO, SofCheck, Inc., Burlington, MA, USA.
Quantum Phase Estimation using Multivalued Logic.
Precise Inter-procedural Analysis Sumit Gulwani George C. Necula using Random Interpretation presented by Kian Win Ong UC Berkeley.
C. FlanaganSAS’04: Type Inference Against Races1 Type Inference Against Races Cormac Flanagan UC Santa Cruz Stephen N. Freund Williams College.
Quantum Computation and Error Correction Ali Soleimani.
CS 330 Programming Languages 09 / 18 / 2007 Instructor: Michael Eckmann.
Slides prepared by Rose Williams, Binghamton University Chapter 3 Flow of Control Loops in Java.
Anuj Dawar.
Designing Predictable and Robust Systems Tom Henzinger UC Berkeley and EPFL.
On the Correctness of Model Transformations Gabor Karsai ISIS/Vanderbilt University.
1 Algorithms and Problem Solving. 2 Outline  Problem Solving  Problem Solving Strategy  Algorithms  Sequential Statements  Examples.
TTIT33 Algorithms and Optimization – Lecture 1 Jan Maluszynski - HT Analysis of Algorithms Introductory Example Principles of Analysis Big-Oh notation.
Describing Syntax and Semantics
A Fault-tolerant Architecture for Quantum Hamiltonian Simulation Guoming Wang Oleg Khainovski.
Application of Formal Verification Methods to the analysis of Bearings-only Ballistic Missile Interception Algorithms Eli Bendersky Michael Butvinnik Supervisor:
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
ENGR. SHOAIB ASLAM Computer Programming I Lecture 02.
Invitation to Computer Science 5th Edition
Topic #10: Optimization EE 456 – Compiling Techniques Prof. Carl Sable Fall 2003.
Approximating the MST Weight in Sublinear Time Bernard Chazelle (Princeton) Ronitt Rubinfeld (NEC) Luca Trevisan (U.C. Berkeley)
High level & Low level language High level programming languages are more structured, are closer to spoken language and are more intuitive than low level.
Data Flow in Static Profiling Cathal Boogerd, Delft University, The Netherlands Leon Moonen, Simula Research Lab, Norway ?
Michelle Mills Strout OpenAnalysis: Representation- Independent Program Analysis CCA Meeting January 17, 2008.
Reconfigurable Computing - VHDL - Types John Morris Chung-Ang University The University of Auckland.
Transformation of Timed Automata into Mixed Integer Linear Programs Sebastian Panek.
Quantum Information Jan Guzowski. Universal Quantum Computers are Only Years Away From David’s Deutsch weblog: „For a long time my standard answer to.
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
Distributed computing using Projective Geometry: Decoding of Error correcting codes Nachiket Gajare, Hrishikesh Sharma and Prof. Sachin Patkar IIT Bombay.
Universität Dortmund Chapter 6A: Validation Simulation and test pattern generation (TPG) EECE **** Embedded System Design.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
U NIVERSITY OF D ELAWARE C OMPUTER & I NFORMATION S CIENCES D EPARTMENT Optimizing Compilers CISC 673 Spring 2009 Overview of Compilers and JikesRVM John.
Semantics In Text: Chapter 3.
System-level power analysis and estimation September 20, 2006 Chong-Min Kyung.
Verifying Programs with BDDs Topics Representing Boolean functions with Binary Decision Diagrams Application to program verification class-bdd.ppt
CSCI1600: Embedded and Real Time Software Lecture 33: Worst Case Execution Time Steven Reiss, Fall 2015.
Quantum Computing MAS 725 Hartmut Klauck NTU
This Week Lecture on relational semantics Exercises on logic and relations Labs on using Isabelle to do proofs.
CES 592 Theory of Software Systems B. Ravikumar (Ravi) Office: 124 Darwin Hall.
Raptor Codes Amin Shokrollahi EPFL. BEC(p 1 ) BEC(p 2 ) BEC(p 3 ) BEC(p 4 ) BEC(p 5 ) BEC(p 6 ) Communication on Multiple Unknown Channels.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
R-Verify: Deep Checking of Embedded Code James Ezick † Donald Nguyen † Richard Lethin † Rick Pancoast* (†) Reservoir Labs (*) Lockheed Martin The Eleventh.
/ PSWLAB Evidence-Based Analysis and Inferring Preconditions for Bug Detection By D. Brand, M. Buss, V. C. Sreedhar published in ICSM 2007.
Error-Correcting Code
C HAPTER 3 Describing Syntax and Semantics. D YNAMIC S EMANTICS Describing syntax is relatively simple There is no single widely acceptable notation or.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Beginner’s Guide to Quantum Computing Graduate Seminar Presentation Oct. 5, 2007.
Princeton University Spring 2016
CSCI1600: Embedded and Real Time Software
Quantum Computing Dorca Lee.
3rd Lecture: QMA & The local Hamiltonian problem (CNT’D)
CSC128 FUNDAMENTALS OF COMPUTER PROBLEM SOLVING
Quipper : A Scalable Quantum Programming Language
CISC 7120X Programming Languages and Compilers
Ali JavadiAbhari, Shruti Patil,
C021TV-I3-S2.
Verifying Programs with BDDs Sept. 22, 2006
CSCI1600: Embedded and Real Time Software
Presentation transcript:

Quantum Programming Languages for Specification and Optimization Fred Chong UC Santa Barbara Ken Brown, Ravi Chugh, Margaret Martonosi, John Reppy and Wim van Dam GaTech, Princeton, U Chicago, UCSB Fred Chong UC Santa Barbara Ken Brown, Ravi Chugh, Margaret Martonosi, John Reppy and Wim van Dam GaTech, Princeton, U Chicago, UCSB

IARPA Algorithms 2 AlgorithmLines of Code Boolean Formula479 Linear Systems1741 Binary Welded Tree608 Class Number226 Triangle Finding1231 Shortest Vector Problem539 Ground State Estimation554 Started with algorithms specified in English prose, some pseudocode

Correctness? Need a specification language for algorithms Check implementation against the specification  Simulation for small problem sizes (~30 qubits)  Type systems  Model checking  Symbolic execution  Certified compilation passes General quantum properties  No-cloning, entanglement, uncomputation Programmer assertions 3

Programmer Assertion Example b_eig_U = Eigenvalue(b,U) CascadeU(a,b,U) if not(b_eig_U) assert(Entangled(a,b)) 4

Success Probabilities / Error Bounds measure(a) assert(precision(a, 8)) /*precision of a is at least */ assert(error(a, 0.5)) /*probability of error in a < 0.5 */ Quantum operations are approximate (eg rotations)  Need to track achieved precision Quantum programs often involve multiple trials  Assume error probability is low enough for success in small number of trials Type system that tracks probabilities  Static analysis when possible  Symbolic execution when necessary 5

Scalable Compilation Need deep optimization given known inputs  Constant propagation  Function cloning  Loop unrolling Need to optimize parallelism and communication  Constraints such as SIMD control Need to optimize success probabilities and error correction 6

Language Design Ideas Embedded, high-level front-end language Lower-level backend language with industrial- strength, scalable analysis tools Type system for verifying quantum properties and calculating success probabilities / errors Longer term: Verification or direct code generation using Unitary Transforms ORAQL/NQCS7