A Gate-Level Approach To Compiling for Quantum Computers

By Henry G. Dietz

Electrical and Computer Engineering, University of Kentucky, Lexington, KY

Published on

Abstract

A lot of interesting and exotic physics go into making a quantum computer -- but this talk isn't about that. Our goal is simply to leverage understanding of conventional computing to take advantage of the benefits offered by quantum computation.

Programming language constructs generally operate on data words, and so does most compiler analysis and transformation. By instead transforming complete programs into gate-level operations on individual bits, and optimizing operations at that level, it is possible to dramatically reduce the total amount of computational resources needed to execute a program’s algorithm. Such a gate-level representation also can be transformed to use other types of logic gates, including ones that efficiently can be implemented by quantum computers. We have created a simple prototype of such a system, which compiles C code into adiabatic CSWAP (Fredkin) gates without fanout. This talk will briefly present a computer engineer's view of quantum computing, overview our approach, describe the current state of the prototype compiler, and suggest some ways in which compiler automatic parallelization technology might be extended to allow ordinary programs to take better advantage of the unique properties of quantum computers.

Bio

Henry (Hank) DietzHenry (Hank) Dietz has been a Professor of Electrical and Computer Engineering, and the James F. Hardymon Chair in Networking, at the University of Kentucky since 1999. Before that, from 1986, he was a member of the ECE faculty at Purdue. While there, Dietz's group created the Purdue Compiler Construction Tool Set (PCCTS/Antlr) and, in February 1994, built the world's first Linux PC cluster supercomputer. Unlike his 200+ peer-reviewed technical publications, the Parallel Processing HOWTO he wrote to help others build clusters and use Linux for supercomputing has been read by millions. At Kentucky, his continuing work creating new supercomputing technologies, such as Flat Neighborhood Networks (FNNs), has been recognized by Gordon Bell and Computerworld Smithsonian awards. In support of the high-resolution video walls he used to demonstrate his clusters, Dietz also became active in digital imaging research, and over the last decade has been publishing work in computational photography as well as in compilers and parallel computer architecture.

Sponsored by

Cite this work

Researchers should cite this work as follows:

  • Henry G. Dietz (2019), "A Gate-Level Approach To Compiling for Quantum Computers," https://nanohub.org/resources/30169.

    BibTex | EndNote

Time

Location

EE 317, Purdue University, West Lafayette, IN

Tags

