  Adiabatic quantum programming defines the time-dependent mapping of a quantum
algorithm into an underlying hardware or logical fabric. An essential step is
embedding problem-specific information into the quantum logical fabric. We
present algorithms for embedding arbitrary instances of the adiabatic quantum
optimization algorithm into a square lattice of specialized unit cells. These
methods extend with fabric growth while scaling linearly in time and
quadratically in footprint. We also provide methods for handling hard faults in
the logical fabric without invoking approximations to the original problem, and
illustrate their versatility through numerical studies of embeddabilty versus
fault rates in square lattices of complete bipartite unit cells. The studies
show these algorithms are more resilient to faulty fabrics than naive embedding
approaches, a feature which should prove useful in benchmarking the adiabatic
quantum optimization algorithm on existing faulty hardware.
