没有合适的资源?快使用搜索试试~ 我知道了~
优化众核处理器上的数据传输,应用于密集线性代数和模板计算引用此版本:胡明权优化众核处理器上的数据传输,应用于密集线性代数和模板计算。性能[cs.PF]。格勒诺布尔-阿尔卑斯大学,2018。英语NNT:2018GREAM042。电话:02426014HAL Id:tel-02426014https://theses.hal.science/tel-024260141 Jan 2020HAL是一个多学科的开放获取档案馆,用于存放和传播科学研究文件,无论它们是否已这些文件可能来自法国或国外的教学和研究机构,或来自公共或私人研究中心。L’archive ouverte pluridisciplinaireTHAPOSE为了获得等级DOCTEUR DE LA格勒诺布尔阿尔卑斯大学专业:信息Arrêté ministériel:25 mai 2016Présentée par胡明权Thèse dirigée parBernard TOURANCHEAU,UGA格勒诺布尔信息技术学院的课程设置信息科学与技术学院信息科学与技术学院优化多芯处理器、Algèbre Linéaire和支架优化众核处理器上的数据传输,应用于密集线性代数和模板计算Thèse soutenue publiquement le5 juillet2018,devant le jury composé de:Bernard TOURANCHEAU教授,格勒诺布尔阿尔卑斯大学,院长JOURL-BAUCOU先生南巴黎大学会议主持人,特别报告员弗朗西斯科·丹尼尔·伊瓜尔·佩纳大学助理教授COMPLUTENSE DE MADRID-ESPAGNE,特别报告员克里斯蒂安·奥布雷希特会议厅,里昂,审查员贝诺·杜邦·迪内钦KALRAY S.A.,DIRECTEUR DE LA EQUILLOGIE- MONTBONNOT-审查官圣马丁拉斐尔·库图里耶法国-孔德堡大学教授总统免责声明:本文件中表达的观点和意见是作者的观点和意见,不一定反映Kalray公司或格勒诺布尔阿尔卑斯大学,里昂应用科学国家研究所(INSA里昂)和克劳德·伯纳德·里昂大学的官方政策或立场。摘要即将到来的高性能计算(HPC)的百亿级目标和人工智能的颠覆性成就,催生了替代性的非传统众核架构,具有嵌入式系统的典型能效,并提供与经典HPC平台相同的软件生态系统。在众核架构上实现高能效计算的一个关键因素是利用数据局部性,特别是结合DMA引擎使用暂存存储器,以便重叠计算和通信。这种软件范例对供应商和应用程序开发人员都提出了相当大的在这篇论文中,我们解决了内存传输和性能问题,以及内存和计算密集型的高性能计算应用程序的编程挑战的Kalray MPPA众核架构。与第一个内存约束的使用情况下的格子玻尔兹曼方法(LBM),我们提供vide通用的和基本的技术,用于分解三维迭代模板问题到集群的众核处理器配备了暂存器存储器和DMA引擎。开发的基于DMA的流和重叠算法提供了33%的性能增益超过默认的基于缓存的实现。高维模板计算存在严重的I/O瓶颈和有限的片上存储空间。我们开发了一种新的就地LBM传播算法,它减少了一半的内存占用,并产生1.5倍高的性能,每字节的效率比最先进的就地算法。在密集线性代数计算的计算密集型方面,我们建立了一个基于利用暂存器和高效异步DMA通信的乘法基准该程序提供350 GFLOPS,或MPPA理论性能的86%。这些技术,然后扩展到一个DMA模块的BLIS框架,这使我们能够实例化一个优化和便携式的第三级BLAS数值库的任何DMA为基础的架构,在不到100行的代码。我们使用标准BLAS库中的矩阵乘法运算(GEMM)在MPPA处理器上实现了75%的峰值性能,而无需为相同的结果编写数千行费力优化的代码雷苏梅埃在人工智能中,计算高性能计算的Exascale(High PerformanceComputing-HPC)进程和实现该进程的方法不是在概念上出现交替架构,而是在系统中实现效率,但不是在逻辑上实现“equivalentauxplatformesHPCclassiques.Unfacteurcl'edeperceptiondecesar-chitectures`aplusieu rscæursestl'expl loitation de la l o cali t' e de don n 'ees, en p r ticulierl'utilisation de m ′ emoire l o cale(sc r at c hpad)en co m binaison a v ec des circuits d'ac c ` esdirect ` a la m ′ emoire(Direct Memory Access - DMA)afin de c he v au c her le calcul et lacommunication.Untelparadigmesou l`e vedesd'efisdeprogrammationconsi d'erables`alafoisaufabricanntetaud'evelop peurd'a application. 在这方面,我们考虑了在Kalray的多核MPPA体系结构上的HPC应用程序编程方面的问题,这些问题涉及到计算能力的提高,以及如何将这些问题转移到具有较高计算能力的内存中在我们的第一个应用案例中,我们使用了Boltzmann方法(Lattice Boltzmannmetho d - LBM),但没有使用任何技术来解决问题。我们支持流媒体和DMA上的recouvreme ntba s'e的算法,通过rap port`al'impl'emingntationbas'eesurlam'emoire可以获得33%的性能增益。对多边形网格的多维度网格计算不能直接影响到网格的数量/架次,也不能影响到网格的空间分布。Nousavonsd'evelop p'eunnouvelalgorithmedepropagationLBMsur-place(in-place).Ilcon-siste`atravaillersuranembryleinstancededon n′ees , aulieuxdedeux , r′eduisa ntdemoiti′el'emprei n te m ′ emoire et c ` ede un e efficaci t ′ e de performance-par- o ctet 1.5 fois meil l e u re par rap p ort ` a l ' algorithmetraditionnel dans l ' etat d e l'art.由于计算的强度非常高,因此我们可以使用一个基本的乘法器,它可以利用内存和DMA内存的通信该程序消耗了350 GFLOPS,因此MP PA的正确率为86%。 该技术使其成为一个基于DMA的框架,这使得我们可以在BLIS中使用一个类似于BLAS3(基本线性代数子程序)的书目,该书目可以在DMA上使用最多100个代码。我们最大限度地利用BLAS的矩阵乘法(GEMM)来计算MP PA的最大值75%,而不需要计算最优值的百万分之一。确认首先,我想表达我对我的顾问的敬意:Bernard Tourancheau的经验,耐心和方法研究指导; Christian Obrecht在数值模拟方面的专业知识,相关问题和对我所有作品的彻底纠正; Beno Bülıt Dinechin的渊博知识,动机和轻松的建议。我特别感谢审稿人和审查员的接受和他们的时间来研究我的手稿和我的博士论文答辩。我 还 要 感 谢 我 在 Kalray 和 LIG 的 同 事 : Julien Hascoet , NicolasBrunie ,JulienLemaire , RomarikJo din , J'erPastiomeReybert , PierreGuironnetdeMassas ,Cl'ementLeger , MichaelMercier , VanToanDao , BaptisteJonglez , Elo dieMorin ,Henry-Joseph Audeoud,Pierre Brunisholz,Timothy Claeys和许多其他人,感谢他们的善意,有趣的讨论,技术支持或咖啡休息和饼干。我要特别感谢德克萨斯大学SHPC小组的成员在奥斯汀:G场。作者声明:Robert A.感谢Van de Geijn、Devangi Parikh、Tyler Michael Smith和Devin Matthews的友好接触和宝贵讨论。如果没有足够的机会使用PLAFRIM实验测试平台,本手稿中的一些实验是不可能的,该平台是在波尔多INP,LABRI和IMB以及其他实体的支持下,在Inria PLAFRIM开发行动下开发的。我还要特别感谢Jacques Sicard,他是我的祖父母,在我的学习和生活中给予了我很多帮助,特别是在本文的艰难开始阶段感谢我的哥哥、我们的父母和家人对我的信任和不断的鼓励。敬我女儿艾薇。还有我的妻子琳谢谢你的爱和付出VII内容摘要v我的爱鸣谢.七图十三表15缩略语十七介绍11高性能计算:从单核到众核31.1导言. 41.2性能墙51.2.1频率墙51.2.2能量墙51.2.3记忆墙61.2.4软墙91.3摘要.102 格子玻尔兹曼方法(LBM)112.1背景122.1.1理论122.1.2内存要求132.2 传播算法142.2.1一步两格(OT)142.2.2一步一格(OO)152.3 摘要.163 基本线性代数子程序(BLAS)193.1背景203.1.1一.导言. 203.1.2通用矩阵乘法(GEMM)213.2 BLAS-like Library InstantiationSoftware(BLIS)23IX目录3.3 摘要.254 Kalray大规模并行处理器阵列(MPPA)274.1一.导言. 284.1.1公司284.1.2MPPA架构概述284.2 编程模型294.2.1分布式存储器POSIX-C294.2.2基于主机的OpenCL加速304.3 摘要31捐款335 在众核处理器355.1一.导言. 365.2 相关工作375.3 低级3D异步API385.4 集群众核处理器405.4.1全局算法405.4.2子域分布435.4.3局部子域尺寸435.4.4本地和远程复制索引管理455.5结果和讨论5.5.1MPPA47上的流水线3D LBM模板5.5.2业绩外推485.6 结论.506 就地LBM传播算法536.1导言. 546.2 双壁传播算法556.2.1算法556.2.2优点和局限性566.3 三壁传播算法576.4 实施情况586.4.1OpenMP596.4.2OpenCL606.5 结果和讨论616.5.1OpenMP616.5.2OpenCL646.6 结论.677众核处理器上的消息传递接口(MPI)697.1一、导言. 707.2相关作品707.3MPPA-MPI设计727.3.1MPI-进程间控制(MPIC)737.3.2MPI-进程间数据传输(MPIDT)73目录Xi7.4MPPA-MPI实现757.4.1MPI发送-MPI接收......................................................................................757.4.2MPI发送-MPI接收......................................................................................767.4.3优化767.5MPPA-MPI吞吐量建模787.6结果与讨论797.6.1CC间通信807.6.2CC-IOS通信807.6.3优化比较817.7MPPA-256上的高性能Linpack(HPL)827.8 限制和结论838 众核处理器上的通用矩阵乘法(GEMM)858.1一、导言. 868.2 POSIX-C86中的GEMM8.2.1算法868.2.2汇编级GEMM微内核888.3 OpenCL数据并行88中的GEMM8.4 GEMM in OpenCLPOSIX-like(Task-Parallel)908.4.1执行和存储器映射908.4.2目标代码或库8.5 结果928.6 结论.949 基于众核处理器的959.1一、导言. 969.2 相关工作979.3 第三级BLIS98的便携式DMA支持9.3.1算法概述989.3.2内存管理999.3.3异步DMA后端接口1019.3.4特殊案件处理9.4 实验结果1059.4.1硬件配置1059.4.2多核三级BLAS1079.4.3不同形状的多核xGEMM1089.5 结论. 110结论. 111BLIS RDMA后端:参考和MPPA实现115参考书目119图目录1.1摩尔1.2Top500榜单的预测业绩61.3处理器-内存性能差距61.4算术强度71.5Roofline Model81.6内存层次结构中的不同级别和延迟82.1LBMD3Q19模板。...................................................................................................122.2D3Q19 LBM应用于MPPA 2车顶模型。............................................................... 142.3D2Q9草图中LBM的传播方案。.............................................................................152.4压缩网格(移位)传播算法。................................................................................162.5AA模式的D2Q9版本。............................................................................................163.1矩阵乘法。................................................................................................................213.2BLIS基于Cache的分层设计。................................................................................ 244.1MPPA-256处理器概述。........................................................................................ 284.2OpenCL Data-Parallel:执行映射。.....................................................................304.3OpenCL Data-Parallel:内存映射。.....................................................................305.1MPPA Async API的一部分,用于3D传输。.......................................................395.22D copy的point2dt数据类型的图示395.33DLBM/模板分解。................................................................................................415.43深度管线(三重缓冲)。..................................................................................... 425.53DRow-major子域索引。.......................................................................................435.6光晕带宽比。............................................................................................................445.7二维中的本地/远程复制索引。..............................................................................465.8MPPA上的OPAL OpenCL与OPAL OpenCL。.................................................... 485.9OPAL的性能外推。................................................................................................. 506.1使用双墙算法在网格上进行在位更新。................................................................556.2D2Q9版本的双壁拉式方案。................................................................................. 566.3D2Q9版本三墙中拉方案。..................................................................................... 596.4D3Q19中两壁和三壁的共享内存OpenMP伪代码。............................................606.5异构内存的OpenCL实现两壁和三壁D3Q19中的墙。........................................................................................................616.6在CPU和KNL上比较OpenMP中的不同传播算法。............................................64XIII附图一览表6.7在OpenCL中实现的不同传播算法的比较CPU和GPU。...........................................................................................................667.1控制消息结构737.2MPPA-MPI组件和与通过MPPAIPC实现片上网络。..............................................................................747.3乒乓吞吐量MPI发送(PE内核)与MPI发送(DMA)。.............................. 807.4优化方法比较。.......................................................................................................827.5HPL目前的业绩(a)和外推(b)828.1流式平铺GEMM算法。............................................................................................878.2BLIS微内核。..........................................................................................................888.3OpenCLPOSIX类:动机。.................................................................................... 908.4OpenCL POSIX类:执行和内存918.5clLinkProgram()929.1BLIS基于Cache和DMA的分层设计。................................................................ 1009.2BLIS-RDMA的伪码通过五层。...........................................................................1009.3通用2D副本1029.4BLIS-RDMA后端接口1039.5SYMM105的DMA面板扩展要求9.6MPPA 2 -256上多线程3级BLAS的性能。......................................................... 1089.7MPPA2 -256上不同形状的多线程xGEMM的可扩展性。 109表的列表5.1子域的复制索引偏移和晕圈截止。........................................................................466.1两壁和三壁算法的数据需求估计。........................................................................586.2CPU和KNL上的编译标志和OpenMP上下文。....................................................626.3CPU和GPU上的OpenCL驱动程序和配置。.........................................................657.1MPIDT Level74中的MPI发送/接收实现7.2传输时间(周期)。................................................................................................808.1MPPA 2 -256上的GEMM-PDLC性能。............................................................... 939.1单线程3级BLIS-RDMA SMEM占用空间计算。................................................1029.2MPPA 2 -256上的3级BLIS-RDMA配置。......................................................... 106XV缩略词基本线性代数子程序。BLISBLAS-like Library Instantiation Software.中央处理器。DLA稠密线性代数GEMM一般矩阵乘法。GPU图形处理单元。HPC高性能计算。HPL高性能Linpack骑士登陆LAPACK线性代数软件包。LBM格子玻尔兹曼方法MPI消息传递接口。大规模并行处理器阵列。NUMA非统一内存访问。OpenCL开放计算语言。OpenMPOpen Multi-Processing。XVII表首字母缩略词列表PthreadsPOSIX threads.ScaLAPACK可扩展LAPACK。超长指令字。介绍这份手稿是一个为期三年的博士生在优化众核处理器上的科学应用方面的持久工作的成果本论文是由CIFRE合作(法国研究与创新部的研究驱动培训的工业公约)成立的,本文的前四章介绍了高性能计算(HPC)的发展现状、本论文的研究现状和研究目标,以及所研究的众核平台。本手稿中的贡献章节分为两个主要部分,按主题顺序而不是按时间顺序组织。第一部分介绍了优化三维格子玻尔兹曼方法(LBM)的数据传输和内存占用的方法第二部分集中在稠密线性代数(DLA)运算和相关的数值库,属于计算约束类。本文中的实验结果报告了Kalray大规模并行处理器阵列(MPPA)众核架构,以及其他最新的主流计算平台,如NVIDIA Pascal图形处理单元(GPU),英特尔至强Haswell非均匀内存访问(NUMA)中央处理单元(CPU)和英特尔至强PhiKnights Landing(KNL)处理器。本手稿中的一些贡献章节包含来自已发表和已提交论文的主要材料,也由本手稿作者撰写或合著这些文件是:1. Minh Quan Ho,Bernard Tourancheau,Christian Obrecht,Beno Müt Dupont deDinechin,andJ'erMünchomeRey bert.MPPA多核NoC上的MPI通信:设计,12建模和性能问题。在格哈德河。放大图片作者:Mark Parsons,Frans J.Peters和Mark Sawyer,编辑,并行计算:在通往Exascale的,并行计算进展的第27卷,第113-122页北京:清华大学出版社,2015.2. JulienHasc oéet、BenoıtDupontdeDine c hin、PierreGuironnetdeMassas和Minh QuanHo。群集众核处理器的异步单边通信和同步 第15届IEEE/ACM实时多媒体嵌入式系统研讨会论文集,ESTIMedia 2017,韩国首尔,2017年10月15日至20日,第51-60页, 2 0 1 7 年 。3. Minh Quan Ho,Christian Obrecht,Bernard Tourancheau,Benoit Dupont deDinechin,and Julien Hascoet.在众核处理器上用异步传输在2017年IEEE第36届国际个人计算机和通信会议(IPCCC)(IPCCC 2017),美国圣地亚哥,2017年12月。4. Minh Quan Ho,Christian Obrecht,and Bernard Tourancheau.在三维格子Boltzmann算法中,提出了一种新的并行在位更新算法. 2017年提交5. Minh Quan Ho , Benoit Dupont de Dinechin , Bernard Tourancheau , andChristian Obrecht.BLIS-RDMA:一种便携式高性能3级BLAS,用于基于DMA的众核架构。2017年提交
下载后可阅读完整内容,剩余1页未读,立即下载
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![.pdf](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 京瓷TASKalfa系列维修手册:安全与操作指南
- 小波变换在视频压缩中的应用
- Microsoft OfficeXP详解:WordXP、ExcelXP和PowerPointXP
- 雀巢在线媒介投放策划:门户网站与广告效果分析
- 用友NC-V56供应链功能升级详解(84页)
- 计算机病毒与防御策略探索
- 企业网NAT技术实践:2022年部署互联网出口策略
- 软件测试面试必备:概念、原则与常见问题解析
- 2022年Windows IIS服务器内外网配置详解与Serv-U FTP服务器安装
- 中国联通:企业级ICT转型与创新实践
- C#图形图像编程深入解析:GDI+与多媒体应用
- Xilinx AXI Interconnect v2.1用户指南
- DIY编程电缆全攻略:接口类型与自制指南
- 电脑维护与硬盘数据恢复指南
- 计算机网络技术专业剖析:人才培养与改革
- 量化多因子指数增强策略:微观视角的实证分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)