Quantum Computer Systems for Scientific Discovery

The great promise of quantum computers comes with the dual challenges of building them and finding their useful applications. We argue that these two challenges should be considered together, by co-designing full stack quantum computer systems along with their applications in order to hasten their development and potential for scientific discovery. In this context, we identify scientific and community needs, opportunities, and significant challenges for the development of quantum computers for science over the next 2-10 years. This document is written by a community of university, national laboratory, and industrial researchers in the field of Quantum Information Science and Technology, and is based on a summary from a U.S. National Science Foundation workshop on Quantum Computing held on October 21-22, 2019 in Alexandria, VA.


EXECUTIVE SUMMARY
The quantum computer promises enormous information storage and processing capacity that can eclipse any possible conventional computer [1]. This stems from quantum entangled superpositions of individual quantum systems, usually expressed as a collection of quantum bits or qubits, whose full description requires exponentially many parameters. However, there are two critical challenges in bringing quantum computers to fruition: Challenge: The vast amount of information contained in massively entangled quantum systems is itself not directly accessible, due to the reduction of quantum superpositions upon measurement. Instead, useful quantum computer algorithms guide a quantum state to a much simpler form to produce some type of global property of the information that can be directly measured. It remains unclear the full scope of applications that can exploit entangled superpositions in this way and how exactly quantum computers will be used in the future.
Challenge: Quantum computers are notoriously difficult to build, requiring extreme isolation of a large number of individual qubits, while also allowing exquisite control of their quantum states and high-accuracy measurements. Quantum computer technology is nothing like classical computer hardware and involves unconventional information carriers in exotic environments like high vacuum or very low temperature. Ultimately, large-scale quantum computers will utilize error-correction techniques that are much more complex than their classical counterparts.
This article combines these two challenges by promoting the idea of co-designing quantum computers with their scientific applications, in a vertically-integrated approach that addresses scientific opportunities at all levels of the quantum computer stack.
Since the birth of quantum computing in the 1990s, there has been enormous progress in the isolation and control of good qubit platforms [2]. Some of these quantum technologies, based on individual atoms controlled by laser beams [3,4] or superconducting circuitry coupled with microwave fields [5], are now being built into small systems. This has led to a new era of quantum computing, paralleling the transition from transistors to integrated circuits many decades ago, that is expected to lead to great scientific opportunities. In this position paper, we therefore do not focus on the physics or development of qubit technologies at the component level. We also do not speculate on new qubit technologies that may emerge in coming years. These are important and foundational research activities, but they are also typically divorced from quantum computer systems level considerations.
Here we concentrate on the near-term prospects and opportunities of generating new scientific opportunities in quantum computers based on an integrated consideration of the complete quantum computer stack based on existing quantum system technologies. At the bottom of the stack, device-specific qubit control and crosstalk considerations will impact native interactions or gate sets, connectivity, and thus net performance on high level quantum computer applications. In the middle of the stack, engineered qubit interactions are expressed in terms of native gates that can be compiled into standard gate sets and higher level quantum subroutines that can be compressed and compiled further using techniques from quantum computer science. Quantum error-correction encoding of qubits, a new field in its own right, will become ever more important as the systems grow in size and circuit depth. At the top of the stack, the execution of quantum circuits can simulate difficult quantum problems, from molecular properties, chemistry, and materials science [6] to nuclear and particle physics models beyond the reach of conventional computers [7]. They may also find use as general optimizers of generic models [8] that could be applied to logistics, economics, and climate science.
We advocate for the continual assembly and operation of quantum computer systems using current technology specifically designed with the above types of opportunities in mind. We propose iterating between building and using the devices, with a full-stack scientific mission that can be fulfilled by a unified effort at universities, national laboratories, and industry. As future qubit technologies are developed, we expect they will be integrated into the stack. While there is growing industrial interest in building quantum computers, we note that these efforts will not likely co-design quantum computers that will be have full flexibility to address scientific opportunities at the various levels of the quantum computer stack. Over the next 2-10 years, this research and development approach is expected to generate new science and also stimulate the transition of academic and national laboratory programs in quantum computing to industry, while also training future quantum engineers. The overriding high level aim of this proposed path is to hasten the development and scientific application space of quantum computers, with strong overlaps with parallel efforts in quantum simulation [9] and quantum communication [10].

