Quantum Computer Programming Framework Design

Slides:



Advertisements
Similar presentations
1 Verification by Model Checking. 2 Part 1 : Motivation.
Advertisements

Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Project Proposal.
Cove: A Practical Quantum Computer Programming Framework Matt Purkeypile Fall 2008.
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
1 CMSC 132: Object-Oriented Programming II Software Development III Department of Computer Science University of Maryland, College Park.
Software Development Overview CPSC 315 – Programming Studio Spring 2008.
By: Mike Neumiller & Brian Yarbrough
DNA and Quantum Computers Russell Deaton Associate Professor Computer Science and Engineering University of Arkansas.
PROGRAMMING LANGUAGES The Study of Programming Languages.
“Early Estimation of Cache Properties for Multicore Embedded Processors” ISERD ICETM 2015 Bangkok, Thailand May 16, 2015.
Development in hardware – Why? Option: array of custom processing nodes Step 1: analyze the application and extract the component tasks Step 2: design.
Quantum Computing Ian Gooch. Current Research Objective  Create a stable model  Determine how calculations be performed on a quantum level  Explore.
Cove: A Practical Quantum Computer Programming Framework Matt Purkeypile Doctorate of Computer Science Dissertation Defense June 26, 2009.
Copyright © 2006 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1 Chapter 2.
Software Reusability An efficient way in Software Development By Tejaswi Peesapati
Quantum Computer Simulation Alex Bush Matt Cole James Hancox Richard Inskip Jan Zaucha.
Cove: A Practical Quantum Computer Programming Framework Summer 2008 Status Matt Purkeypile.
Cove: A Practical Quantum Computer Programming Framework Matt Purkeypile (DCS3) Winter 2009.
Quantum Mechanics(14/2) Hongki Lee BIOPHOTONICS ENGINEERING LABORATORY School of Electrical and Electronic Engineering, Yonsei University Quantum Computing.
As if computers weren’t fast enough already…
南台科技大學 資訊工程系 Data hiding based on the similarity between neighboring pixels with reversibility Author:Y.-C. Li, C.-M. Yeh, C.-C. Chang. Date:
Whole Test Suite Generation. Abstract Not all bugs lead to program crashes, and not always is there a formal specification to check the correctness of.
Quantum Computer Simulation Alex Bush Matt Cole James Hancox Richard Inskip Jan Zaucha.
Module: Software Engineering of Web Applications Dr. Samer Odeh Hanna 1.
Chapter 7: Designing solutions to problems OCR Computing for A Level © Hodder Education 2009.
CS 501: Software Engineering Fall 1999 Lecture 23 Design for Usability I.
Advanced Higher Computing Science
Principles of Programming & Software Engineering
Evolution and History of Programming Languages
Software Development Overview
MASS Java Documentation, Verification, and Testing
Continuous Delivery- Complete Guide
Lecture 3 Prescriptive Process Models
CSC391/691 Intro to OpenCV Dr. Rongzhong Li Fall 2016
Rekayasa Perangkat Lunak
Software Development Approaches
Module: Software Engineering of Web Applications
Stephen Bauer NIDILRR Program Officer
Software Life Cycle “What happens in the ‘life’ of software”
Introduction to Quantum Computing Lecture 1 of 2
Design Patterns Damian Gordon.
System Design.
CS701 SOFTWARE ENGINEERING
Software Process Models
Introducing C Chapter 1 Copyright © 2008 W. W. Norton & Company.
Software Life Cycle Models
Software Engineering (CSE 314)
Software Processes.
Quantum Computers Superposition Interference Entanglement and Quantum Error Correction Lesson 1 By: Professor Lili Saghafi
Information Systems Development
Rekayasa Perangkat Lunak
Software Defined Networking (SDN)
Module: Software Engineering of Web Applications
FOUNDATIONAL CONCEPTS
CIS16 Application Development – Programming with Visual Basic
Introducing C Chapter 1 Copyright © 2008 W. W. Norton & Company.
Chap 4 Quantum Circuits: p
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Bayesian Deep Learning on a Quantum Computer
Quipper : A Scalable Quantum Programming Language
Module: Software Engineering of Web Applications
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
QWIRE: A Core Language for Quantum Circuits
Matt Purkeypile January 2008
WRITING AN ALGORITHM, PSEUDOCODE, AND FLOWCHART LESSON 2.
SeeSoft A Visualization Tool..
UML Design for an Automated Registration System
Software Development Overview
L. Glimcher, R. Jin, G. Agrawal Presented by: Leo Glimcher
Presentation transcript:

