130 likes | 270 Views
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
E N D
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