《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 业界动态 > 百度发布XPU:AI云计算加速芯片(基于FPGA,256核心)

百度发布XPU:AI云计算加速芯片(基于FPGA,256核心)

2017-08-24
关键词: 百度 FPGA XPU Xilinx

640.jpg

△ 百度解释了FPGA上AI和数据分析工作负载的情况

在加州Hot Chips大会上,百度发布XPU,这是一款256核、基于FPGA的云计算加速芯片。合作伙伴是赛思灵(Xilinx)。百度也在这次的大会上,透露了关于这款芯片的更多架构方面的细节。

过去几年,百度在深度学习领域,尤其是基于GPU的深度学习领域取得了不错的进展。而且,百度也在开发被称作XPU的新处理器。

百度研究员欧阳剑表示,百度设计的芯片架构突出多样性,着重于计算密集型、基于规则的任务,同时确保效率、性能和灵活性的最大化。今天,他在Hot Chips大会上与来自FPGA厂商Xilinx的人士一同发布了XPU。

641.jpg

△ 百度去年宣布采用Xilinx Kintex UltraScale FPGA加速数据中心的额机器学习应用

XPU的目标是在性能和效率之间实现平衡,并处理多样化的计算任务。FPGA加速器本身很擅长处理某些计算任务,但随着许多小内核交织在一起,多样性程度将会上升。

欧阳剑表示:“FPGA是高效的,可以专注于特定计算任务,但缺乏可编程能力。传统CPU擅长通用计算任务,尤其是基于规则的计算任务,同时非常灵活。GPU瞄准了并行计算,因此有很强大的性能。XPU则关注计算密集型、基于规则的多样化计算任务,希望提高效率和性能,并带来类似CPU的灵活性。”

目前XPU有所欠缺的仍是可编程能力,而这也是涉及FPGA时普遍存在的问题。到目前为止,XPU尚未提供编译器。不过欧阳剑表示,该团队将会很快开发一款编译器。

欧阳剑还表示

为了支持矩阵、卷积,以及其他大大小小的内核,我们需要一个配备高带宽低延时内存,以及高带宽I/O接口的大型数学阵列。FPGA中XPU的DSP单元提供了并行处理能力,片外DDR4和HBM接口优化了数据传输,而片上SRAM则提供了必要的存储特性。

在Micro Benchmark测试中,对于计算密集型、常规内存访问的计算任务,XPU的效率与x86内核类似。对于数据同步的计算任务,XPU的可扩展性应当可以进一步优化。而对于没有数据同步的计算任务,XPU的可扩展性与核心数量呈线性关系。

这就是问题所在。如前所述,XPU仍然没有配备编译器。这款处理器在FPGA上实现,通过订制的逻辑电路提供指令。这些小核心类似于CPU,开发者只能使用汇编语言,而所有的执行都由主机来控制。整个流程包括拆分计算任务,编写XPU代码,调用专用的逻辑函数,从而在Linux平台上进行编译和运行。

642.jpg

643.jpg

△ XPU具有256个内核,集成了一个共享内存用于数据同步。所有内核都运行在600MHz。

欧阳剑称:“在百度,我们使用FPGA已有多年时间。我们的数据中心、云计算平台和自动驾驶项目中有大量FPGA。我们非常了解FPGA的优缺点,以及如何优化。凭借XPU的大型核心,我们专注于多样化的计算任务。”

去年有媒体报道了基于百度深度学习SDA的SQL加速器。当时的数据流基于SA架构。根据欧阳剑的描述,这也是XPU内存带宽和延时优势的核心。

欧阳剑同时展示了今年完成的一些benchmark测试,但信息非常粗略。不过,这只是百度第一次公开展示XPU。

如果XPU被证明可以用于AI、数据分析、云计算和无人驾驶,那么百度可能需要用ASIC技术去开发XPU。


本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。