嘈杂的中型量子 (NISQ) 计算机是一个活跃的研究领域。新的量子计算机架构有时是制造过程逐步改进的结果,有时是量子比特技术本身的范式转变。虽然每种新架构在计算意义上都是通用的,但它们设计的无常性挑战了人们为它们编写软件的能力。与传统计算机的情况一样,编译器的作用是减轻这一挑战。量子计算机的软件最好以对程序员来说最简单、最直接的方式编写,而不一定需要了解目标架构的细节。然后,编译器的工作就是生成该软件的有效且适当的表达,该表达考虑到目标架构的细节。在本文中,我们介绍了 Quilc,这是一个开源 4 软件应用程序,用于将用 Quil [ 3 , 24 ] 编写的量子程序编译为优化程序,该程序以目标量子计算机架构的本机操作表示。 Quilc 不需要(实际上也没有办法接受)用户关于细粒度编译策略的指令。相反,它使用 Quilc 必须为其编译用户程序的体系结构的简单描述。体系结构描述语言足够通用,可以处理迄今为止大多数制造的基于门的计算机体系结构,并且可以预测新的体系结构。出于这些原因,我们说 Quilc 是自动的和可重定向的。Quilc 不仅仅是一个桌面计算器(避免进行手动重复计算的便利),因为它充当了有关程序编译的知识库,并且能够综合这些信息来发现量子程序的非平凡表达式。我们在第 5 节中提供了这方面的示例。它也是生产级的,并且是 Rigetti Computing 软件堆栈的重要组成部分。本文的结构如下。首先,在第 2 节中,我们概述了 Quilc,包括与编译有关的量子架构的数学公式。第 3 节使用此形式来描述 Quilc 如何实现可重定向性,其高级概述见
主要关键词