没有合适的资源?快使用搜索试试~ 我知道了~
嵌入式神经网络的规范与编译雨果·蓬普尼亚克引用此版本:雨果·庞普尼亚克。嵌入式神经网络的规范与编译其他[cs.OH]。索邦大学,2022年。法语。NNT:2022SORUS436。电话:03997036HAL ID:电话:03997036https://theses.hal.science/tel-03997036提交于2023年HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire博士论文计算机科学专业(计算机、电信和电子博士学院)由HUGO POMPOUGNAC提交获得索邦大学博士嵌入式神经元网络的规范与编译论文答辩日期:2022年12月9日评审团:博士科琳·安库尔ENSMP/CRI报告员博士蒂莫西·伯克因里亚审查员博士阿尔伯特·科恩Google法国审查员博士大卫·莫诺CNRS报告员教授阿利克斯·穆尼尔-科顿索邦大学审查员博士杜米特鲁·波托普-布塔卡鲁 因里亚论文主任“La chouette de Minerve prend son envol au黑格尔,《法哲学原理》谢谢你这次冒险对我来说是一次进入未知领域的旅行如果不是我的论文导师杜米特鲁·波托普-布卡鲁(Dumitru Popop-Butucaru)在那里指导我的脚步,我会迷失一百次我非常感谢他花时间,感谢他的耐心,感谢他从未停止对我的阿尔伯特·科恩也是一个宝贵的里程碑他的观察、建议和鼓励意 义 重 大 。罗伯特·德·西蒙尼立即对我的工作产生了兴趣,这给了我勇气和决心。我还要感谢在Synchron研讨会期间定期与他会面的Synchron社区。Patricia Riveill是INRIA Kairos项目团队的助理,她总是乐于助人,随时待命。我还要感谢安妮·马图林在最后阶段的行政支持我感谢Corinne Ancourt和David Monniaux,他们是我论文的报告员和报告员与他们中的每一个人的对话都我还要感谢Alix Munier-Kordon和Timothy Bourke,他们也很乐意参加我的论文评审团通往博士学位门槛的道路本身就很陡峭。我感谢那些和我一起去的人其中包括最后,我要感谢我所爱的人。在这三年里,即使是被关在笼子里,我也不是孤独的:我生活的世界充满了好斗、有爱心和慷慨的人。它们过去和现在都比我所能说的更重要。摘要在本文中,我们提出了一种方法来指定和联合编译同一系统的高性能计算(HPC)和嵌入式实时(RTE)方面我们的方法基于两种形式之间的形式化、算法化和工具化集成,这两种形式支撑着HPC和RTE的大部分工作:SSA形式和Lustre同步数据流语言SSA形式是许多HPC编译器的核心,包括TensorFlow或PyTorch等机器学习框架所使用的编译器。Lustre语言是航空电子和铁路领域关键嵌入式系统实施流程的核心。摘要在本文中,我们提出了一种联合规范和编译系统的高性能计算(HPC)和实时嵌入式(RTE)方面的方法。我们的方法基于两种形式之间的形式化、算法化和工具化集成,这两种形式涵盖了HPC和RTE领域的大量工作:SSA形式化和同步数据流语言Lustre。SSA形式是许多HPC编译器的关键组件,包括TensorFlow或PyTorch等机器学习框架所使用的编译器。Lustre语言是航空电子或铁路运输中关键嵌入式系统实现过程1目录1.2.1静态校正保证与嵌入式优化2.1.3车载网络的规范和实施1简介51.1启动高性能? ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...1.1.1一个古老的问题。... ... ... ... ... ... ... ... ... ... ... ... ... ...671.1.2... ... ... ... ... ... ...71.1.381.2 RTE和DL/HPC:两个不同的领域。... ... ... ... ... ... ... ... ... ...9精神上的。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...... ... ...91.2.2任务并行与数据并行。 . ...111.2.3反应性与转化性。... ... ... ... ... ... ... ... ... ... ... ... ... ...111.2.4数据流范式的不同用途131.3贡献。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...... ...161.3.1我们的方法。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...161.3.2详细。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...192最新技术水平222.1引言。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...... ...2.1.1编制SSA。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...22222.1.2同步语言的。... ... ... ... ... ... ... ... ... ...23神经元。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...2422.3.3培训期间的 . . . . . . . . ...413使用SSA和MLIR构建HPC的核心3.1SSA原则。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...42433.2SSA形式主义:直观的语法和语义。... ... ... ... ...3.2.1顺序控制流程图。 . . . . . . . . .44443.2.2... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...463.2.3语法及其扩展 . . . . . . . . . . . . . . ...473.2.4校正特性。 . . . . . . . . . . . . . . . ...493.3形式语义学。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...543.4 MLIR:多级中间表示。. . . . . . ...583.4.1区域。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...593.4.2方言。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...613.4.3 MLIR规范的编制... ... ... ... ... ... ...653.5结论。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...... ... ...714将SSA扩展到同步并发734.1将执行分解... ... ... ... ... ... ... ...4.1.1需要 . . . . . . . . . ...75754.1.2将循环与基本块相关联? ... ... ... ... ... ... ... ... ... ... ...764.1.3 . . . . . . . . . . . . . . . . . . . ...784.1.4编译。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...814.2周期性投入产出。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...854.2.1从周期性障碍到周期性投入产出。...854.2.2输入-输出通道... ... ... ... ... ... ... ... ... ... ... ... ... ... ...864.2.3结构。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...874.2.4编译。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...874.3反应。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...884.3.1从基于功能的模块化到反应式模块化。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...884.3.2... ... ... ... ... ... ... ... ...904.3.3结构。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...9134.3.4编译。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...914.4形式语义学。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...4.4.1缺失和不确定。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...91924.4.2操作语义。... ... ... ... ... ... ... ... ... ...954.4.3编译的更正。. . . . . . . . . . . . . ...964.5结论。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...... ... ...9745MLIR100中的同步数据流5.1Lustre101语言5.1.1103个节点5.1.2L’opérateur fby5.1.3当和合并1055.1.4时钟1065.2Lus方言1085.2.1Lus108方言同步数据流规范5.2.2规范的标准化5.2.3规范化节点的编译5.3结论1176集成1196.1ML 119框架的结构6.1.1传统(转型)ML框架1196.1.2响应式ML框架1296.2代码转换1366.2.1示例说明6.2.2转换代码生成1386.2.3响应代码生成1406.3结论1497151结果7.1神经元网络1517.1.1Resnet50的演示1527.1.2性能(Resnet50和RNN)1537.2声码器1597.2.1主节点1607.2.2由主节点1627.3结论1638结论1698.1我们的贡献1708.2后续工作172首字母缩略词列表17456第一章引言虽然实时嵌入式(RTE)和由于高性能计算(HPC)是不同的领域,它们在事实上,它们现在已经在一起工作了:例如,想想然而,在RTE系统中实现HPC组件在技术上是困难的。在缺乏我们建议在规范级别解决此问题。本论文的主要贡献是一种形式主义,它允许在同一个高性能嵌入式系统中指定和联合编译RTE和HPC方面本介绍性章节旨在概述因此,• 在第一部分中,我们解释了HPC/RTE连接虽然具有挑战性,但在ANN兴起的背景下,它不仅是必要的,而且是最重要的• 在第二部分中,我们概述了所使用的方法和形式之间的差异所7在HPC和RTE中。我们表明,当深度学习(DL)应用的功能规范依赖于时间轴时,这些困难在深度学习• 在最后一部分中,我们总结了我们提出的解决方案的原则,该解决方案包括使用从RTE形式化中提取的反应基元来扩展HPC编程。1.1启动高性能?用于实施RTE程序的形式和方法已经这些嵌入式控制系统的设计是安全的,并消除了人员或财产损失的风险,可能需要放弃对执行平台性能的充分利用,以达到所需的可在关键系统中经常被忽略的元素包括:• 硬件机制,如共享高速缓存、内存一致性、推测• 执行机制• 使代码难以解析和跟踪的优化,例如更高级别的优化(例如,从GCC/LLVM中的-O3开始相比之下,在HPC系统中,历史上主要关注性能,通常在包括典型测试用例的基准测试中根据经验进行测量。该设备通常在没有上述限制的情况下使用。因此,将81.1.1一个古老的问题随着时间的推移,这一挑战采取了不同的形式。例如,我们想到传统的信号处理应用,特别是在雷达的RTE或卫星遥测的这样的应用必须执行重要的计算(例如FFT),同时满足严格的要求(响应时间、存储器占用等)。因此,他们依赖于专门的生态系统,无论是基于目标的HPC库(例如实现BLAS[37]标准)还是特定于域的编译器(因此,这些系统的HPC和RTE方面被分开处理,这可能导致鲁棒性问题;例如,实时系统的并行化和最近,数字孪生--为了预测性维护或预测性控制的目的而实时模拟物理系统的功能--已经占据了相当大的位置。特别是,数字双胞胎被嵌入到能源生产设施或航空电子设备中,在实时约束下处理数据是一个中心挑战[10]。1.1.2L’heureL’essor des réseaux de neurones profonds (DNNs, 例如,它们越来越多地出现在数字双胞胎中。[65] 这些应用领域之间的联系也是双向的:在强化学习(RL)循环中使用预测模型[57],世界模型[44]被认为将在未来发挥核心作用[25]。更一般地说,DL作为机器学习(ML)的一个分支• 由于这些技术和方法的惊人结果,9它们正在变得更加普遍,依赖它们的工业部门必须加快执行,尽管存在困难。• 由于"智能"嵌入式计算的民主化(智能手机、物联网、家庭自动化伴侣、自动或半自动车辆......), 这种需求也 在 数 百 万 ( 或 数 十 亿 ) 个 人 的规模上表达,尽管其关键程度各不相同。然而,DL所基于的技术在某些方面,它们甚至采取了与应用程序可移植性明显不同的方法,我们将在后面讨论这些方法1.1.3L’embarquement des ANNs/DNNs : une ques-tion与人工神经网络相关的基本见解是通过与生物神经元的类比引入的,可以追溯到20世纪40年代。 Rosen Blatt在1958年的感知器[87]表明,一个人工系统可以从经验中学习,这种学习在1965年开始深入,第一次定义了由不同计算层组成的网络。[53] 域20世纪80年代末,当梯度反向传播算法被成功地实现以训练多层感知器(MLP)和等效递归神经网络(RNN)时,它终于起飞了。 L’arri- véedes réseaux虽然因此,有必要采用坚定地以性能为导向的方法来HPC的科学和技术发展水平也必须允许使用计算能力、存储和计算能力[1]这尤其是收敛速度和结果精度之间的折衷的情况,基于该折衷来选择DNN的学习步骤。[54]10所需的通信速率2.特别是数据处理的并行化发挥了重要作用。一旦达到这一临界点,并证明了它们的有用性,人工神经网络就能够扩展和多样化,超越监督学习特别是,它们在RL循环中的结合,其中学习由应用环境提供的奖励信号指导,已经变得越来越重要。 通常被认为是嵌入式的,包括关键的,这些实现了传统上与RTE世界相关的选择。1.2RTE和DL/HPC:两个不同的领域嵌入式高性能的主要困难1.2.1静态校正保证与增量RTE系统的设计旨在确保它们不仅在功能上是正确的,而且还满足它们所服从的非功能要求(例如,实时要求、可携带性要求)。 这些系 统 可 能 是 关 键的,并受到重要的物理约束:核电站、飞机、 卫星等。 因此,我们根据 最 坏 情 况 分 析 ( WCA ) 对 它 们 进 行 推 理 , 以 获 得 对 它 们 运 行 的 终端的保证,无论它们是时间上的(反应时间) 还是时间上的(响应时间)。2提供足够数量的培训数据也是一个YannLe Cun告诉我们,贝尔实验室提供了美国邮政收集的9298张手写数字图像,这使他的研究有了真正的质的飞跃。今天,在嵌入式DL的几个工业应用中仍然必须达到同样的里程碑,在这些应用中,缺乏构成的数据集是一个真正的因素[13]。3其中人工神经网络通过从标记为和人类操作员。11系统对刺激的响应)、能量(系统在执行过程中消耗的能量)或存储器大小。L’optimisation 通常,它的目的不是最小化或最大化成本目标,而是帮助另一方面,HPC工作主要集中在针对平均情况优化程序,以最大限度地这为使用优化和执行机制开辟了道路,这些优化和执行机制由于这种高的时间可变性,我们通常情况下,所涉及的硬件和/或HPC执行机制的精确规范在这种情况下,通过静态分析只能确保功能校正编译HPC程序包括通过一系列"编译过程"增量地转换代码,同时保留其功能语义。每一次编译都在更低的抽象级别应用优化和/或重写代码,离规范语言更远,离实现级别更近。因此,我们–关于HPC代码可预测性的工作已经存在,甚至 在存在诸如推测执行[42]、cac hes一致性[49]、动态UE调度[109]、无序执行[104]或SP特定硬件体系结构[15]之类的高时变机制的情况下。然而,这种协调性能和可预测性的研究仍需在实践中实施,而且无论如何,它缺乏HPC 优化所需的系统性,只考虑了某些方面。121.2.2任务并行性与数据HPC方法主要侧重于 它通过不同形式的并行化利用常规处理,如b循环嵌套[11]:矢量化/-SID、硬件和软件管道、多核并行化、神经加速器中的收缩网络等。性能提升所依赖的与机器的联系非常紧密。特别是在DL的上下文中,并行性是普遍存在的:• 在规范级别。最常见和最昂贵的DL操作是非常并行的,就像卷积一样此外,通过批处理进一步提高了规范的并行性水平。• 在编译层。除了将高级操作编译线性代数),旨在最大化计算吞吐量另一方面,RTE方法主要针对具有任务并行性的假设低级代码被封装在少量的任务中,这里的目标是确保这些任务的编排,以确保它们的执行,同时满足执行时间、操作安全性等要求。每个任务通常以非常抽象的方式描述,使用具 有 非 功 能 特 征 ( 如 最 坏 情 况 执 行 时 间 ( W C E T ) 、 最 坏内 存 消 耗 等 ) 的 顺 序 ( 很 少 是 并 行 ) 代 码 。任务层次结构及其交互通常以数据流图(DF)的形式描述如果DF范式在这两个世界中使用,那么它的使用1.2.3反应性与变革性HPC与转型范式。DL/HPC程序通常是经典函数:提供输入,使用输入执行一系列计算,然后返回一次,直到13所有人,他们的结果。如果要对其他输入进行相同的计算根据Harel和PNueli[48]的分类,我们谈论变换系统。图像分类的问题给出了这种行为的直观性:应用程序接收图像作为输入,并返回它分配给图像的标签作为输出。在处理没有时间维度的数据(如一组照片)时,很自然地将其处理设计为对每个数据/照片单独调用函数。在一个邻近的寄存器中,监督训练的原理本身即使在今天,用于描述其行为的数据流形式(例如Keras[60] 5、PyTorc h[84]、JAX[56])也带有这种起源的然而,当处理具有时间维度的数据时在视频、镜头等方面),这种转换模型变得违反直觉,在某些条件下,适得其反。RTE和反应范式。相反,RTE系统是被动的。它们的功能是不断地对外界刺激作出反应典型的这些反应的计算通常受到非功能性要求的影响,例如实时性(例如,反应的计算以PLA TO[1]卫星为例,该卫星由巴黎天文台的LESIA开发,欧空局计划于该仪器设计用于探测某些恒星适居带内的系外行星,其规格• 由连接到每个DPU的两个摄像机获取的数据[4]LeNet网络[27],第一个在贝尔实验室建造的Cun被设计用来对手写数字进行分类5 Keras是TensorFlo框架之上的高级API。14每25秒读取一次每6.25秒采集一次部分数据;• 对图像进行处理以提取光的曲率、中心轴和• 这些精细的数据被传送到需要压缩数据并将其发送到地面的部件(通过将其写入仪器的遥测数据• 第二种算法与更快的摄像机相连,每2.5秒进行一次学习L’ensemble est une application响应式系统的任务并行性通常通过专用语言和形式来强调,例如同步无人机[7]和数据浮动形式。1.2.4数据流范例的不同用途尽管HPC和RTE社区之间存在相对的不渗透性,但它们都在规范级别使用数据流范式。它在这两个领域的使用方式非常不同:• 同步数据流形式,如Scade/Lustre[8,45]和基于Simulink的图形形式,用于描述复杂任务系统的响应行为。相关任务系统)。• 用于规范DL模型(如Keras)的数据流形式主义描述了通常包含高度循环行为(如迭代)但本质上是转换行为的函数。这 种 二 分 法 实际上存 在 于 数 据 流 范 式 中 ,只 要 它被 J. Dennis 在1974/1975年,介于描述反应式硬件体系结构的数据流图和数据流图之间6个较小的图像,裁剪以聚焦在目标恒星上
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功