连续变量 (CV) 量子光学系统 (QOS) 是量子计算 (QC)、量子机器学习 (QML) 和量子传感 (QS) 的一个有利平台,因为它们可以在室温下运行,具有确定性纠缠操作,并且具有变分量子算法 (VQA) 中使用的高效量子噪声缓解协议 [1,2]。VQA 评估在量子计算机上执行的参数化量子电路的成本函数 [3],而经典计算机通过优化电路参数来最小化该成本。到目前为止,VQA 已在 CVQOS 中为变分特征值求解器实现 [4]。CV 平台特别适合 CV 幺正的变分编译任务 [5]。这种量子编译可用于优化量子门组合,以最大限度地减少量子算法所需的资源。
实用的分布式量子计算需要开发高效的编译器,使量子电路与某些给定的硬件约束兼容。这个问题众所周知很难解决,即使对于本地计算也是如此。在这里,我们在分布式架构上解决这个问题。正如在这种情况下通常假设的那样,远程门代表基本的远程(处理器间)操作。每个远程门都包含几个任务:i)纠缠生成和分发,ii)本地操作,以及 iii)经典通信。纠缠生成和分发是一种昂贵的资源,因为它很耗时。为了减轻其影响,我们模拟了一个优化问题,将运行时间最小化与分布式纠缠态的使用相结合。具体来说,我们将分布式编译问题公式化为动态网络低。为了增强解决方案空间,我们通过引入一个谓词来扩展公式,该谓词操纵输入中给出的电路并并行化远程门任务。为了评估我们的框架,我们将问题分成三个子问题,并通过近似程序解决它。实验表明,运行时间不受问题规模扩展的影响。此外,我们将所提出的算法应用于编译不同拓扑下的电路,结果表明,边与节点之间的比率较高的拓扑会产生更浅的电路
摘要 — 存储器编译器是促进数字电路设计过程的必要工具。然而,学术界只有少数可用的。电阻式随机存取存储器 (RRAM) 具有高密度、高速度、非易失性的特点,是未来数字存储器的潜在候选。据作者所知,本文介绍了第一个用于自动存储器生成的开源 RRAM 编译器,包括其外围电路、验证和时序特性。RRAM 编译器使用 Cadence SKILL 编程语言编写,并集成在 Cadence 环境中。布局验证过程在 Siemens Mentor Calibre 工具中进行。编译器使用的技术是 TSMC 180nm。本文分析了编译器生成的大量 M x N RRAM 的新结果,最多 M = 128、N = 64 和字长 B = 16 位,时钟频率等于 12.5 MHz。最终,编译器实现了高达0.024 Mb/mm 2 的密度。
计算机体系结构基础:处理器、内存、输入和输出设备、应用软件和系统软件:编译器、解释器、高级和低级语言、结构化编程方法简介、流程图、算法、伪代码(冒泡排序、线性搜索 - 算法和伪代码)
量子模拟内核是一个重要的子程序,在许多量子程序中以非常长的门序列出现。在本文中,我们提出了 Paulihedral,这是一个分块编译器框架,它可以通过利用高级程序结构和优化机会来深度优化此子程序。Paulihedral 首先采用了一种新的 Pauli 中间表示,它可以维护量子模拟内核中的高级语义和约束。这自然可以实现难以在低门级实现的新型大规模优化。具体而言,我们提出了两种与技术无关的指令调度过程和两种与技术相关的代码优化过程,它们协调了编译器的电路综合、门取消和量子位映射阶段。实验结果表明,Paulihedral 在近期超导量子处理器和未来容错量子计算机的广泛应用中都可以胜过最先进的编译器基础设施。
将量子程序编译为低级门集时,必须考虑近似错误。我们提出了一种自动跟踪此类错误的方法,然后优化准确性参数以确保指定的总体精度,同时旨在最大程度地减少量子门的实现成本。我们方法的核心思想是提取直接从量子程序的高级描述中指定优化问题的功能。然后,自定义编译器通过优化这些功能,将它们变成(1)总误差和(2)实现成本(例如,总量子门计数)的(1)符号表达式。量子程序的所有未指定参数将显示为这些表达式中的变量,包括精度参数。解决相应的优化问题后,可以从发现的解决方案实例化电路。我们开发了两个原型实现,一个基于Clang/LLVM中的C ++,另一种是使用Q#编译器基础架构。我们将原型基准在典型的量子计算程序上,包括量子傅立叶变换,量子相估计和Shor算法。
I。尽管量子计算设备技术中的快速进展已大大增加了量子位(或量子位)的相干时间,但当前可用的量子计算机仍在所谓的嘈杂的中间尺度量子量子制度中[1]。对于嘈杂的量子计算机,重要的是要在Qubits上安排操作尽可能短,因为这增加了在任何量子装置之前完成所有操作的概率,从而获得了具有较高有限性的计算结果。即使对于容忍故障的量子计算机,缩短编译时间表的持续时间也会增加吞吐量。量子计算机(或量子编译器)的编译器采用量子电路,该电路是一系列量子操作,作为输入程序,并生成可在目标硬件上可执行的相应控制指令的顺序。例如,在使用超导码位的量子计算机的情况下,将量子操作汇编为多个控件(例如,微波脉冲),可以在一定时间段内进行。通常,任何给定的量子操作都有其自身的处理时间,并且在该持续时间内作为计算资源占据其代理量子。出于这个原因,调度,通过该调度在没有任何重叠的情况下确定每个量子操作的执行启动时间,是量子编译器中必不可少的任务。我们称此任务量子操作计划。在本文中,我们的目标是最大程度地减少总体执行时间。在跨多个资源(Qubits,对于量子操作计划的情况下)的调度任务的上下文中,第一个任务开始与
摘要 — 基于深度神经网络 (DNN) 或深度学习 (DL) 的人工智能 (AI) 应用因其在解决图像分析和语音识别等问题方面的成功而变得流行。训练 DNN 需要大量计算,而高性能计算 (HPC) 一直是 AI 发展的关键驱动力。虚拟化和容器技术促成了云和 HPC 基础设施的融合。这些具有不同硬件的基础设施增加了部署和优化 AI 训练工作负载的复杂性。可以使用特定于目标的库、图形编译器以及通过改进数据移动或 IO 来优化 HPC 或云中的 AI 训练部署。图形编译器旨在通过为目标硬件/后端生成优化代码来优化 DNN 图的执行。作为 SODALITE(Horizon 2020 项目)的一部分,MODAK 工具旨在优化软件定义基础设施中的应用程序部署。 MODAK 使用数据科学家的输入和性能建模,将最佳应用程序参数映射到目标基础架构并构建优化的容器。在本文中,我们介绍了 MODAK,并回顾了 AI 的容器技术和图形编译器。我们说明了使用图形编译器和 Singularity 容器优化 AI 训练部署。使用 MNIST-CNN 和 ResNet50 训练工作负载的评估表明,定制的优化容器优于 DockerHub 的官方映像。我们还发现图形编译器的性能取决于目标硬件和神经网络的复杂性。索引术语 —MODAK、SODALITE、HPC、云、性能优化、AI 训练、Singularity 容器、图形编译器
嘈杂的中型量子 (NISQ) 计算机是一个活跃的研究领域。新的量子计算机架构有时是制造过程逐步改进的结果,有时是量子比特技术本身的范式转变。虽然每种新架构在计算意义上都是通用的,但它们设计的无常性挑战了人们为它们编写软件的能力。与传统计算机的情况一样,编译器的作用是减轻这一挑战。量子计算机的软件最好以对程序员来说最简单、最直接的方式编写,而不一定需要了解目标架构的细节。然后,编译器的工作就是生成该软件的有效且适当的表达,该表达考虑到目标架构的细节。在本文中,我们介绍了 Quilc,这是一个开源 4 软件应用程序,用于将用 Quil [ 3 , 24 ] 编写的量子程序编译为优化程序,该程序以目标量子计算机架构的本机操作表示。 Quilc 不需要(实际上也没有办法接受)用户关于细粒度编译策略的指令。相反,它使用 Quilc 必须为其编译用户程序的体系结构的简单描述。体系结构描述语言足够通用,可以处理迄今为止大多数制造的基于门的计算机体系结构,并且可以预测新的体系结构。出于这些原因,我们说 Quilc 是自动的和可重定向的。Quilc 不仅仅是一个桌面计算器(避免进行手动重复计算的便利),因为它充当了有关程序编译的知识库,并且能够综合这些信息来发现量子程序的非平凡表达式。我们在第 5 节中提供了这方面的示例。它也是生产级的,并且是 Rigetti Computing 软件堆栈的重要组成部分。本文的结构如下。首先,在第 2 节中,我们概述了 Quilc,包括与编译有关的量子架构的数学公式。第 3 节使用此形式来描述 Quilc 如何实现可重定向性,其高级概述见
摘要 量子计算是一个快速发展的领域,有可能改变我们解决以前棘手问题的方式。新兴硬件的复杂性正在逼近,需要越来越复杂的编程和控制。Scaffold 是一种较旧的量子编程语言,最初设计用于未来大型量子机器的资源估算,而 ScaffCC 是相应的基于 LLVM 的编译器。我们首次对该语言本身、编译器及其传递结构进行了全面而完整的概述。尽管 Abhari 等人(2015 Parallel Comput. 45 2–17)、Abhari 等人(2012 Scaffold:量子编程语言 https://cs.princeton.edu/research/techreps/TR-934-12)的先前研究对该工具链的不同部分进行了零碎的描述,但我们在本文中提供了更全面、更完整的描述。我们还引入了 ScaffCC 的更新,包括旨在与现代量子汇编语言保持同步的条件测量和多维量子比特阵列,以及旨在保持噪声中型量子 (NISQ) 机器的正确性和低资源计数的替代工具链,以及与当前版本的 LLVM 和 Clang 的兼容性。我们的目标是为研究界提供一个功能齐全的 LLVM 框架,用于量子程序分析、优化和可执行代码的生成。