@@ -514,7 +514,7 @@ abstract tensor for the target platform, and to optimise resource use.
The development
of the general theory of annotations and augmented rewrites
(\ref{task:annotate1}, \ref{task:annotate2}), algorithms for inferring
specific annotations (\ref{wp:backends}), and rewrite strategies which exploit them
specific annotations (\ref{wp:representation}), and rewrite strategies which exploit them
(\ref{task:opt-machine}) form a major novel component of the project.%
%
% (have I implemented
...
...
@@ -585,7 +585,7 @@ idea of separating program compile time from circuit compile time
}
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 (\ref{wp:backends}); optimisation strategies independent of implementations (\ref{wp:theory}); using annotated \zx to compile and optimise for specific quantum devices.(\ref{wp:usefulstuff}).
various themes: the relation between \zx and other quantum computing representations (\ref{wp:frontend}); necessary theoretical developments of \zx (\ref{wp:representation}); optimisation strategies independent of implementations (\ref{wp:theory}); using annotated \zx to compile and optimise for specific quantum devices.(\ref{wp:usefulstuff}).
\subsubsection{A quantum compiler stack}
\label{sec:progr-lang-supp}
...
...
@@ -665,13 +665,13 @@ quality of the output from the \dzxc compiler. The database will be made availa
The purpose of the \dzxc system is to form the basis of a retargetable compiler, able to generate executables for multiple architectures.
We must then develop a way to take into account the different characteristics of these architectures.
The ability to synthesise hardware-appropriate implementations from abstract descriptions is one of the major novel contributions of this project.
\ref{wp:backends} carries out two research avenues towards this objective.
\ref{wp:representation} carries out two research avenues towards this objective.
First, we will model the performance characteristics and architectural constraints of various idealised and realistic machines.
We will then develop the means for the \dzxc system to express these properties.
The goal is two-fold: to facilitate code-generation for a given machine from a \zx term; and to expose information needed by the optimiser.
A key research challenge of this first research avenue in \ref{wp:backends} consists in the management of the classical computation and classical information within quantum algorithms.
A key research challenge of this first research avenue in \ref{wp:representation} consists in the management of the classical computation and classical information within quantum algorithms.
What computation should occur at the interface between an HLL and the \dzxc system, and which classical parameters are passed on to the \zx terms? Task~\ref{task:betterboxes} focuses on the question of tests based on measurement results: how should they be integrated within the \dzxc system?
While it will already be quite useful to study concrete diagrams of fixed size (e.g.,~a~quantum circuit on $N$ qubits for a previously-fixed $N$) in the early stages of the project, \newt{Task \ref{task:betterboxes}}%\ref{task:axioms}
will extend the \dzxc system to support parametrised families of diagrams (e.g.,~quantum circuits with $N$ qubits where $N$ can vary) mirroring the control structures present in a quantum HLL.
...
...
@@ -686,10 +686,10 @@ played by W-type tensors as they interact with the generators of the
\zx-calculus, which are themselves of GHZ-type.
The second avenue of research in \ref{wp:backends} tackles a more foundational aspect of quantum computation, pertaining the identification of resources that enable quantum speed-up in computation.
The second avenue of research in \ref{wp:representation} tackles a more foundational aspect of quantum computation, pertaining the identification of resources that enable quantum speed-up in computation.
On the one hand, it will use new results on \zx to try to identify what nonclassical aspects of quantum theory serve as a resource.
On the other hand, it will develop procedures to certify whether a quantum algorithm demonstrates speed-up.
This part of \ref{wp:backends} will take a novel\footnote{%
This part of \ref{wp:representation} will take a novel\footnote{%
This work will be novel in the sense that it differs from the traditional approach within the fields of quantum foundations and quantum information theory.
}
approach to these questions, by tackling them from a \zx-centric perspective.
...
...
@@ -773,7 +773,7 @@ Additional annotations will be added to ensure that program transformations perf
To realise our objective of ``deep compilation'' of quantum programs onto diverse hardware, we must translate the abstractly-described tensor networks represented by \zx terms to optimised code that can run on realistic quantum hardware.
\ref{wp:usefulstuff} concerns this functionality.
This work package represents the most technically involved and multi-disciplinary component of the project, and requires the integration of the front-end \ref{wp:frontend}, the theoretical work of \ref{wp:backends} and instantiation of the generic optimizations considered in \ref{wp:theory}.
This work package represents the most technically involved and multi-disciplinary component of the project, and requires the integration of the front-end \ref{wp:frontend}, the theoretical work of \ref{wp:representation} and instantiation of the generic optimizations considered in \ref{wp:theory}.
We will develop a further layer of annotations for \zx terms, to provide a means for the \zxcalculus to respect real-world constraints coming from quantum hardware.
This annotation system will again be modular, in that any hardware platform may be described by an annotation system independently of other platforms.
...
...
@@ -810,7 +810,7 @@ In real-world systems, these can vary vastly between qubits interacting in diffe
The third stage of the compilation process attempts to map a \zx term into an equivalent \zx term which closely models the constraints of a target architecture (\ref{task:runnable}).
This represents the core of the compilation process, taking \zx terms representing a procedure in an abstract model of quantum computation such as circuits or MBQC patterns (with or without error correction), and mapping them into a form which conforms to the physical constraints of a specific hardware implementation.
%Particular implementations are specified by a system of annotations provided by the development environment, consisting of an ``architecture-targeted annotation'' (or ArcTAn) system.
%ArcTAn systems will generalise the particular examples of implementation-oriented annotation systems developed in \ref{wp:backends}, and will aim to encompass as many extant and forseeable quantum hardware platforms as possible, incorporating topological and time-ordering constraints as captured by the results of \ref{task:annotate1}.
%ArcTAn systems will generalise the particular examples of implementation-oriented annotation systems developed in \ref{wp:representation}, and will aim to encompass as many extant and forseeable quantum hardware platforms as possible, incorporating topological and time-ordering constraints as captured by the results of \ref{task:annotate1}.
The fourth and penultimate stage of the compilation process --- prior to emitting instructions in the machine language(s) of the target hardware --- is a final round of optimisation, which this time respects the constraints of the specific choice of error correction strategy and machine resources specified by the input~(\ref{task:opt-machine}).
%This will involve the development of a theory of re-writing techniques developed in \ref{task:annotate1} to ArcTAn annotation systems.
...
...
@@ -1102,7 +1102,7 @@ work package grouping administrative and organisational activities.)
\item[\ref{wp:frontend}] is focussed on \newt{the \dzxc interface with known high-level quantum programming languages}
%translating from HLLs into \azx, reflecting higher level programming constructs into \azx,
and building a test suite of programs.
\item[\ref{wp:backends}]\newt{is focussed on the further development of zx calculus, its axiomatic formulation, and its status as a theory of resources.}
\item[\ref{wp:representation}]\newt{is focussed on the further development of zx calculus, its axiomatic formulation, and its status as a theory of resources.}
%is about modelling the properties of different machines in \azx, and translating \azx to hardware.
\item[\ref{wp:theory}]
\newt{focusses on resource optimization, such as gate reduction in circuit representations, efficient intelligent error-correction, and other deep algorithms.}
...
...
@@ -1142,7 +1142,7 @@ Our work plan consists of a balance of short tasks with concrete software delive
The tasks of \ref{wp:frontend} are
long and thin. That is, they are intended to work in parallel with the other WPs, with new features being integrated as they are developed.
The early tasks of \ref{wp:frontend} and \ref{wp:backends} are quite
The early tasks of \ref{wp:frontend} and \ref{wp:representation} are quite
practical and don't require much preparation to begin. They will provide
useful experience for the later tasks.
...
...
@@ -1155,7 +1155,7 @@ The more challenging machine models of \ref{task:qdot-model} and
% developed to attempt them.
\ref{wp:usefulstuff} requires integrating and generalising many of the
ideas of \ref{wp:backends} and \ref{wp:theory}, so it is mostly
ideas of \ref{wp:representation} and \ref{wp:theory}, so it is mostly
scheduled toward the end of the project.
\begin{figure}[h]
...
...
@@ -1297,7 +1297,7 @@ Devise test-suite of concrete instances of circuits and
%%%
%%%%%%%WP 2
%%%
\begin{WP}{Representation, reasoning, and resources in \zx}{1M}{36M}{wp:backends}
\begin{WP}{Representation, reasoning, and resources in \zx}{1M}{36M}{wp:representation}
\WPleaderPOL
\WPeffort{{2}}{{12}}{{14}}{{0}}{{42}}{{6}}
\begin{WPaim}
...
...
@@ -1553,7 +1553,7 @@ We import machine-dependent specifications to \zx terms, and use this to optimis
\hline
\textbf{Partner}
&\ref{wp:frontend}
&\ref{wp:backends}
&\ref{wp:representation}
&\ref{wp:theory}
&\ref{wp:usefulstuff}
&\ref{wp:admin}
...
...
@@ -1608,7 +1608,7 @@ research activity between sites to ensure that deliverables are met,
achieve WP-specific objectives, and organise collaboration meetings as
needed.
\textbf{\ref{wp:frontend}}: S. Perdrix (LORIA),
\textbf{\ref{wp:backends}}: A. B. Sainz (Gdansk),
\textbf{\ref{wp:representation}}: A. B. Sainz (Gdansk),
\textbf{\ref{wp:theory}}: B. Coecke (Oxford),
\textbf{\ref{wp:usefulstuff}}: D. Horsman (Grenoble),