“加速界的后起之秀”:Xilinx 可重构加速堆

作者:清风流云

自2012年维克托•迈尔-舍恩伯格及肯尼斯•库克耶编写的《大数据时代》问世之后,大数据这个词就越来越多的被提及,人们用它来描述和定义爆炸时代产生的海量数据。紧随其后数据挖掘,人工智能,机器学习,深度学习这些学科也出现在各大研究所、高校实验室,并迅速获得蓬勃发展。这些学科的出现与发展标志着数据爆炸时代的到来。究其缘由,针对这些学科的研究,不论是算法还是运算都面临着海量数据的处理,这几门学科均不是单纯的单领域的研究,都是多个领域交叉学科的研究,涉及概率论,统计学,逼近论,凸分析,密码学,仿生学等等多门学科。随后,针对这些学科数据处理的算法大量涌现,对算法运行速度的要求也越来越高,所以,对算法的硬件加速器设计,对数据处理的硬件加速器设计就变得十分迫切。

Xilinx 可重构加速堆:

今天,在机器学习、数据分析、实时视频数据流三个超大规模数据中心的加速实现中,为了消除编程障碍,降低工作量,Xilinx的可重构加速度堆找到了用武之地。

图1  xilinx Reconfigurable Acceleration Stack

图1 xilinx Reconfigurable Acceleration Stack

下图是Xilinx可重构加速度堆的结构图:

图2  Xilinx reconfigurable Acceleration Stack

图2 Xilinx reconfigurable Acceleration Stack

在以上的Xilinx可重构加速度堆中已经包含有以下一些库:

DNN:是Xilinx提供的一个深度神经网络库,对构建深度学习接口应用有很好的优化。这个库主要可以最大效率的计算16位和8位整数数据运算。

GEMM:Xilinx提供的一个通用的矩阵乘法库,基于三阶线性代数子程序(BLAS)。这个库实现对16位和8位整型数据类型的性能优化,同时支持任意规模的矩阵。

HEVC 解码器&编码器:HEVC/H.265 是从MPEG和ITU标准演化来的最新版的视频压缩标准,同时也是H.264视频压缩标准的继承,相对于H.264它降低了将近50%的视频带宽需求。Xilinx提供了两个HEVC/H.265视频编码器:一个是高性能,高灵活性,可实时来处理大量视频数据的编码器,另一个是针对非摄影内容的交替编码器。还提供一个支持符合HEVC/H.265视频编码或编码器的所有格式的解码器。

Data Mover(SQL):这个SQL数据移动库可以利用Xilinx FPGA,实现对数据分析加速的简化。数据移动库通过由PCIe接口传送数据基表中的数据块到FPGA加速器的片上存储器,使标准连接件与SQL数据基可以协调的结合起来。此外,它还自动将主机CPU与FPGA硬件加速器之间的PCIe带宽调整到最大。

Compute Kernel(SQL):这个库实现了将许多SQL核的功能在FPGA上的加速设计,包括小数类型,数据类型,扫描,比较和滤波等,同时,该库可实现在FPGA上最大化硬件并行的计算功能。

现在,七家超大规模云公司中,包括百度在内已经有三家开始在Xilinx FPGA上部署硬件加速。上个月,百度发表声明,已经设计出基于Xilinx Kintex UltraScale FPGA的加速器卡,并可应用于机器学习接口中。Qualcomm和IBM也展开与Xilinx就数据中心加速的战略合作,同时IBM已经在开发存储和网络加速框架(called CAPI SNAP)以实现简化基于xilinx FPGA实现类似NpSQL应用加速器的创建方面取得了一定的成果。(详见 “OpenPOWER’s CAPI SNAP Framework eases the task of developing high-performance, FPGA-based accelerators for data centers.”)

同时,Xilinx已经领导了智能开发,以及cache一致性交互(CCIX)产业的发展。今年五月,Xilinx与AMD,ARM,Huawei,IBM,Mellanox,以及Qualcomm 就形成了合作关系(CCIX合作团队),而首创的成员数量在过去的五个月已经增长了三倍,同时CCIX已经发布了第一版涵盖物理层,数据链路层和协议层的说明(详见“CCIX Consortium develops Release1 of its fully cache-coherent interconnect specification, grows to 22 members)。

此外,在Xilinx官网 www.xilinx.com 中新增了Xilinx Acceleration Zone栏目,用户可以获得更多关于xilinx可重构加速堆的信息。

总结:
纵观如今市场上可用的三大加速技术,GPU,ASIC,FPGA,只有FPGA具有硬件可重编程性。而且Xilinx已经开发了新的平台,此平台具有专业的区域的快速的可创新性和可变性,这就允许随着软件的灵活改变,硬件可相应的重配置,大大减少了投入市场的时间。现在,对于某些特定的应用,比如浮点加速编码的并行实现,或许会选择GPU来实现;对于可预见的具有成百上千万加速单元的超大规模编码,投资商考虑到单个单元的价格和潜在的高性能会选择ASIC;但是对于需要快速改变应用范围和应用环境的目标应用,FPGA加速具有极大的吸引力。通过为早期的适用者和创新者提供强健的可重构的加速技术,聚焦“Super Seven”数据中心,Xilinx使得FPGA在超大规模数据中心领域成为强有力的主要竞争者。

声明:本文为原创文章,转载需注明作者、出处及原文链接,否则,本网站将保留追究其法律责任的权利