  Quantum computers with tens to hundreds of noisy qubits are being developed
today. To be useful for real-world applications, we believe that these
near-term systems cannot simply be scaled-down non-error-corrected versions of
future fault-tolerant large-scale quantum computers. These near-term systems
require specific architecture and design attributes to realize their full
potential. To efficiently execute an algorithm, the quantum coprocessor must be
designed to scale with respect to qubit number and to maximize useful
computation within the qubits' decoherence bounds. In this work, we employ an
application-system-qubit co-design methodology to architect a near-term quantum
coprocessor. To support algorithms from the real-world application area of
simulating the quantum dynamics of a material system, we design a
(parameterized) arbitrary single-qubit rotation instruction and a two-qubit
entangling controlled-Z instruction. We introduce dynamic gate set and paging
mechanisms to implement the instructions. To evaluate the functionality and
performance of these two instructions, we implement a two-qubit version of an
algorithm to study a disorder-induced metal-insulator transition and run 60
random instances of it, each of which realizes one disorder configuration and
contains 40 two-qubit instructions (or gates) and 104 single-qubit
instructions. We observe the expected quantum dynamics of the time-evolution of
this system.