INTRODUCTION
Quantum computers represent a fundamental departure from the way we process information. At its core, a quantum computer consists of quantum bits or equivalent quantum information carriers, that allow the storage and processing of quantum superpositions of data. A single qubit |x i is a quantum two-level system that can store a superposition of both x i = 0 and x i = 1. A collection of n qubits can be represented by a quantum state |Ψ that stores an arbitrary entangled superposition of all n-bit binary numbers, where the 2 n weights or amplitudes of each basis state |k are given by complex numbers α k , whose index k can also be expressed as a string of bit values x n−1 x n−2 ...x 0 . The superposition amplitudes α k evolve according to the unitary (time-reversible) Schrödinger wave equation that dictates how the amplitudes of the various basis states can be controlled, governed by an underlying Hamiltonian or energy functional. When the qubits are measured, they assume definite values with probabilities P (k) = |α k | 2 given by the corresponding amplitudes of the underlying quantum state. The entanglement of the above general quantum superposition represents a complex web of natural links between qubits, giving rise to a network of correlations while maintaining the character of superposition within individual qubits. Put loosely, quantum entanglement allows an effective "wiring" of qubit states without any real wires or physical connections between the qubits, and it has no classical analogue. There are several known quantum algorithms that offer various advantages or speedups over classical computing approaches, some even reducing the complexity class of the problem. These algorithms generally proceed by controlling the quantum interference between the components of the underlying entangled superpositions in such a way that a single (or a small number) of quantum states have a significant amplitude in the end. A subsequent measurement can therefore provide global information on a massive superposition state with high probability.
The coherent manipulation of quantum states that defines a quantum algorithm can be expressed through various quantum computational modes with varying degrees of tunability and control. The most powerful quantum computing mode is the universal gate model, similar to universal gate models of classical computation. Here, a quantum algorithm is broken down to a sequence of modular quantum operations or gates between individual qubits. There are many universal quantum gate families operating on single and pairwise qubits [11], akin to the NAND gate family in classical computing. One popular universal quantum gate family is the grouping of two-qubit CNOT gates on every pair of qubits along with rotation gates on every single qubit [1], as displayed in Fig. 1. With universal gates, an arbitrary entangled state and thus any quantum algorithm can be expressed. Alternative modes such as measurement or cluster-state quantum computing [12] can be shown to be formally equivalent to the universal gate model. Like the NAND gate in classical CMOS technology, the particular choice of universal gate set or even mode of quantum computing is best determined by the quantum hardware itself and its native interactions and available controls. The structure of the algorithm itself may also impact the optimal choice of gate set or quantum computing mode.
There are other modes of quantum computation that are not universal, involving subsets of universal gate operations, or certain global gate operations with less control over the entire space of quantum states. These can be useful for specific routines or quantum simulations that may not demand full universality. Although global adiabatic Hamiltonian quantum computing [13] can be made universal in certain cases [14], it is often better implemented as non-universal subroutines for specific state preparation. Quantum annealing models [15,16] do not appear to be universal, and there is current debate over the advantage such models can have over classical computation [17].
Given the continuous amplitudes that define their quantum states (Eq. 1), quantum computers have characteristics akin to classical analogue computers, where errors can accumulate over time and lead to computational instability. It is thus critical that quantum computers exploit the technique of quantum error correction (QEC) [18,19], or at least have sufficiently small native errors that allows the system to complete the algorithm [7]. QEC is an extension of classical error correction, where ancilla qubits are added to the system and encoded in certain ways to stabilize a computation through the measurement of a subset of qubits that is fed back to the remaining computational qubits. There are many forms of QEC, but the most remarkable result is the existence of fault-tolerant QEC [20,21], allowing arbitrarily long quantum computations with sub-exponential overhead in the number of required additional qubits and gate operations. Qubit systems typically have native noise properties that are neither symmetric nor static, so matching QEC methods to specific qubit hardware noise profiles will play a crucial role in the successful deployment of quantum computers.
FIG. 1. The rotation and controlled-NOT (CNOT) gates are an example of a universal quantum gate family when available on all qubits, with explicit evolution (above) and quantum circuit block schematics (below). (a) The single-qubit rotation gate R(θ, φ), with two continuous parameters θ and φ, evolves input qubit state |x to output state |x . (b) The CNOT (or reversible XOR) gate on two qubits evolves two (control and target) input qubit states |xC and |xT to output states |xC = xC and |xT = xC ⊕ xT , where ⊕ is addition modulo 2, or equivalently the XOR operation.
The general requirements for quantum computer hardware [22] are that the physical qubits (or equivalent quantum information carriers) must support (i) coherent Hamiltonian control with sufficient gate expression and fidelity for the application at hand, and (ii) highly efficient initialization and measurement. These seemingly conflicting requirements limit the available physical hardware candidates to just a few. Below we describe those platforms that are currently being built into multi-qubit quantum computer systems and are expected to have the largest impact in the next decade. As we will see below in a definition of levels of the quantum computer stack and a sampling of vertical implementations and applications, the near-term advances in quantum computer science and technology will rely on algorithm designers understanding the intricacies of the quantum hardware, and quantum computer builders understanding the natural structure of algorithms and applications.

