@@ -122,20 +122,20 @@ Development of novel quantum algorithms; demonstration of quantum speed-up; new
\section{EXCELLENCE \REM{(6 pages)}}
\label{sec:overview}
\subsection{Targeted breakthrough, baseline of knowledge and skills}
\subsection{Targeted breakthrough, baseline of knowledge and skills}\vspace{-1.5mm}%suck
\label{sec:targ-breakthr-basel}
\REM{
\REM{\vspace{-1.5mm}%suck
Describe the targeted breakthroughs of the project.
Describe how the science and technology contribute to the establishment of a solid baseline of knowledge and skills for the specific theme addressed.
Describe the specific objectives of the project, which should be clear, measurable, realistic and achievable within the duration of the project.
}
\paragraph{Summary: }
\paragraph{Summary: }
\label{sec:summary:-}
We propose to develop \emph{deep quantum compilation technology}.
This consists of techniques for a compiler to translate high-level specifications of quantum programs to operations on a variety of hardware platforms, automatically managing resources and architectural constraints in doing so. It uses the \zxcalculus, already the lead tool in circuit optimisation. This allows the software stack to be developed and organised in a modular fashion for multiple platforms, and then compiled in an intelligently-managed way. The addition of compile-time certification of quantum speed-up completes the ability of the deep compiler to make the most of valuable quantum hardware resources.
This consists of techniques for a compiler to translate high-level specifications of quantum programs to operations on a variety of hardware platforms, automatically managing resources and architectural constraints in doing so. It uses the \zxcalculus, already the lead tool in circuit optimisation. This allows the software stack to be developed and organised in a modular fashion for multiple platforms, and then compiled in an intelligently-managed way. The addition of compile-time certification of quantum speed-up completes the ability of the deep compiler to make the most of valuable quantum hardware resources.\vspace{-1.5mm}%suck
%\TODOb{Summary/context should contain a clear statement that NOW zx does better (i.e. "outperforms") than anything else for circuit simplification using PyZX. This should be explained in even more detail elsewhere. Aleks maybe?}
...
...
@@ -155,7 +155,7 @@ Describe the specific objectives of the project, which should be clear, measurab
To build the deep compiler combining all these elements we will use the graphical \zxcalculus~\cite{BH-2017,HFW,JPV-2018,DKPdW-2019}. %the opportunity exists to develop a more ambitious version of the LLVM concept for quantum computing.
%, bringing forward the day that quantum computers can be exploited for practical application.
This already outperforms all other formal methods for certain problems. For example, the {\tt PyZX} tool for quantum circuit optimisation is already obtaining state of the art results in T-count minimisation (cf.~theory in \cite{DKPdW-2019}), an important problem for effective fault-tolerant quantum computation. This is a further development on the recently achieved ultimate milestone for graphical reasoning: all equations that hold in standard quantum theory can be derived in \zxcalculus (a.k.a.~`completeness') \cite{Jeandel2017A-Complete-Axio, HFW}.
A deep-\zx compiler will significantly advance the deployment of practical quantum computing.
A deep-\zx compiler will significantly advance the deployment of practical quantum computing.\vspace{-1.5mm}%suck
\paragraph{Targeted breakthrough:}
...
...
@@ -170,7 +170,7 @@ We will develop \emph{the \dzxc system} for deep quantum compilation.
\vspace*{-9mm}
\end{wrapfigure}
This set of tools will intelligently translate high-
level quantum programs to low-level operations on quantum hardware platforms, including
level quantum programs to low-level operations on quantum hardware platforms, including:\vspace{-1mm}%suck
\begin{itemize}
\item
incorporating architectural constraints
...
...
@@ -179,13 +179,13 @@ level quantum programs to low-level operations on quantum hardware platforms, in
\item
certifying speed-up
\item
managing error correction.
managing error correction. \vspace{-1mm}
\end{itemize}
These will be specified in a modular way but tightly integrated upon compilation.
%To demonstrate this technology, w
We will develop a \zxcalculus based compiler from a high-level quantum programming language to hardware, for (i)~coupled ion traps (NQIT), %~\cite{PhysRevX.4.041041},
(ii)~silicon spin qubits (Grenoble)\REM{ [do we have something here to cite?]}, (iii)~an IBM device. %The compiler stack will include open APIs, and t
The final milestone is a ready-to-run deep-zx compiler chain incorporating physical layout, error correction support and algorithmic optimisation, compiled for a target system, and demonstrating explicit post-classical resource use in a quantum computation.
The final milestone is a ready-to-run deep-zx compiler chain incorporating physical layout, error correction support and algorithmic optimisation, compiled for a target system, and demonstrating explicit post-classical resource use in a quantum computation.\vspace{-1.5mm}%suck
% We will specifically pursue the development of deep quantum compilation technology by exploiting the versatility of the \zxcalculus, and further developing its application.
...
...
@@ -269,7 +269,7 @@ demonstration of the capacity of the \zxcalculus to {outperform
T-gates. Our
industry partner CQC develops \tket, a retargetable quantum compiler
which, using \zx-based optimisations, outperforms all existing
compilers for quantum software.
compilers for quantum software.\vspace{-1.5mm}%suck
\TODO{citations if there is space, otherwise maybe kill the second half of this sentence.}
%%% cutting because repeated later
% It is strictly more powerful than the stabiliser
...
...
@@ -304,7 +304,7 @@ enhancing the capabilities of near-term quantum computers.
% speed new quantum devices and architectures into use, and broaden the range of potential users of quantum computers.
\subsection{Novelty, level of ambition and foundational character}
\subsection{Novelty, level of ambition and foundational character}\vspace{-1.5mm}%suck
\label{sec:novelty-level-ambit}
\REM{Describe the advance your proposal would provide beyond the
...
...
@@ -325,15 +325,15 @@ The concept of a `deep' quantum compiler is entirely novel. Integrating optimisa
Furthermore, our system allows transformations of tensor networks which cannot be expressed as equations between circuits as illustrated in the figure on the previous page.
In addition, the \zxcalculus is a sound and complete formal system for transforming quantum procedures, so that each program transformation which our compiler system comes with a proof of its correctness.
The way that the \zxcalculus represents quantum procedures also avoids the immediate dimensional explosion associated with explicit matrices, so that it will in many cases be more efficient than any other automated technique for reasoning about quantum procedures.
The categorisation of multiple post-classical resources is also novel, as is the incorporation into the compiler chain. The development of a compiler stack that also doubles as a benchmarking tool is entirely new.
The categorisation of multiple post-classical resources is also novel, as is the incorporation into the compiler chain. The development of a compiler stack that also doubles as a benchmarking tool is entirely new.\vspace{-1.5mm}%suck
\paragraph{Ambition:}
\label{sec:ambition}
\label{sec:ambition}
A ``deep compiler'' for quantum computing systems allows for modular design of the software stack. This lets programmers write at a high level for any hardware and any quantum error correcting codes. It is nevertheless tightly integrated upon compilation. In addition, it is fully tailored to the specific resources, architecture, control systems, and hardware of a specific platform. Furthermore the project includes isolating, integrating, and then certifying quantum speed-up.
%\texttt{\bfseries \color{red!70!black}[refer to specific platforms here (NQIT + Grenoble)?]}
This is very technically ambitious: but while it has never been done before, we believe it to be achievable on the basis of our earlier work, and the ideal combination of skills within the project consortium.
This is very technically ambitious: but while it has never been done before, we believe it to be achievable on the basis of our earlier work, and the ideal combination of skills within the project consortium.\vspace{-1.5mm}%suck
...
...
@@ -357,7 +357,7 @@ facilitating the development of new architectures and technologies for quantum c
\subsection{Concept and methodology}
\subsection{Concept and methodology}\vspace{-1.5mm}%suck
\label{sec:concept-methodology}
\REM{
...
...
@@ -475,13 +475,13 @@ Furthermore, the compiler stack and associated library set of post-classical res
The four major work packages of the project are structured into
various themes: the relation between \zx and other quantum computing representations (\ref{wp:frontend}); necessary theoretical developments of \zx and the identification of quantum-unique resources (\ref{wp:representation}); optimisation strategies independent of implementations (\ref{wp:theory}); using annotated \zx to compile and optimise for specific hardware.(\ref{wp:usefulstuff}).
% As with classical HLLs, these languages are not designed to be run directly on quantum hardware: instead, their compilers typically output quantum circuit descriptions, which are not tailored well to run on any particular hardware platform.
Our proposed \dzxc system will interface between multiple different quantum HLLs for quantum procedures, and various hardware platforms.
This system will use terms of the \zxcalculus as an internal representation of the procedure as it undergoes optimisations and translations, \newt{both abstractly and} to fit a particular hardware architecture.
This system will use terms of the \zxcalculus as an internal representation of the procedure as it undergoes optimisations and translations, both abstractly and to fit a particular hardware architecture.
% This representation would not be required from or exposed to the user (although the \zxcalculus has proved a very useful notation for mathematical proofs)
% but would be generated by a compiler front-end from programs written in existing high-level languages.
% Therefore it is essential to provide a robust, general framework for compilation of HLLs to \zx terms.
...
...
@@ -524,7 +524,7 @@ model~\cite{Raussendorf-2001} (\ref{task:mbqc-model}). %On one hand,
Their similarities and differences allow us
to prototype the development of
hardware annotations for the \dzxc
system, \newt{cf.\ Task~\ref{task:runnable}}. In both cases, this
system, cf.\ Task~\ref{task:runnable}. In both cases, this
involves: decomposing the tensor network into atomic operations;
characterising runnability by predicates in monadic second order logic; and
transforming the tensor network into an equivalent runnable version.
...
...
@@ -540,7 +540,7 @@ Furthermore, in Task~\ref{task:testBench}, we will develop an open
database of tests, which will serve as a measuring tool for the
quality of the output from the \dzxc compiler. The database will be made available to the community for rating and testing future compilers and optimisation techniques.
\subsubsection{Representation, reasoning, and resources}
\subsubsection{Representation, reasoning, and resources}\vspace{-1.5mm}%suck
\label{sec:machines-models}
\REM{stuff about WP 2 here}
...
...
@@ -618,11 +618,11 @@ This part of \ref{wp:representation} will take a novel %\footnote{%
% }
approach to these questions from a \zx perspective.
This will further develop \zx as a language to describe quantum theory, and provide insight on outstanding open problems beyond the scope of the current proposal.
Task \ref{task:resources} will tackle the identification of resources for speed-up, via a comparative study of axiomatic representations of different paradigms of computation (such as Clifford and Clifford+T). We will characterise quantum resources in a systematic manner using the \zx framework, and contrast our findings with the current intuitions for sources of quantum speed-up (such as contextuality and Bell nonlocality). The outcome of \ref{task:resources} will also include the development of \newt{representations}
Task \ref{task:resources} will tackle the identification of resources for speed-up, via a comparative study of axiomatic representations of different paradigms of computation (such as Clifford and Clifford+T). We will characterise quantum resources in a systematic manner using the \zx framework, and contrast our findings with the current intuitions for sources of quantum speed-up (such as contextuality and Bell nonlocality). The outcome of \ref{task:resources} will also include the development of representations
of contextuality within the \zx language.
Task~\ref{task:resourcesagain} will develop certification tools for quantum speed-up, by using re-writing processes to identify candidate subroutines that require nonclassical resources to be carried out.
%The formal mechanism which the \dzxc system will use to transform \zx terms (sourced by translation from an HLL) into optimised, physically implementable computations
...
...
@@ -676,7 +676,7 @@ Additional annotations will be added to ensure that program transformations perf
% This draws on \ref{task:algorithms} and could be applied before the target hardwaere is known.
The final, machine-dependent part of the deep compilation process consists of two stages: formatting to the target system (\ref{task:runnable}) and the application of machine-dependent optimisations (\ref{task:opt-machine}).
...
...
@@ -731,7 +731,7 @@ The penultimate stage of the compilation process --- prior to emitting instructi
This will highly optimise the resources used in any particular hardware platform without requiring the use of bespoke techniques for each target architecture.