基于FPGA-Centric集群的加速器级并行体系结构研究
发布时间:2021-03-10 15:49
高性能计算已经成为众多科学和技术领域发展的主要助推力量,用于高性能计算的超级计算机也已经成为重要的基础设施。高性能计算的发展主线是发掘更多的计算并行度以加速算法的计算过程,高性能计算机的硬件技术发展也秉承着同样的路线。最近几十年的高性能处理器硬件技术的发展从最初的增加处理器位宽的比特级并行(Bit-Level Parallelism,BLP),到追求乱序执行/超标量执行的指令级并行(Instruction-Level Parallelism,ILP),再到多核CPU和以GPU、Xeon Phi为代表的硬件加速器使用的线程级并行(Thread-Level Parallelism,TLP)和数据并行(Data-Level Parallelism,DLP)。从历史经验可以看到,当研究人员在一个粒度发掘并行度变得困难时就会转向去寻找更粗粒度的并行度。时至今日,继续沿着线程级并行和数据级并行的道路设计下一代高性能处理器已经变得愈发困难,因此业界不得不在更粗的粒度上寻找并行机会。威斯康辛大学麦迪逊分校的Mark D.Hill教授和哈佛大学的Vijay Reddi教授提出了加速器级并行(Accele...
【文章来源】:中国科学技术大学安徽省 211工程院校 985工程院校
【文章页数】:136 页
【学位级别】:博士
【部分图文】:
图1.2基因匹配计算的特征适合映射到脉动阵列的架构,易于在FPGA上实现??4??
世界的模拟仿真,故其数据分布和计算模式具??有天然的空间局部性。例如诸如计算流体力学模拟、分子动力学模拟等计算都体??现出明显的空间局部性:所有的计算都只作用于很小的邻域,体现为Stencil的??计算模式;所有的数据都按空间分布,可以方便地按照空间分解而不产生数据依??赖,计算单元频繁访问临近数据且较远距离的数据很少被涉及。这样的计算和访??存特征和FPGA的架构有着天然的亲和性:分布式的DSP单元访问分布式的片??上BRAM,保持数据的空间局部性就能实现高效的Stenci]计算(图1.3)。Martin??Herbordt基于FPGA实现了定制化的分子动力学加速器利用FPGA内的分??布式BRAM可以高效地实现分子动力学模拟中短程力的计算,分布式的BRAM??为短程力计算单元提供了更多可以并发访问的存储器接口,而GPU固定设计的??L2-Cache实现类似机制要付出很大的代价。Hamada[21]基于FPGA集群实现了??面向N-body计算的加速器,其中FPGA的逻辑被用于搭建专用的势能计算流水??线,而CPU端负责调用FPGA,实现了一定的可编程性。该方案在保证性能的??同时可供科研人员进行N-body计算算法的二次开发。??2.用于人工智能算法领域的FPGA加速器??最近10年的人工智能革命极大地改变了人类的生活。诸如人脸识别、语音??助手等应用都依赖于在线的高效的神经网络推理计算和精确离线训练所带来的??网络模型。人工智能算法的这两部分计算需求也在最近10年指引着可重构计算??领域的发展方向。由于人工神经网络中所有的运算的控制流简单,可以显式地表??示为数据流运算;且所有运算可以通用地转化针对张量的代数运算
?第1章绪?论???酬—??阌1.4微软Catapult项H的FPGA集群,用于加速微软必应搜索w??严?jy^_?,4〇gi?t?4—,??pin?k?rn?cd?I?^?II?^?I??ASIC?\?\??二-二?U????wm?1?為丨.呀固&??Mill-1?畢華??图1.5微软Brainwave项0的FPGA集群,用于神经网络的实时推埋|in|??项目都搭建了包含fpga的大规模计算集群并在很多具体应用上取得了显著的??性能提升。??微软公司的Catapult?VI项目(图1.4)中搭建了一个包含1632个服务器节点??的集群,每个服务器上集成了一块包含IntelStratix-V的FPGA加速卡,该加速??卡通过PCIe总线和Host?CPU相连。每48个服务器节点的FPGA器件间提供??2D?toms的直连网络。Catapult?VI集群被用于加速微软必应搜索引擎的排序算??法,在高通量测试中,该集群较传统超级计算机集群提升了?95%的处理能力。??微软公司后续的Brainwave项目(图1.5)中将FPGA用作智能网卡。Brainwave??基于传统的超级计算机集群的设计,利用FPGA的高带宽和可编程性来实时处??理网络数据流。从网络来的数据经过FPGA内的定制化硬件加速器预处理后才??被送给Host?CPU进行进一步的计算。利用上述设计的包含280个节点超级计算??机集群,微软完成了一系列人工智能神经网络的实时推理,实现了?10-35?Tflops??的性能。??欧盟白勺?ECOSCALE(Energy-efficient?Heterogeneous?Computi
本文编号:3074897
【文章来源】:中国科学技术大学安徽省 211工程院校 985工程院校
【文章页数】:136 页
【学位级别】:博士
【部分图文】:
图1.2基因匹配计算的特征适合映射到脉动阵列的架构,易于在FPGA上实现??4??
世界的模拟仿真,故其数据分布和计算模式具??有天然的空间局部性。例如诸如计算流体力学模拟、分子动力学模拟等计算都体??现出明显的空间局部性:所有的计算都只作用于很小的邻域,体现为Stencil的??计算模式;所有的数据都按空间分布,可以方便地按照空间分解而不产生数据依??赖,计算单元频繁访问临近数据且较远距离的数据很少被涉及。这样的计算和访??存特征和FPGA的架构有着天然的亲和性:分布式的DSP单元访问分布式的片??上BRAM,保持数据的空间局部性就能实现高效的Stenci]计算(图1.3)。Martin??Herbordt基于FPGA实现了定制化的分子动力学加速器利用FPGA内的分??布式BRAM可以高效地实现分子动力学模拟中短程力的计算,分布式的BRAM??为短程力计算单元提供了更多可以并发访问的存储器接口,而GPU固定设计的??L2-Cache实现类似机制要付出很大的代价。Hamada[21]基于FPGA集群实现了??面向N-body计算的加速器,其中FPGA的逻辑被用于搭建专用的势能计算流水??线,而CPU端负责调用FPGA,实现了一定的可编程性。该方案在保证性能的??同时可供科研人员进行N-body计算算法的二次开发。??2.用于人工智能算法领域的FPGA加速器??最近10年的人工智能革命极大地改变了人类的生活。诸如人脸识别、语音??助手等应用都依赖于在线的高效的神经网络推理计算和精确离线训练所带来的??网络模型。人工智能算法的这两部分计算需求也在最近10年指引着可重构计算??领域的发展方向。由于人工神经网络中所有的运算的控制流简单,可以显式地表??示为数据流运算;且所有运算可以通用地转化针对张量的代数运算
?第1章绪?论???酬—??阌1.4微软Catapult项H的FPGA集群,用于加速微软必应搜索w??严?jy^_?,4〇gi?t?4—,??pin?k?rn?cd?I?^?II?^?I??ASIC?\?\??二-二?U????wm?1?為丨.呀固&??Mill-1?畢華??图1.5微软Brainwave项0的FPGA集群,用于神经网络的实时推埋|in|??项目都搭建了包含fpga的大规模计算集群并在很多具体应用上取得了显著的??性能提升。??微软公司的Catapult?VI项目(图1.4)中搭建了一个包含1632个服务器节点??的集群,每个服务器上集成了一块包含IntelStratix-V的FPGA加速卡,该加速??卡通过PCIe总线和Host?CPU相连。每48个服务器节点的FPGA器件间提供??2D?toms的直连网络。Catapult?VI集群被用于加速微软必应搜索引擎的排序算??法,在高通量测试中,该集群较传统超级计算机集群提升了?95%的处理能力。??微软公司后续的Brainwave项目(图1.5)中将FPGA用作智能网卡。Brainwave??基于传统的超级计算机集群的设计,利用FPGA的高带宽和可编程性来实时处??理网络数据流。从网络来的数据经过FPGA内的定制化硬件加速器预处理后才??被送给Host?CPU进行进一步的计算。利用上述设计的包含280个节点超级计算??机集群,微软完成了一系列人工智能神经网络的实时推理,实现了?10-35?Tflops??的性能。??欧盟白勺?ECOSCALE(Energy-efficient?Heterogeneous?Computi
本文编号:3074897
本文链接:https://www.wllwen.com/shoufeilunwen/xxkjbs/3074897.html