THE QUANTUM COMPUTER STACK
Computer architectures are often defined in terms of their various levels of abstraction or "stack," from the user interface to the compiler down to the low-level gate operations on the physical hardware itself. The quantum computer stack can be defined similarly, as depicted in Fig. 2. However, the various levels of the quantum computer stack (especially the qubits themselves) are not yet cheap and commoditized like classical computer technology. So it is critical that quantum computers be designed and operated with the entire stack in mind, with a vertical approach of co-designing quantum computer applications with their specific hardware and all the levels in between for maximum efficiency. In this regards, early quantum computer system development may parallel current classical application specific integrated circuits (ASIC) used for specific and intensive computations such as molecular structure or machine learning.
In this section we list the levels of the quantum computer stack and point to various approaches at each level. The key to co-designing quantum computers is to acknowledge the great opportunities at the interfaces between different levels of the stack, which requires a high level of interdisciplinarity between the physical sciences, engineering, and computer science.

Quantum Algorithms
Quantum computing arose from the discovery that there are certain computational problems that can be solved more efficiently on a quantum computer than on a classical computer, notably number factoring (Shors algorithm [23]) and searching unstructured data (Grovers algorithm [24]). Quantum algorithms typically start at a very high level of description, often as pseudo code. These algorithms are usually distinguished at this level of abstraction by very coarse scaling of resources such as time and number of qubits, as well as success metrics, such as success probabilities or approximation ratios (how well close does a solution get to an optimal value). Quantum algorithms can be broadly divided into those with provable success guarantees, and those that have no such proofs and must be run in order to be characterized (heuristics).

Quantum Software
Express in native gates/connectivity Compile & compress circuits Deploy error correction strategy

