Authors: Torsten Hoefler (ETH Zurich), Matthias Troyer (Microsoft Corporation)
Abstract: Several independent groups have demonstrated small-scale quantum computers containing several dozens of qubits with a limited programmability. Today's machines are programmed at the bit level with application of single quantum gates. New developments of high-level languages such as Quipper, Q#, OpenQASM promise to support the orchestration of tens-of-thousands of qubits at an abstraction level similar to modern classical programming. Yet, quantum algorithms are fundamentally different and require complex schemes such as gate synthesis and quantum error correction. We propose to bring the community of industry and academic researchers and users together to discuss recent results and design a way forward.
Long Description: Today, quantum computers are available with a small number of noisy qubits that only support a limited set
of operations. However, the field is quickly advancing and may soon see multiple hundreds of qubits equipped
with a rich instruction set. In most of today's quantum algorithms and languages, instructions are defined as
single- or two-bit "gates". This very low-level of abstraction leads to expensive design costs --- implementing
and optimizing a simple adder in the gate model can take days to weeks in this gate model while we are used
to seconds (i.e., typing a "+") in a high-level language. The reason for this complexity is partially the more
complex nature of (optimized) quantum algorithms and partially simply missing investment on the engineering
side.
Emerging languages, such as Q# provide syntax support for quantum operations as well as libraries with
optimized implementations of basic (arithmetic and other quantum-specific) operations. Such languages
can automate complex operations, such as making computations reversible or deriving inverse operations for
uncomputation (a concept similar to garbage collection), that have been handled manually until recently.
Furthermore, those languages can provide an optimization infrastructure that enables automatic transformation
of quantum programs to reduce the resource consumption both in time and space (depth and width of a quantum
circuit).
Designing quantum languages is challenging due to the intricate nature of quantum computation and the necessary
tight coupling to classical programming. Such languages have to support superposition, entanglement, and
interference --- which may all not be problematic at the circuit level but pose challenges for the introduction of
higher-level concepts (e.g., abstract data types, functional concepts, templates ...) known from modern programming
languages.
In this BoF, we want to discuss various competing approaches interactively with the audience. First, we will provide a
short introduction to the key concepts of quantum computation to make the BoF as inclusive in the HPC community
as possible. Then, we plan to invite representatives of the main language efforts to date to provide a short overview
of their key concepts. For the whole time, we plan to keep the audience involved and we also reserve time at the end
for an exclusive audience discussion.
We plan the schedule as follows:
1) Introductory presentations followed by audience discussion
2) Short conceptual talks by representatives of major programming efforts. We plan to invite (not confirmed yet):
- Jay Gambetta from IBM (Qiskit - https://qiskit.org/)
- Krysta Svore (Microsoft Q# - https://docs.microsoft.com/en-us/quantum/quantum-qr-intro?view=qsharp-preview )
- Dave Bacon (Google CircQ)
- Thomas Haener or Damian Steiger (ETH Zurich, ProjectQ)
- Margaret Martonosi - (Princeton, Scaffold)
- Peter Selinger - (Dalhousie, Quipper)
- Scott Pakin - (LANL, QMASM for D-WAVE)
Back to Birds of a Feather Archive Listing