The field of quantum computing is at an exciting time where we are constructing novel hardware, evaluating algorithms, and finding out what works best. As qubit technology grows and matures, we need to be ready to design and program larger quantum computer systems. An important aspect of systems design is layered abstractions to reduce complexity and guide intuition. Classical computer systems have built up many abstractions over their history including the layers of the hardware stack and programming abstractions like loops. Researchers initially ported these abstractions with little modification when designing quantum computer systems and only in recent years have some of those abstractions been broken in the name of optimization and efficiency. We argue that new or quantum-tailored abstractions are needed to get the most benefit out of quantum computer systems. We keep the benefits gained through breaking old abstraction by finding abstractions aligned with quantum physics and the technology. This dissertation is supported by three examples of abstractions that could become a core part of how we design and program quantum computers: third-level logical state as scratch space, memory as a third spacial dimension for quantum data, and hierarchical program structure.
翻译:量子计算领域正处于激动人心的阶段,我们正在构建新型硬件、评估算法,并探索最佳实践。随着量子比特技术的成长与成熟,我们需要准备设计和编程更大规模的量子计算机系统。系统设计的一个重要方面是分层抽象,以降低复杂性并引导直觉。经典计算机系统在其发展历程中积累了众多抽象,包括硬件栈的层次结构以及循环等编程抽象。研究人员最初在设计量子计算机系统时几乎未加修改地移植了这些抽象,直到近年来,为了优化和效率,其中一些抽象才被打破。我们认为,为了从量子计算机系统中获得最大收益,需要引入新的或专为量子定制的抽象。通过寻找与量子物理和技术相一致的抽象,我们保留了打破旧有抽象所获得的益处。本论文以三个可能成为量子计算机设计与编程核心部分的抽象为例加以支持:作为暂存空间的第三级逻辑态、作为量子数据第三空间维度的存储器,以及分层程序结构。