Qubit Technology
Interface control fields with qubit system Four levels of the quantum computing stack, from algorithms and quantum software down to control engineering and qubit technologies. We expect scientific opportunities at every level and at the interfaces between levels. At the highest levels, quantum computer systems are expected to advance almost every field of science and technology. Mid-stack, the compilation and translation of quantum gates will allow for algorithmic compression to accelerate performance, while error-correction techniques will mitigate quantum computing errors. At the lowest levels, new types of interactions between chosen qubit technologies and external control fields may lead to new control abilities. Future capable qubit technologies will require tight integration with the other layers of the stack to realize their potential.
Once a quantum algorithm has been conceptualized with the promise of outperforming a classical algorithm, a common bifurcation occurs in whether the algorithm is considered suitable for current devices or for future architectures that rely on quantum error correction. A central challenge for the entire field is to determine whether algorithms on current, relatively small quantum processors can outperform classical computers, a goal called quantum advantage. For fault-tolerant quantum algorithms on the other hand, there is a larger focus on improving asymptotic performance of the algorithm.
Shor's factoring [23] and Grover's [24] unstructured search algorithms are examples are "textbook" quantum algorithms with provable performance guarantees. A handy guide to known quantum algorithms is the quantum algorithm zoo, https://quantumalgorithmzoo.org/. Another important example is the HHL algorithm [25] which is a primitive for solving systems of linear equations. Factoring, unstructured search, and HHL are generally thought to be relevant only for larger fault-tolerant quantum computers.
Another class of quantum algorithms are quantum simulations [9,26,27], which use a quantum computer to simulate models of a candidate physical system of interest, such as molecules, materials, or quantum field theories whose models are intractable using classical computers. Quantum simulators often determine physical properties of a system (e.g., energy levels, phase diagrams) and can explore both static and dynamic behavior. There is a continuum of quantum simulator types, sorted generally by their degree of system control. Fully universal simulators have arbitrary tunability of the interaction graph and may even be fault-tolerant, allowing the scaling to various versions of the same class of problem. Some quantum simulations do not require the full universal programmability of a quantum computer, and are thus easier to build. Such quantum simulators will likely have the most significant impact on society in the shortrun. Example simulator algorithms range from molecular structure calculations applied to drug design and delivery or energy-efficient production of fertilizers [28], to new types of materials for improving batteries or solar cells.
A more recent development in quantum algorithms are variational quantum solvers [29]. Here, the quantum computer produces a complex entangled quantum state representing the answer to some problem (for example, the ground state wave function of a material). The procedure for producing the quantum circuit is parameterized by classical circuit values and then a closed loop optimization algorithm is performed to obtain an optimal value of these parameters for an objective function. One particular area of active exploration is the use of variational quantum solvers for tasks in machine learning [30] or optimization. The quantum approximate optimization algorithm (QAOA) [8] is a canonical example. Variational quantum solvers are a workhorse of noisy intermediate scale quantum algorithms. Of particular import is that they have an inherent robustness to systematic gate error. Finally, one should note that often these algorithms are heuristic: one cannot prove that they converge. These algorithms must be tested on real quantum hardware to study and validate their performance and compare to the best classical approaches.
Quantum algorithms are typically expressed at a high level with the need to estimate actual resources for implementation. Here one often starts with an estimation for fault-tolerant error corrected quantum computers. Briefly, the central idea underlying quantum error-correcting codes is that quantum information can be well protected against damage under realistic noise when encoded in a highly entangled form. Fault-tolerant quantum computing is a method for reliably processing this encoded information even when physical gates and qubit measurements are imperfect. The catch is that quantum error correction has a high overhead cost in terms of the number of qubits and gates required. How high a cost depends on both the quality of the hardware and the algorithm we are trying to run. A recent estimate is that running Shors algorithm to factor a 2048-bit number using gates with a 10 −3 error rate could be achieved with currently known methods using 20 million physical qubits [31]. As the hardware improves, the overhead cost of fault-tolerant processing will drop significantly; nevertheless, fully fault-tolerant scalable quantum computing is presently a distant goal. When estimating resources for fault-tolerant implementations of quantum algorithms, a discrete set of available quantum gates is assumed, which derive from the details of the particular error-correcting code used. Here there are many different techniques for trading off space (qubit number) for time (circuit detpth), resembling conventional computer architecture challenges. At this point one often introduces notions of the connectivity of the gates one can perform on the quantum computer, and other assumptions about reliability of gates versus encoding size and different methods of transporting quantum information. Error correcting codes and their required resources can be significantly optimized by taking into account specific properties of the underlying quantum computing architecture.
Estimating resources for quantum algorithms using realistic quantum computing architectures is an important nearterm challenge. Here, the focus is generally on reducing the gate count and quantum circuit depth to avoid errors from finite qubit coherence times or slow drifts in the qubit control system. Different types of quantum hardware supports different gate sets and connectivity, and native operations are often more flexible than fault-tolerant gate sets for certain algorithms. This optimizing of specific algorithms to specific hardware is the highest and most important level of quantum computer co-design.

