剥离$\mid$桩?Quantum软件的跨框架可移植性
Peel $\mid$ Pile? Cross-Framework Portability of Quantum Software
摘要:
近年来,各种供应商已经提供了量子软件框架。然而,对于特定于供应商的框架,代码可移植性似乎存在风险,特别是在硬件和软件库尚未达到统一状态的领域,甚至技术的基础方面仍在不断变化。因此,经常建议开发与供应商无关的量子编程语言和框架。这遵循了已建立的架构模式,即在软件栈中引入额外的抽象层,从而堆积抽象层。然而,软件架构也提供了看似不那么抽象的替代方案,即专注于剥离不必要层的问题的硬件特定公式。在这篇文章中,我们定量地和实验性地探索这些战略选择,并从软件实现的角度比较流行的量子框架。我们发现,对于几个具体的,但可推广的问题,要解决的问题的数学公式不仅是足够抽象,并作为精确的描述,但同样是具体的,足以让派生框架特定的实现很少的努力。此外,我们认为,基于对数十种现有量子代码的分析,框架之间的移植实际上是低成本的,因为量子和框架特定的部分在大小方面非常易于管理,通常只有数百行代码。考虑到量子编程实践的当前最先进水平,这导致我们主张剥离不必要的抽象层次。
英文摘要:
In recent years, various vendors have made quantum software frameworks available. Yet with vendor-specific frameworks, code portability seems at risk, especially in a field where hardware and software libraries have not yet reached a consolidated state, and even foundational aspects of the technologies are still in flux. Accordingly, the development of vendor-independent quantum programming languages and frameworks is often suggested. This follows the established architectural pattern of introducing additional levels of abstraction into software stacks, thereby piling on layers of abstraction. Yet software architecture also provides seemingly less abstract alternatives, namely to focus on hardware-specific formulations of problems that peel off unnecessary layers. In this article, we quantitatively and experimentally explore these strategic alternatives, and compare popular quantum frameworks from the software implementation perspective. We find that for several specific, yet generalisable problems, the mathematical formulation of the problem to be solved is not just sufficiently abstract and serves as precise description, but is likewise concrete enough to allow for deriving framework-specific implementations with little effort. Additionally, we argue, based on analysing dozens of existing quantum codes, that porting between frameworks is actually low-effort, since the quantum- and framework-specific portions are very manageable in terms of size, commonly in the order of mere hundreds of lines of code. Given the current state-of-the-art in quantum programming practice, this leads us to argue in favour of peeling off unnecessary abstraction levels.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。