Quantum Computer Programming Framework Design Matt Purkeypile Fall 2007

Brief Primer Existing computers that we are familiar with are referred to as “classical” computers. Unit of information is a bit: 0 or 1 It the early 1980s it was recognized that this isn’t how nature operates at quantum scales. Classical simulations of quantum systems suffer exponential slow down. Therefore some mismatch between classical computing and how nature really behaves.

Brief Primer Continued Quantum computers Unit of information is a qubit: 0, 1, or a combination (superposition) of 0 and 1. Able to carry out massively parallel computations that are not feasible on classical systems. Limitation: only one result is obtained per execution. Examples of benefits: Makes factorization practical and unsorted search efficient.

Current Status Working on research proposal. Focusing on the design of quantum computing frameworks. The goal of the research is currently a quantum computer programming framework that is practical for existing commercial programmers. Proposed deliverables: List of functional and usability properties the framework must satisfy. A set of framework interfaces. Proofs (formal?) that the proposed framework satisfies the properties. An implementation of the proposed framework, not necessarily complete (?).

Why Framework Design? There have been a variety of different proposals for quantum computer programming to date. Not even all of the proposals are complete. No list of functional properties have been encountered in the literature. All existing proposals suffer from flaws that render them impractical for commercial programming. Some of these flaws will be covered over the next few slides.

Flaw: Foreign Techniques Many of the existing proposals utilize techniques that are foreign to a majority of computer programmers. This includes the use of functional languages. Less than 40% of practicing developers hold a degree in a software related discipline*, so many practicing developers have no exposure to techniques outside of a typical commercial environment. * S. McConnel, Professional Software Development. Boston, MA: Addison-Wesley, 2004.

Flaw: Not Scalable As more complex quantum algorithms are developed, the programming techniques must be adequate to implement them. Actual code bases are more than short snippets of code, so any programming technique must be scalable beyond “snippets”. Proposals for visual programming or utilizing formal proofs suffer from this flaw. A vast majority of software does not need the expense or safety of being formally proven.

Flaw: New Language for Quantum Computing Over 8,500 languages have been developed to date*, yet very few see commercial success. Languages developed specifically for quantum computing lack the ability to carry out classical computing as well as existing classical languages. * T. J. Bergin, "A History of the History of Programming Languages," Communications. ACM, vol. 50, p. 5, May 2007 2007.

Flaw: Difficult to Integrate with Existing Software Highly unlikely that existing code bases will be rewritten to take advantage of quantum computing. Therefore any method must integrate well with existing software. Easy to integrate leads to decreased cost in utilizing quantum computation.

Flaw: Usability Languages and libraries that often see widespread use are easy to use and utilize common conventions. Difficult to use or understand APIs are prone to being used incorrectly and have higher learning curves. Outdated languages can also be considered to suffer from this flaw. Overcoming this flaw is one of the key research objectives. Design rationale

Flaw: Can Only Run on a Quantum Computer Quantum computers will likely be a resource that is utilized by a classical computer (Knill’s QRAM model*). Therefore any approach should not have to be completely executed on a quantum computer. This quantum resource may be local or remote. * E. Knill, "Conventions for Quantum Pseudocode," Los Alamos National Laboratory LAUR-96-2724, 1996.

Conclusion / Work Ahead Immediate focus will be expanding and refining the research proposal. Approach must not suffer from any of the flaws outlined. Usability is key Original idea focused more on the implementation of the framework than the properties and proofs of a proposed framework, shifting focus more towards the later. Continue to scan quantum computing literature. Expand search of programming library/languages design rationale and usability.

Questions? "Ohhhhhhh. ... Look at that, Schuster. ... Dogs are so cute when they try to comprehend quantum mechanics." Gary Larson, March 23, 1984