Quantum Software
A quantum computer will consist of hardware and software. Key components of the software stack include compilers, simulators, verifiers, benchmarking protocols, as well as supporting software (e.g., visualization). Compilers, interpreted broadly so as to include synthesizers, optimizers, transpilers, placement and scheduling, play a very important role in mapping abstract quantum algorithms of interest into efficient pulse sequences via a series of progressive decompositions from higher to lower levels of abstraction. The problem of optimal compilation is itself QMA-Hard [32], suggesting that there will always be room for further research and improvement. Since optimal synthesis cannot be guaranteed, heuristic approaches to quantum resource optimization (such as gate counts and depth of the quantum circuit) frequently become the only feasible option. Unsurprisingly, classical compilers cannot be simply applied in the quantum domain, so quantum compilers must generally be developed from scratch.
Classical simulators are a very important component of the quantum computer stack. There are a range of approaches, from simulating partial or entire state vector evolution during the computation to full unitary simulation (including by the subgroups), with or without noise. Simulators are needed to verify quantum computations, model noise, develop and test quantum algorithms, prototype experiments, and establish computational evidence of a possible advantage of the given quantum computation. Classical simulators generally require exponential resources (otherwise the need for a quantum computer is obviated), posing a formidable computational challenge and often suggesting the use of high-performance supercomputers. Simulators used to verify the equivalence of quantum circuits or test output samples of a given implementation of a quantum algorithm can be thought of as verifiers. Benchmarking protocols are needed to test components as well as entire quantum computer systems. Quantum algorithm design, resource tradeoffs (space vs gate count vs depth vs connectivity vs fidelity etc.), hardware/software co-design, efficient architectures, circuit complexity are examples of important areas of study that directly advance the power of software.

Control Engineering
Advancing the control functions of most quantum computing implementations is largely considered an engineering (and economic) problem. Current implementations comprise racks of test equipment to drive the qubit operations, calibrate the qubit transitions and related control, and calibrate the measurement equipment. While appropriate for the early stages of R&D laboratory development, this configuration will limit scalability, applicability (for example, fielded applications and mobile platforms), affordability and attractiveness for future applications.
The quantum gate operations for most qubit technologies require precise synthesis of analog control pulses that implement the gate. These take the form of modulated electromagnetic waves at relevant carrier frequencies (typically microwave or optical domain). Depending on the architecture of the quantum computer, a very large number of such control channels might be necessary in a given system. While the advances in communication technologies can be leveraged, a significant level of programmability to generate the adequate pulses must be designed into the control system for quantum computers.
As with the explosive advancement of the telecom industry, in its implementation of 100 to 400+ Gb/s coherent digital optics formats and integrated RF and microwave signal processing for mobile applications, the advancement of controls in quantum computing will ultimately require high speed application-specific optimized controls and processing. In the shortrun however, defining the control functions and features relevant for the target qubit applications, and deriving the performance specifications is the challenge we face, before scalable implementation (such as ASIC development) becomes viable. Near term applications in quantum computing and full system design activities are critical in identifying and defining these needs. There are strong opportunities to engage engineering communities, in both academia and industry, with expertise ranging from computer architecture to chip design, to make substantial advances on this front. To foster such efforts, it will be necessary to encourage co-design and to identify common engineering needs and standards.
The types of signals we need to generate can benefit significantly from digital RF techniques that have seen dramatic advances in the last decade. We start to see commercially-available chipsets (both FPGAs and ASICs) that incorporate System On a Chip (SoC) technology, where processing power is integrated with various digital and analog functions. This evolving technology not only can provide flexible, multi-faceted functionality in a compact configuration, but at substantially reduced power consumption and cost.
Besides the signal generation necessary for implementing the gates, other control needs include passive and active (servo) stability, maintenance of system operation environment (vacuum, temperature, etc.), and managing the startup, calibration, and operational sequences. Calibration is needed in both atomic and superconducting systems, though in somewhat different ways. In fixed frequency superconducting systems, maintaining fidelities above 99% requires periodic calibration of RF pulse amplitudes and for tunable transmons, low frequency tuning of magnetic flux is needed to maintain operation at qubit sweet spots. For atomic qubits, calibrating for local trapping potentials and slow drifts in laser intensities delivered to the qubits are necessary. These calibration procedures can be automated and built into the operating mode of the quantum computer system with help of software controls, and are candidates for implementation in SoC technologies. Development of optimal operating procedure including calibration processes will require innovation at a higher level of the stack to dynamically understand when recalibration is needed, if not done on a fixed schedule.
Specific performance requirements will help drive progress, by co-design of engineering capabilities and quantum control needs. For example, there is a need for electronic control systems with: (i) faster than 1 Gsamples/s, (ii) with synchronized and coherent output over 100 channels and extensible above 1000 channels, (iii) switchable among multiple pre-determined states, and (iv) PID feedback control on each channel with at least kHz bandwidth. A common need for optical control systems has: (i) phase and/or amplitude modulation with a bandwidth of 100 MHz; (ii) over 100 channels and extensibility above 1000 channels, (iii) precision better than 12 bits (phase or amplitude), (iv) operating wavelengths to match qubit splittings.
One additional consideration of the controls engineering for high performance quantum computers is noise. The noise in a quantum system has two sources: one is the intrinsic noise in the qubits arising from its coupling to the environment, and the other is the control errors, either systematic (such as drifts or crosstalk) or stochastic (such as thermal and shot noise on the control sources) in nature. The key is to design the controller so that the impact of stochastic noise on the qubits is less than the intrinsic noise of the qubits, and that the systematic noise is fully characterized and mitigated (either through better hardware design, control loops, quantum control techniques, or by other means).