A Gate-Level Approach To Compiling for Quantumn Computers
  • A Gate-Level Approach To Compiling for Quantumn Computers 1. A Gate-Level Approach To Compi… 0
    00:00/00:00
  • A Gate-Level Approach To Compiling for Quantumn Computers 2. A Gate-Level Approach To Compi… 31.197864531197865
    00:00/00:00
  • A Gate-Level Approach To Compiling for Quantumn Computers 3. A Gate-Level Approach To Compi… 43.20987654320988
    00:00/00:00
  • What Limits Computer Performance? 4. What Limits Computer Performan… 55.455455455455457
    00:00/00:00
  • What Limits Computer Performance? 5. What Limits Computer Performan… 117.51751751751752
    00:00/00:00
  • What Limits Computer Performance? 6. What Limits Computer Performan… 149.94994994994997
    00:00/00:00
  • It's Really All About Power 7. It's Really All About Power 165.96596596596598
    00:00/00:00
  • It's Really All About Power 8. It's Really All About Power 243.41007674341009
    00:00/00:00
  • It's Really All About Power 9. It's Really All About Power 334.06740073406741
    00:00/00:00
  • Compiler Should Eliminate Unnecessary Work 10. Compiler Should Eliminate Unne… 339.87320653987319
    00:00/00:00
  • A Word About Words 11. A Word About Words 379.97997997998
    00:00/00:00
  • Not All The Bits, Not All The Time 12. Not All The Bits, Not All The … 439.90657323990661
    00:00/00:00
  • Integer Precision / Value Range 13. Integer Precision / Value Rang… 462.4624624624625
    00:00/00:00
  • Benefits Of Integer Ranging 14. Benefits Of Integer Ranging 738.70537203870538
    00:00/00:00
  • FP Accuracy, Not Precision 15. FP Accuracy, Not Precision 816.44978311644979
    00:00/00:00
  • The Loosest Slots In Reno 16. The Loosest Slots In Reno 886.38638638638645
    00:00/00:00
  • Specifying FP Accuracy 17. Specifying FP Accuracy 910.74407741074413
    00:00/00:00
  • Benefits For Floating-Point 18. Benefits For Floating-Point 1018.918918918919
    00:00/00:00
  • Packing Smaller Data 19. Packing Smaller Data 1059.9933266599933
    00:00/00:00
  • Computer Architectures Operate On Words, Not Bits 20. Computer Architectures Operate… 1172.6726726726727
    00:00/00:00
  • From Bits To Words, And Back Again 21. From Bits To Words, And Back A… 1224.9582916249583
    00:00/00:00
  • True Bit-Level Optimization 22. True Bit-Level Optimization 1322.9896563229897
    00:00/00:00
  • True Bit-Level Optimization 23. True Bit-Level Optimization 1481.4481147814481
    00:00/00:00
  • True Bit-Level Optimization 24. True Bit-Level Optimization 1539.5729062395731
    00:00/00:00
  • True Bit-Level Optimization 25. True Bit-Level Optimization 1561.7951284617952
    00:00/00:00
  • Basic Compilation To Bit-Level 26. Basic Compilation To Bit-Level 1646.2462462462463
    00:00/00:00
  • Whole-Program Gate-Level Optimization 27. Whole-Program Gate-Level Optim… 1685.6523189856523
    00:00/00:00
  • Issues In The Prototype 28. Issues In The Prototype "Hardl… 1768.2349015682351
    00:00/00:00
  • Basic Compilation Example 29. Basic Compilation Example 1832.1321321321323
    00:00/00:00
  • The Mess tht Comes Out 30. The Mess tht Comes Out 1888.1881881881882
    00:00/00:00
  • Cool… But Isn't This Talk About Quantum Computing? 31. Cool… But Isn't This Talk Ab… 1957.7577577577579
    00:00/00:00
  • What Is A Quantum Computer? 32. What Is A Quantum Computer? 2035.835835835836
    00:00/00:00
  • One OF IBM's Q Quantum Computers 33. One OF IBM's Q Quantum Compute… 2182.5492158825491
    00:00/00:00
  • KREQC: Kentucky's Rotationally Emulated Quantum Computer 34. KREQC: Kentucky's Rotationally… 2240.0066733400067
    00:00/00:00
  • CSWAP (Fredkin) Logic 35. CSWAP (Fredkin) Logic 2375.608942275609
    00:00/00:00
  • CSWAP Full Adder 36. CSWAP Full Adder 2501.0677344010678
    00:00/00:00
  • KREQC Program 37. KREQC Program 2539.83983983984
    00:00/00:00
  • KREQC Program 38. KREQC Program 2788.0213546880213
    00:00/00:00
  • KREQC Program 39. KREQC Program 2852.8194861528195
    00:00/00:00
  • CSWAP Output From Prototype 40. CSWAP Output From Prototype "H… 2980.9142475809144
    00:00/00:00
  • Second Prototype Compiler 41. Second Prototype Compiler 3017.5842509175845
    00:00/00:00
  • int:4 a; a=a*a; 42. int:4 a; a=a*a; 3069.1024357691026
    00:00/00:00
  • Language Support For Explicit Quantum Algorithms 43. Language Support For Explicit … 3225.0250250250251
    00:00/00:00
  • Use Of Superposed-Qubit Quantum Computation? 44. Use Of Superposed-Qubit Quantu… 3249.9165832499166
    00:00/00:00
  • Conclusions 45. Conclusions 3338.1047714381048
    00:00/00:00
  • 1992 46. 1992 3740.573907240574
    00:00/00:00
  • Conclusions 47. Conclusions 3826.2595929262598
    00:00/00:00
  • It's Really All About Power 48. It's Really All About Power 4624.5912579245914
    00:00/00:00