摘要 — 存储器编译器是促进数字电路设计过程的必要工具。然而,学术界只有少数可用的。电阻式随机存取存储器 (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 容器、图形编译器
23.1. 概述................................................................................................................................................215 23.2. 翻译....................................................................................................................................215 23.3. 环境....................................................................................................................................215 23.4. 标识符....................................................................................................................................216 23.5. 字符....................................................................................................................................216 23.6. 整数.......................................................................................................................................217 23.7. 浮点数....................................................................................................................................217 23.8. 数组和指针....................................................................................................................................218 23.9. 提示....................................................................................................................................219 23.10. 结构、联合、枚举和位字段.............................................................................................219 23.11. 23.12. 限定符................................................................................................................................220 23.13. 声明符.................................................................................................................................220 23.14. 语句.................................................................................................................................220 23.14. 预处理指令.......................................................................................................................220 23.15. 库函数.................................................................................................................................221 23.16. 架构.................................................................................................................................225
早在该进程开始时,就通过全球范围的磋商,就《编纂者指南》的注释大纲征求了各国统计机构、各国中央银行、国际和地区组织的意见。在此基础上,在 2012 年和 2013 年初举行的四次连续虚拟会议(涉及一个扩大的专家组)和 2013 年 6 月举行的一次联合国专家组面对面会议中,编写并审查了各章的初稿。除了这些会议之外,工作组还在 2012 年、2013 年和 2014 年的会议上分别讨论了指南的制定。磋商、审查以及虚拟和面对面会议由联合国统计司、经合组织和世贸组织协调。该进程从各次会议上收到的建议(和国家案例)中受益匪浅。
我们解决了在投机语义下在编译器转换之间保留非干预的问题。我们开发了一种证明方法,以确保在所有源程序中均匀保存。我们证明方法的基础是一种新的模拟关系形式。它通过指令进行操作,该指令对攻击者对微构造状态的控制进行建模,并且它解释了编译器转换可能会改变微构造状态对执行(以及指令)的影响。使用我们的证明方法,我们显示了消除死亡代码的正确性。当我们试图证明注册分配正确时,我们确定了以前未知的弱点,该弱点会引入非干预。我们已经证实了libsodium密码库中代码上主流编译器的弱点。为了再次获得安全性,我们开发了一种新颖的静态分析,该分析可在源程序和寄存器分配程序的产品上运行。使用分析,我们向现有的注册分配实现提供了一个自动修复程序。我们通过证明方法证明了固定寄存器分配的正确性。