日前,中国华夏芯公司宣布,其异构计算处理器IP核已经在硅片上成功实现,并已通过HSA(异构系统架构)一致性测试。公司还宣布了新的机器学习和深层神经网络的开源项目,旨在进一步推动HSA异构计算的发展。本次华夏芯推出的产品则是国内企业在异构计算上的技术突破,并有望在人工智能、机器视觉、工业4.0、移动通信、无人机等领域推广应用。
什么是异构计算
同构计算是使用相同类型指令集和体系架构的计算单元组成系统的计算方式。而异构计算主要是指使用不同类型指令集和体系架构的计算单元组成系统的计算方式,常见的计算单元类别包括CPU、GPU、DSP、ASIC、FPGA等。异构计算用简单的公式可以表示为“CPU+XXX”,究其本质而言Cpu+本质上指的是单核与多核能力的提升。举例来说,AMD着力发展的APU就属于异构计算,用公式表示就是CPU+GPU。
由于术业有专攻,CPU、GPU、DSP、ASIC、FPGA各有所长,在一些场景下,引入特定计算单元,让计算系统变成混合结构,就能让CPU、GPU、DSP、FPGA执行自己最擅长的任务。如果能做到无缝地将运行于CPU之上的通用计算、运行于GPU之上的并行计算、运行于DSP之上或者ASIC/FPGA之上的优化计算整合在一起,就能获得更好的应用性能,更低的功耗等特性,相对于同构计算而言也可能有一定性能优势。
在超算上已经得到广泛应用
其实,异构计算对大家而言并不陌生,在TOP500刷榜的天河2号和神威太湖之光都采用了异构计算。其原因就在于异构计算能带来很高的性能和性能功耗比,以天河2号的一个计算节点为例。
Xeon E5的满载功耗达145W,双精浮点为0.21T Flops,而Xeon PHI功耗300W,双精浮点达1T Flops。
天河2号一个计算节点由2片Xeon E5和3片Xeon PHI,理论双精浮点性能为3.42T Flops,功耗为1190W,理论双精浮点性能与功耗的比值为2.87GFlops/W。相同功耗下使用8片Xeon E5只能获得1696Gflops的理论双精浮点性能,理论双精浮点性能与功耗的比值为1.42GFlops/W。从数据可以看出,在同等功耗下,在使用Xeon PHI加速后,理论双精浮点性能与是只使用Xeon E5的2倍。
正是因为异构计算在理论上有着诸多的优势,一些媒体将“CPU+XXX”称为下一代处理器。
指令集自主开发
HSA协会正在推动异构计算向各个方面普及,而华夏芯则是其中的一份子,共同推动异构计算向越来越多的领域普及。
也许很多人从来没有听说过华夏芯这样一家公司,但该公司确实是中国第一家从事异构计算处理器IP核设计的集成电路企业——华夏芯公司是一个定位于全球市场的中国公司,研发团队的来源也是全球化,但是从技术到人才都掌握在华夏芯手中,比如华夏芯的3合1“ Unity”体系架构是其独创技术,在同行业中也处于领先地位。
更难得的是,华夏芯并没有像一些商业公司那样购买ARM指令集,而是公司自主开发的指令集、微结构和工具链。因此,在自主创新能力上,和一些购买ARM IP授权开发所谓“国产”CPU的国内厂商有着本质上的区别。
可以对外授权IP
华夏芯公司最近发布了一系列新的IP授权产品,在全球范围授权IP,为客户提供一流的处理器设计技术。所有华夏芯的处理器均支持HSA。对此,华夏芯的董事长李科奕表示,“我们很高兴地看到华夏芯的新IP核通过了PRM HSA一致性测试,面向工业、物联网、高级驾驶辅助系统(ADAS)和嵌入式系统,该IP核对功耗进行了优化并向全球提供许可”。
据了解,华夏芯还是中国唯二的可以对外授权IP的处理器公司(另一家是龙芯),在中国大多数CPU公司还处于购买国外IP做集成的时代,华夏芯能够自己开发IP并且能够对外授权就显得尤为难得。目前,华夏芯的CPU核可以通过IP授权的方式提供给客户,第一款CPU已经在台积电使用28nm HPC制成工艺流片,2016年第3季度提供给潜在客户作为评估或开发之用。
在技术创新上可圈可点
本次在硅片上实现的IP核是华夏芯3合1“ Unity”体系架构的首次实现。Unity具有包括图像和视频处理在内的多维信号处理能力。华夏芯美国研发中心的CTO Mayan Moudgill博士表示,“矢量处理长度可依据矢量计算的需求动态设置,最大配置达到64KB,满足各种智能化应用和高性能计算对并行计算的要求,保证了指令架构的稳健性和软件代码的移植性。变长矢量处理单元(VPU)在进行大量数据处理的同时,结合了低功耗、乱序执行流水线等多项先进技术,从而使多个控制线程高效地执行”。
值得关注的是,在华夏芯面向全球发布上述消息2天之后,ARM也发布了与其类似的V8-A的矢量扩展架构(SVE),其技术特征与华夏芯推出的VPU单元极为相似。这说明,真正从事自主创新的国产处理器设计公司完全可以在核心技术上达到国际领先水平,其创新能力要远远优于那些通过IP授权设计CPU的公司,毕竟后者在自主创新的空间上受到授权许可方极其严苛的各种限制和制约。
和SOC有哪些不同
在市场上有很多SOC也集成了CPU、GPU、DSP等计算单元,比如像高通骁龙芯片、华为海思麒麟芯片都集成了CPU、GPU和DSP。那么华夏芯与这些SOC有哪些不同呢?
之前提到的SOC的CPU、GPU、DSP的指令架构不同,微架构不同,工具链不同,是基于多核集成做出来的异构多核芯片,它们往往采用操作系统完成多核、多任务之间的同步与协调,因而会影响效率。在这里特别强调一下,传统的SOC多核编程非常难,虽然在物理上实现了单芯片多核集成,但是在开发习惯和流程上与传统的板上集成系统没有太大的不同,即性能不高,功耗不小,多套工具,多个团队,开发困难,优化更难。
相比之下,基于华夏芯Unity架构的芯片单核已经具备CPU、IVP(image and video processor)、DSP的处理能力,而且是一套指令架构,一套微架构,一套工具链。在做多核扩展、硬件加速器和FPGA的整合工作时,华夏芯的Utility体系架构将完全遵循HSA的规范,可以重用HSA的软件生态系统。因此,华夏芯的3合1做法在功耗、成本、性能、软件开发门槛、团队规模等方面都有巨大的优势。
将被用于机器学习
由于机器学习的算法在许多应用中被使用,且大多数算法代理(agent)需要高度并行计算,这就导致HSA平台正是这些算法的理想选择,特别是华夏芯CPU+DSP+IVP的特性使其拥有性能功耗比方面的优势。也正是因此,Parmance公司计划与华夏芯在ML-HSA项目上进行合作——该项目面向机器学习和深层神经网络,并针对华夏芯此前发起的开源gccbrig项目进行优化,gccbrig项目为任何支持GCC的平台提供编译(终结转换)功能。
至于华夏芯是否会遭遇软件生态的掣肘,HSA协会主席兼华夏芯美国研发中心的CEO John Glossner博士认为,HSA的成员公司无需单独建设生态系统,而是由包括全球主要处理器厂商在内的HSA联盟一起共建生态系统,在这种情况下,成功的概率要高很多。“在过去的四年中,HSA联盟已经开发了硬件和软件基础架构来支持异构系统。开发者生态系统支持编译器、运行时(runtime)等开源实现。HSA联盟还致力于提供跨HSA平台的可移植应用。我很高兴华夏芯能够参与HSA开发者和应用编程生态系统”,John表示。
结语
虽然在CPU、GPU、DSP等传统芯片上,中国与西方还有这比较大的差距,但在异构计算处理器上,中国与国际先进水平差距小,甚至在某些领域还处于领先,比如继天河2号之后,国产超级计算机神威太湖一号再次登顶世界TOP500,成为世界上运算速度最快的计算机。本次华夏芯成功研发的异构计算处理器则是中国在该领域的有益尝试。在此,笔者衷心祝愿华夏芯以及龙芯、申威等从事自主创新的处理器公司能够在我们这一代人的手上完成国产自主处理器的创新和领先,彻底解决国家信息安全受制于人,信息产业发展受制于人的困境。