随着机器学习(Machine Learning)领域越来越多地使用现场可编程门阵列(FPGA)来进行推理(inference)加速,而传统FPGA只支持定点运算的瓶颈越发凸显。 Achronix为了解决这一大困境,创新地设计了机器学习处理器(MLP)单元,不仅支持浮点的乘加运算,还可以支持对多种定浮点数格式进行拆分。
MLP全称Machine Learning Processing单元,是由一组至多32个乘法器的阵列,以及一个加法树、累加器、还有四舍五入rounding/饱和saturation/归一化normalize功能块。同时还包括2个缓存,分别是一个BRAM72k和LRAM2k,用于独立或结合乘法器使用。MLP支持定点模式和浮点模式,对应下面图1和图2。
图1 定点模式下的MLP框图
图2 浮点模式下的MLP框图
考虑到运算能耗和准确度的折衷,目前机器学习引擎中最常使用的运算格式是FP16和INT8,而Tensor Flow支持的BF16则是通过降低精度,来获得更大数值空间。下面的表1是MLP支持的最大位宽的浮点格式,表2说明了各自的取值范围。
表1 MLP支持的最大位宽的浮点格式
表2 不同运算格式的取值范围
而且这似乎也成为未来的一种趋势。目前已经有不少研究表明,更小位宽的浮点或整型可以在保证正确率的同时,还可以减少大量的计算量。因此,为了顺应这一潮流,MLP还支持将大位宽乘法单元拆分成多个小位宽乘法,包括整数和浮点数。详见下表3。
值得注意的是,这里的bfloat16即Brain Float格式,而block float为块浮点算法,即当应用Block Float16及更低位宽块浮点格式时,指数位宽不变,小数位缩减到了16bit以内,因此浮点加法位宽变小,并且不需要使用浮点乘法单元,而是整数乘法和加法树即可,MLP的架构可以使这些格式下的算力倍增。
表3是Speedster7t系列1500器件所支持的典型格式下的算力对比,可以看到,单片FPGA的浮点算力最高可达到123TOPS。
表3 Achronix的Speedster7t系列1500器件支持的典型格式的算力对比
下图3是MLP中FP24/FP16乘加单元的简化结构图,即一个MLP支持FP24/FP16的A*B+C*D,或者A*B,C*D。
图3 MLP中FP24/FP16乘加单元的简化结构图
而以下的图4则是块浮点乘加单元结构。
图 4 块浮点乘加单元结构
这里考虑浮点数序列块,浮点数序列块,各序列块内均拥有相同的指数ea和eb。则
不难看出,乘法单元的个数取决于尾数(即整数)位宽。
表4 MLP中乘法单元的个数与整数位宽的关系
关键字:FPGA
引用地址:
技术创新—FPGA运算单元可支持高算力浮点
推荐阅读最新更新时间:2024-11-05 11:11
使用LabVIEW和FPGA来创建一个自动化的微控制器测试系统
对于之前的应用程序测试平台,我们使用公司内部开发的控制器板,但该板需要一套单独的兼容工具链来下载这些应用程序。此外,我们还很难对这些工具链的用户界面进行导航,不得不使用额外的测试和测量设备。 有了虚拟仪器,我们可以使用同一套软件和模块化硬件执行以下测试: 测试常见的协议(SPI, ASC, I2C) 测试 PWM ,ICU 测试 模拟 /数字 转换器 测试控制器区域网络(CAN) 测试时钟和门控 测试多模块同时运行系统 对于需要测试的应用来说,使用FPGA的可重编程功能,它和LabVIEW之间的自动化接口 以及CAN分析仪功能,我们可以很容易地开发我们的系统。 在整个框架上,我们节省了大量的时间和成本。在此之
[测试测量]
赛灵思Virtex-6 FPGA开始发货
高性能目标设计平台迎来芯片行业发展重要里程碑 来自700多家客户的1,000个项目加入早期试用计划 赛灵思公司(Xilinx, Inc. (NASDAQ: XLNX))今天宣布其Virtex®-6 FPGA开始发货。Virtex®-6 FPGA是针对需要低功耗、高速连网能力和强大计算能力应用的可编程基础平台。Virtex-6产品系列基于40nm架构,采用高速串行收发器和功耗降低技术,是赛灵思公司和其选择的第三方供应商在各种应用市场为系统开发人员和设计师进行工具和IP资源开发的基础平台。这些应用市场涵盖通信、音/视频与广播、工业、测试测量、医疗和军事等领域。 新的Virtex-6和低成本Spartan-
[嵌入式]
ASIC设计转FPGA时的注意事项
script src="/jf/jf-arcMain-1.js" type=text/javascript /script script type=text/javascript /script script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text/javascript /script script src="http://pagead2.googlesyndication.com/pagead/js/r20110330/r20110406/show_ads_impl.js" /script script s
[嵌入式]
什么是FPGA?FPGA是什么意思
FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有: 1)采用FPGA设计ASIC电路,用
[模拟电子]
基于FPGA和单片机的位移测量装置的设计
位移传感器广泛应用于工业和控制领域,如过程检测、物理测量和自动控制等。由于其测量精度不高,往往满足不了社会需求,也限制了传感器的应用。因此,这里设计了一套基于单片机和FPGA的位移测量装置,能够实现较高的精度测量,同时也能够达到较高的线性度,能够在各种恶劣环境下替代人工工作,实现较高精度的测量,并具有一定的实用价值。 1 整体设计方案及实现框图 系统整体实现框图如图1所示,由信号产生部分、差分放大部分、变压器耦合部分、信号处理部分、数据采样部分和处理及显示部分组成。利用DDS技术产生的信号经THS4503的差分放大之后送入差动变压器,差动变压器输出的信号经放大、整流以及滤波处理之后送入MAXl97采样,采样得到的数
[测试测量]
基于FPGA的嵌入式串行千兆以太网设计
引言 随着通信技术的发展,千兆以太网因在传输中具备高带宽和高速率的特点,成为高速传输设备的首选。基于Xilinx FPGA的嵌入式系统设计整合了一系列的知识产权(IP)核使其功能强大,从而使得利用FPGA进行嵌入式串行千兆以太网开发成为可能。 本设计使用Xilinx公司65 tim工艺级别的Virtex-5FXT系列芯片,满足嵌入式系统设计所应具备的高性能、高密度、低功耗和低成本的要求。V5 Hard TEMAC模块提供了专用的以太网功能,并通过FPGA内部高速串行收发器GTX和Marvell公司的88E1111物理层接口芯片相连,完成串行千兆以太网的接口功能。物理层接口芯片支持MII、GMII、RGMII和SGMII四种以太网接
[单片机]
65nm Virtex-5 FPGA工艺
半导体工业的最主要特征是工艺不断进步,平均每隔几年就要升级一次,带动功耗和成本不断下降,性能不断提升。从180nm到130nm,再到90nm、65nm和45nm,这些略显枯燥的数字使我们的生活正在加速进入充斥各种电子器件的数字时代。 在新的工艺节点上,当可编程逻辑,逻辑器件,也就是CPLD和FPGA厂商一次又一次在不久的将来65nm领域把电子设计行业专家和电子社群共同推出的荣誉带回他们的总部的时候,我们不得不再次思索65nm究竟给这个行业带来的是什么样的变化,可编程逻辑解决方案为什么从以前的配角不断地成为行业的热点。 众所周知,通信、仪器、工业、军工、航天等许多市场具有小批量、多品种的特点,如果投入大量资源开发一
[模拟电子]
北京博电借助Xilinx FPGA交付最新系列智能电网测试设备
All Programmable技术和器件的全球领先企业赛灵思公司 (NASDAQ: XLNX)宣布北京博电新力电气股份有限公司(PONOVO POWER CO., LTD简称北京博电)通过采用赛灵思 Virtex®-6 和 Spartan®-6 FPGA,以创纪录的速度成功向市场交付了其最新系列高端智能继电保护测试仪—PNF800 系列和便携数字测试设备— PNS600 系列。PNF800的研制成功不但提升了保护测试领域内的技术水平,同时也引领了整个行业的技术发展趋势,使得北京博电继在行业内首次提出“智能测试”的概念之后,率先把概念变成了现实, 把国内的测试仪设备一举从光数字测试时代引入了智能测试时代。 北京博电的工程团队借助
[嵌入式]