CMPT 478/981: Quantum Circuits and Compilation
Spring 2025
Quantum computers in the gate model operate by executing quantum circuits. This course aims to broadly explore the techniques, foundational to modern, through which a high-level quantum algorithm may be compiled down to a circuit which can then be run on quantum hardware. It will cover the basics of gate model quantum computation then delve into different aspects of the quantum compilation stack, including the design and synthesis of quantum circuits, optimization of circuits, theoretical questions of efficiency, and the simulation and verification of quantum circuits.
Updates
- Mar. 17 - More papers added to the paper list.
- Mar. 12 - Paper list posted.
- Feb. 12 - Mini-project posted. Due Mar. 6th
- Jan. 3 - Course website published
Course information
Instructor: |
Matt Amy |
Email: |
matt_amy at sfu.ca |
Office: |
TASC1 9429 |
Office hours: |
By appointment (email me) |
Classes: |
Th 11:30-2:20 (AQ 4120) |
Textbook: |
None (see additional resources below) |
Course goals
Given an instance of a quantum algorithm, understand the issues and costs involved with compiling it to either near-term or fault-tolerant hardware, and be able to compile it using modern techniques.
Topics
Topics will be gauged in part by class interest, but generally speaking will fit into these broad categories
- Circuit synthesis
- Circuit optimization
- Circuit routing
- Quantum compilers
- Intermediate representations
- Programming languages
- Verification
Course format
The course will be presented as a mixture of lectures and readings. Lectures will be given on background material so that the readings can be understood. Will we then discuss 2-3 papers per week in class.
Prerequisites
For undergraduates, CMPT 476 is required.
There are no formal prerequisites for graduate students, but prior knowledge of quantum information will be assumed. If you haven't seen quantum computation before and are wondering if the course will be accessible to you,
read this crash course on quantum information. We will review this material quickly in the first week or two.
Evaluation
- 40% course project - a research project on a topic related to the course
- 10% class participation - summaries of papers & participation in discussions
- 25% homework - 1 or 2 assignments involving coding + some brief paper reviews
- 25% presentation - presenting a paper of your choice
Schedule
Date |
Topic(s) |
Materials |
Additional references |
Jan. 9 |
Introduction & review of QC |
Lecture 1 |
Lecture 2 (f22), Lecture 3 (f22) |
Jan. 16 |
Gates, fault tolerance, and resources |
Lecture 2 |
Lecture 4 (f22), Lecture 5 (f22), Lecture 7 (f22), Lecture 8 (f22) |
Jan. 23 |
No class (POPL) |
-- |
-- |
Jan. 30 |
Algorithms & compilation |
Lecture 3 |
Lecture 5 (f22), Lecture 9 (f22) |
Feb. 6 |
Reversible compilation |
|
|
Feb. 13 |
Hardware-aware compilation |
- Li, Ding, Xi, Tackling the Qubit Mapping Problem for NISQ-Era Quantum Devices. ASPLOS 2019.
- Kissinger, Meijer-van de Griend, CNOT circuit extraction for topologically-constrained quantum memories. QIC 2020.
- Andrés-Martínez, Heunen, Automated distribution of quantum circuits via hypergraph partitioning. Phys Rev. A 2019.
- Baker, Duckering, Hoover, Chong, Time-Sliced Quantum Circuit Partitioning for Modular Architectures. CF 2020.
|
Background slides: Lecture 4 |
Feb. 20 |
No class (Reading break) |
|
|
Feb. 27 |
Time evolution operators |
|
Background slides: Lecture 5 |
Mar. 6 |
Circuit optimization |
Lecture 6 (recording) |
Lecture 10 (f22), Lecture 11 (f22), Lecture 12 (f22), Lecture 13 (f22) |
Mar. 13 |
Circuit optimization cont. |
|
|
Mar. 20 |
Automated verification |
|
|
Mar. 27 |
Paper presentations 1 |
|
|
Apr. 3 |
Paper presentations 2 |
|
|
Project
See the project description
here
Additional resources
Unfortunately, there's no "Dragon book" for quantum compilers just yet. However, there are many resources available for learning quantum computation.
Highly recommended if you're new to QC.
- Richard Josza's lecture notes (Very comprehensive with extensive introduction to the basics)
- Ashley Montanaro's lecture notes (Short and sweet)
- John Preskill's lecture notes (Good fault tolerance reference, Physics oriented)
- Ronald de Wolf's lecture notes (Haven't read but I've heard good things about)
- Nielsen & Chuang, Quantum Information and Computation (Classic reference textbook for quantum computation. We will mostly be interested in chapter 4. Not required)
- Mermin's Quantum Computer Science (A shorter and more accessible introduction to quantum computing for computer scientists)
Below are additional well-known resources for reading and presenting papers which you may find helpful both in and beyond this course.
Previous offerings