异构计算已经成了半导体业界不得不思考的一个话题,传统通用计算的性能捉襟见肘,过去承诺的每隔一段时间芯片性能翻倍的豪言壮语已经没有人再提了。如今我们用到的手机中,各种除CPU以外的计算单元层出不穷,无论是神经网络处理器还是图像处理器。
异构计算的存在可以说创造了另一个维度,这个维度上我们又有了堆性能的空间,小至手机SoC、汽车芯片,大到服务器芯片和超算处理器,异构带来了更大的算力。但与此同时,异构计算也带来了一些潜在的问题。
异构计算的崛起
异构计算其实早在计算机时代的早期就开始零星出现了,比如英特尔在80年代推出的浮点协处理器(FPU)i487,Inmos./ST在1996年推出的多媒体加速器Chameleon等等。转眼进入了新世纪,异构出现的频率也越来越高,2010年苹果推出了首个自研的处理器A4,将CPU、GPU和其它加速器集成至一起。在超算领域,加速器和协处理器也数量也在逐步增加。
全球超算系统加速器/协处理器的应用趋势 / TOP500
2020年以后,各国的超级计算机计划都定位在了Exascale的百亿亿级别,要想实现目标,要么靠堆核心规模来堆性能,要么就是选择异构计算。如今前十的超算系统中,有一半以上都采用了CPU+GPU的异构设计。
明眼人都能看出,这种CPU+GPU的异构设计也开始变得愈发紧密,比如英伟达今年宣布的Arm CPU Grace,该处理器靠着英伟达专利互联技术NVLink的加持,成功将CPU与GPU之间的互联速度做到了夸张的900GB/s,是传统PCIe的10倍以上,CPU更是靠LPDDR5X实现了500GB/s的内存带宽。
非传统的架构更是层出不穷,Graphcore的IPU、谷歌的TPU、矢量引擎和FPGA等等,相信XPU的命名形式马上就要用完26个字母了。促使大家选择异构的动力究竟是什么?答案很简单,异构给到了一个更高效的方案,能够实现的算力更高。既然你CPU在计算上落后了,我GPU自然要上位,更何况我还有这么多成熟的I/O和互联技术为我撑腰。
异构计算真就完美无缺?
异构计算就真的如此完美吗?并非如此。异构计算的存在其实也引出了不少隐患,比如极度差异化的编程模型,从过去的单向编程转为了多向编程。因为异构系统中存在多个计算设备,又有着不同的系统架构、指令集和编程模型,因此异构系统的编程与传统的CPU编程相比有很大的差距。通常来说,异构混合计算系统需要多套不同的代码,这增大了应用开发的难度,纸面参数是好看了,却苦了软件开发者。
IPU / Graphcore
其次,GPU、FPGA和AI处理器厂商都推出了截然不同的加速器方案,这些方案不仅仅采用了自己专用的处理器架构,还有自己的执行指令和编译器。在这样不统一的架构下,将并行程序移植到异构处理器上需要的可不只是重新编译,还有代码重写。也正因如此,HPC的代码生态虽然不弱,但近半数以上可能永远都不会被移植到其他加速器上,甚至这一部分工作量还分摊到了加速器厂商的软件开发工作量上。
所以,必须得使用优秀的软件栈,这样才能让开发者充分利用异构处理器的计算资源,而不用在编程时考虑复杂的硬件细节。现在已经有了不少跨平台的编程标准,比如C++/Fortran、OpenMP、SYCL和Kokkos等。
最后是复杂的数据存取过程,异构带来的不仅是不同层级的计算架构,还有不同层级的存储架构,比如主存储、主缓存、设备主存、设备缓存和寄存器等等。数据要在多种存储类型之间移动,程序执行要在同时对多种存储进行存取,这些存储方式的带宽和延迟也不尽相同。
异构计算的未来
在近期举办的CIUK 2021大会上,HPC研究组的Simon McIntosh-Smith教授发表了他自己对异构计算未来的看法。他认为异构计算的趋势还将继续发展下去,差异化不会消失,但也不会出现极度差异化的情况。
其次CPU与GPU的关系将更加紧密,比如缓存一致和封装集成等,其他加速器在特定场景下声称的性能数据都很优秀,但要说通用计算性能,GPU还是要略胜一筹。而且依目前的趋势来看,CPU也在慢慢汲取GPU上的优点,比如HBM、宽矢量处理器的核心、核心内部的加速器等等。编程的困境固然已经有了改善的迹象,但还有一段长路要走。
异构计算的存在可以说创造了另一个维度,这个维度上我们又有了堆性能的空间,小至手机SoC、汽车芯片,大到服务器芯片和超算处理器,异构带来了更大的算力。但与此同时,异构计算也带来了一些潜在的问题。
异构计算的崛起
异构计算其实早在计算机时代的早期就开始零星出现了,比如英特尔在80年代推出的浮点协处理器(FPU)i487,Inmos./ST在1996年推出的多媒体加速器Chameleon等等。转眼进入了新世纪,异构出现的频率也越来越高,2010年苹果推出了首个自研的处理器A4,将CPU、GPU和其它加速器集成至一起。在超算领域,加速器和协处理器也数量也在逐步增加。
全球超算系统加速器/协处理器的应用趋势 / TOP500
2020年以后,各国的超级计算机计划都定位在了Exascale的百亿亿级别,要想实现目标,要么靠堆核心规模来堆性能,要么就是选择异构计算。如今前十的超算系统中,有一半以上都采用了CPU+GPU的异构设计。
明眼人都能看出,这种CPU+GPU的异构设计也开始变得愈发紧密,比如英伟达今年宣布的Arm CPU Grace,该处理器靠着英伟达专利互联技术NVLink的加持,成功将CPU与GPU之间的互联速度做到了夸张的900GB/s,是传统PCIe的10倍以上,CPU更是靠LPDDR5X实现了500GB/s的内存带宽。
非传统的架构更是层出不穷,Graphcore的IPU、谷歌的TPU、矢量引擎和FPGA等等,相信XPU的命名形式马上就要用完26个字母了。促使大家选择异构的动力究竟是什么?答案很简单,异构给到了一个更高效的方案,能够实现的算力更高。既然你CPU在计算上落后了,我GPU自然要上位,更何况我还有这么多成熟的I/O和互联技术为我撑腰。
异构计算真就完美无缺?
异构计算就真的如此完美吗?并非如此。异构计算的存在其实也引出了不少隐患,比如极度差异化的编程模型,从过去的单向编程转为了多向编程。因为异构系统中存在多个计算设备,又有着不同的系统架构、指令集和编程模型,因此异构系统的编程与传统的CPU编程相比有很大的差距。通常来说,异构混合计算系统需要多套不同的代码,这增大了应用开发的难度,纸面参数是好看了,却苦了软件开发者。
IPU / Graphcore
其次,GPU、FPGA和AI处理器厂商都推出了截然不同的加速器方案,这些方案不仅仅采用了自己专用的处理器架构,还有自己的执行指令和编译器。在这样不统一的架构下,将并行程序移植到异构处理器上需要的可不只是重新编译,还有代码重写。也正因如此,HPC的代码生态虽然不弱,但近半数以上可能永远都不会被移植到其他加速器上,甚至这一部分工作量还分摊到了加速器厂商的软件开发工作量上。
所以,必须得使用优秀的软件栈,这样才能让开发者充分利用异构处理器的计算资源,而不用在编程时考虑复杂的硬件细节。现在已经有了不少跨平台的编程标准,比如C++/Fortran、OpenMP、SYCL和Kokkos等。
最后是复杂的数据存取过程,异构带来的不仅是不同层级的计算架构,还有不同层级的存储架构,比如主存储、主缓存、设备主存、设备缓存和寄存器等等。数据要在多种存储类型之间移动,程序执行要在同时对多种存储进行存取,这些存储方式的带宽和延迟也不尽相同。
异构计算的未来
在近期举办的CIUK 2021大会上,HPC研究组的Simon McIntosh-Smith教授发表了他自己对异构计算未来的看法。他认为异构计算的趋势还将继续发展下去,差异化不会消失,但也不会出现极度差异化的情况。
其次CPU与GPU的关系将更加紧密,比如缓存一致和封装集成等,其他加速器在特定场景下声称的性能数据都很优秀,但要说通用计算性能,GPU还是要略胜一筹。而且依目前的趋势来看,CPU也在慢慢汲取GPU上的优点,比如HBM、宽矢量处理器的核心、核心内部的加速器等等。编程的困境固然已经有了改善的迹象,但还有一段长路要走。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
异构
+关注
关注
0文章
35浏览量
12958 -
异构计算
+关注
关注
2文章
93浏览量
16159
发布评论请先 登录
相关推荐
高通NPU和异构计算提升生成式AI性能
异构计算的重要性不可忽视。根据生成式AI的独特需求和计算负担,需要配备不同的处理器,如专注于AI工作负载的定制设计的NPU、CPU和GPU。
科学计算与Julia技术研讨会 | 张先轶:从OpenBLAS到异构计算软件栈
蓬勃发展,新兴科学计算语言不断涌现,Julia以其高性能、动态性成为其中的佼佼者。 12月9日上午1020 ,澎峰科技创始人 张先轶博士 将 在 主论坛:Julia与数字化和AI 上 作 “ 从OpenBLAS到异构计算软件栈” 主题演讲,期待与大家见面 ! 研讨会完整详
带你探索吹风筒的前世今生【其利天下高速风筒方案开发】
电吹风作为如今生活中不可或缺的小家电之一,这个看似简单的设备,已经走过了漫长的发展历程,从它的前世到今生,经历了许多变革和创新,本文将带您穿越时间,探索其前世
异构计算为什么会异军突起?基于FPGA的异构计算讨论
简单的介绍几个概念,同道中人可以忽略这一段。云计算取代传统IT基础设施已经基本成为业界共识和不可阻挡的趋势。
发表于 10-26 10:04
•252次阅读
异构时代:CPU与GPU的发展演变
异构计算是指在一个系统中使用不同类型的处理器来执行不同的计算任务,以提高性能,效率和可靠性。随着摩尔定律的放缓,单一类型的处理器已经难以满足日益增长的运算需求。与此同时,不同类型的处理器具有各自
新一代计算架构超异构计算技术是什么 异构走向超异构案例分析
超异构计算架构是一种将不同类型和规模的硬件资源,包括CPU、GPU、FPGA等,进行异构集成的方法。它通过独特的软件和硬件协同设计,实现了计算资源的灵活调度和优化利用,从而大大提高了计算
发表于 08-23 09:57
•452次阅读
异构计算场景下构建可信执行环境
本文转载自 OpenHarmony TSC 《峰会回顾第4期 | 异构计算场景下构建可信执行环境》
演讲嘉宾 | 金意儿
回顾整理 | 廖涛
排版校对 | 李萍萍
嘉宾简介
金意儿,华为可信计算
发表于 08-15 17:35
Chiplet架构的前世今生
和异构计算也逐渐从头部大厂偶尔为之的惊鸿一现,演变为高性能芯片的新常态。 与此同时,一场席卷全球的AIGC竞赛,加剧了高性能芯片的需求。面对昂贵且一票难求的高性能赛道,新入局者不得不寻求更经济和更快速的方式,从而反哺了chiplet生态。 接口:C
PrimeSimSPICE:异构计算模型实现数量级性能突破
随着对更高计算性能的需求不断增加,HPC 行业正朝着异构计算模型发展,其中 GPU 和 CPU 协同工作以执行通用计算任务。在这种异构计算模型中,GPU 充当 CPU 的加速器,以减轻
【技术分享】蓝牙技术的前世今生
蓝牙是一种支持设备短距离通信的低功耗、低成本无线电技术。它利用短程无线链路取代专用电缆,便于人们在室内或户外流动操作。那么这种技术为什么叫蓝牙?又历经了怎样的发展?本文将带你了解蓝牙技术的前世今生
蓝牙技术的前世今生
蓝牙是一种支持设备短距离通信的低功耗、低成本无线电技术。它利用短程无线链路取代专用电缆,便于人们在室内或户外流动操作。那么这种技术为什么叫蓝牙?又历经了怎样的发展?本文将带你了解蓝牙技术的前世今生。
评论