Qubit Technology Platforms
We view the various quantum computer technology platforms in terms of their ability to be integrated in a multiqubit system architecture. To date, only a few qubit technologies have been assembled and engineered in this way, including superconducting circuits [33,34], trapped atomic ions [35][36][37], and neutral atoms [38,39]. While there are many other promising qubit technologies, such as spins in silicon, quantum dots, or topological quantum systems, none of these technologies have been developed beyond the component level. The research and development of new qubit technologies should continue aggressively in materials/fabrication laboratories and facilities. However, their maturity as good qubits may not be hastened by integrating them with modular full-stack quantum systems development proposed here, so we do not focus this report on new qubit development. In any case, once alternative qubit technologies reach maturity, we expect their integration will benefit from the full stack quantum computer approach considered in this report.
It is generally believed that fully fault-tolerant qubits will not likely be available soon. Therefore, specific qubit technologies and their native decoherence and noise mechanisms will play a crucial role in the development of near term quantum computer systems. There are several systems-level attributes that arise when considering multi-qubit systems as opposed to single or dual qubit systems. Each of these critical attributes should be optimized and improved in future system generations: • Native quantum gate expression. Not only must the available physical interactions allow a universal control, but high levels of gate expression will be critical to the efficient compilation and compression of algorithms so that the algorithm can be completed before noise and decoherence take hold. This includes developing overcomplete gate libraries, as well as enabling SIMD (single instruction, multiple data) instructions such as those given by global entangling and multiqubit control gates [40].
• Quantum gate speed. Faster gates are always better, while keeping everything else fixed. Fast gates may even be necessary for algorithms that require extreme repetition, such as variational optimizers [6] or sampling circuits [41]. However, faster gates may also degrade their fidelity and crosstalk, and in these cases the speed to complete algorithmic solution should take precedence.
• Specific qubit noise and crosstalk properties. Qubit noise properties should be detailed and constantly monitored, for there are many error mitigation techniques for specific or biased error processes that can improve algorithmic success in the software layer. Quantum gate crosstalk is usually unavoidable in a large collection of qubits, and apart from passive isolation of gate operations based on better engineering and control, there are software solutions that exploit the coherent nature of such crosstalk and allow for its cancellation by design.
• Qubit connectivity. The ability to implement quantum gate operations across the qubit collection is critical to algorithmic success. While full connectivity is obviously optimal, this not only may lead to higher levels of crosstalk, but ultimately resolving the many available connection channels may significantly decrease the gate and algorithmic speed. This trade-off will depend on details in the algorithm, and a good software layer will optimize this trade-off. A connection graph that is software-reconfigurable will also be useful.
• High level qubit modularity. For very large-scale qubit systems, a modular architecture may be necessary [3,5,42]. Just as for multi-core classical CPU systems, the ability to operate separated groups of qubits with quantum communication channels between the modules will allow the continual scaling of quantum computers. Modularity necessarily limits the connectivity between qubits, but importantly allows a hierarchy of quantum gate technologies to allow indefinite scaling, in principle.
Increasing the number of qubits from hundreds to thousands of qubits will be challenging, because current systems cannot simply be increased in size via brute force. Instead, a new way of thinking how to reduce the number of external controls of the system will be needed to achieve a large number of qubits. This could be approached by further integrating control into the core parts of the system or by multiplexing a smaller number of external control signals to a larger number of qubits. In addition, modularizing subsystems to be produced at scale and integrating these into a networked quantum computer might be a way to achieve the necessary system size. Many challenges and possible solutions will only become visible once we start to architect and engineer systems of such a size, which will in turn be motivated by scientific applications.

OUTLOOK AND PATHS FORWARD
The field of quantum computing is now in an era of quantum systems development, where full stack consideration is poised to accelerate progress in building, using, and optimizing quantum computers. The birth and development of quantum computers has taken place in a scientific atmosphere, and we believe that the largest opportunities in quantum computing applications in the coming decade will continue in the realm of science. This stems from the physics of good qubit systems and the electrical and systems engineering of controlling them, to computer science approaches in optimizing the expression of algorithms, finally to be used for nearly all areas of science that will reap the benefits of a new type of computing tool.

Community building and engagement
Quantum computing pulls the rug from underneath the principles of conventional computing, and its progress will be accelerated by the active engagement of a broad society of users. One mechanism is to underwrite various forms of challenge competitions, which have been successful in stimulating interest and engagement in conventional computing platforms while reaching a large group of coders (e.g. Google Jams, Facebook and Topcoder competitions). In the quantum computing world, such challenges have already been held successfully, such as the IBM layout and computation challenges, the Microsoft Q# coding challenges, and the Mequanics quantum circuit minimization challenge. Supporting more such challenges might help to engage a future quantum workforce around concrete and small scale problems and to stimulate a culture shift of quantum computational thinking. These events can also exploit the growing quantum cloud presence by running routines on real hardware (and their virtual simulators).
Universities and national laboratories across the country are standing up Quantum Information Science and Technology Centers to engage with their students and the general public in this field. All efforts discussed in this report to accelerate the progress in quantum computing should coordinate with these centers of excellence, stimulating the exchange of people and ideas.

Quantum Computing Laboratory User Facilities (QCLabs)
Given the enormous promise and opportunities in quantum computing, we promote the idea of supporting scientific quantum computing user facilities (QCLabs) that will bring all of the science and engineering represented by the quantum computer stack together in one place. Each QCLab could have its own type of qubit system, scaling architecture plans, or use case family, for instance. But the QCLabs would feature quantum computer co-design up and down the quantum stack, continually iterating on device design, software optimization, and use cases. These facilities would feature a deep bench of scientists and engineers permanently on site (faculty, staff engineers, etc.), but would also support visitors from all levels: theorists and algorithmic designers, computer scientists, electrical and computer engineers, to physicists, chemists, and materials scientists. Each level would be expected to contribute to not just the use of the devices, but also in the continual building of next generations of quantum computers at the QCLab.
QCLabs are expected to be highly leveraged by industrial efforts in quantum computing. There are many industrial teams now building ever more powerful quantum computing systems, with many of these efforts providing cloud access to their systems. We expect the availability of various types of industrial quantum computers to grow rapidly in coming years. These services will have varying characteristics such as qubit type, qubit number, gate depth, and level of connectivity and expression, that can be exploited by the scientific community. It is important to note that these cloud services will not generally allow users to dig deeper into the stack to potentially optimize the low level control of qubits in order to optimize a particular scientific application, and such systems will not likely be built for scientific research purposes. In fact, industrial quantum computers may not want much flexibility in their system design, as this could degrade high level performance for the cloud service user or other clientele. We envision that the QCLabs would leverage industrial cloud quantum computers in order to assist and benchmark aspects of the QCLab activity itself. Industry should be very interested in this interaction, as QCLabs may help find quantum killer applications of the future.