基于处理器技术辅助FPGA实现AI算法的验证方法技术

技术编号:24120867 阅读:46 留言:0更新日期:2020-05-13 03:02
本发明专利技术公开了一种基于处理器技术辅助FPGA实现AI算法的验证方法。本发明专利技术基于处理器技术辅助FPGA实现AI算法的验证方法,包括:将待处理数据和AI算法实现所涉及到的参数传送给非并行运算处理器,作为验证比对原型的待处理数据;将待处理数据和AI算法实现所涉及到的参数传送给FPGA芯片,作为待验证设计的待处理数据;非并行运算处理器在数据进行处理的过程中对原型的待处理数据数据、过程数据、处理结果数据和AI算法实现所需的参数进行缓存。有益效果:相对于传统的FPGA软件仿真提高了验证的效率,相对于传统的FPGA在线调试能更准确地定位、分析错误。

Verification method of AI algorithm based on FPGA assisted by processor technology

【技术实现步骤摘要】
基于处理器技术辅助FPGA实现AI算法的验证方法
本专利技术涉及FPGA领域,具体涉及一种基于处理器技术辅助FPGA实现AI算法的验证方法。
技术介绍
随着人工智能、自动驾驶、5G、云计算等各种技术的不断发展,各类数据将会基于源源不断的产生,预计未来5年,数据总量将比现在增长10倍。由于上述技术的发展都基于对大数据的研究和分析,因此有人形象的将数据比作未来人工智能时代的石油。通常提到FPGA,首先想到的是一款可编程的硬件产品,无论是用在嵌入式设备上,还是用在网络传输加速方面,与软件似乎都没有太多的直接联系。随着人工智能、自动驾驶、5G、云计算等新技术的兴起,FPGA因其与生俱来的优势正在逐渐走进大众视野。当今工艺的进步和AI时代的发展和数据的爆炸性增长,由于FPGA在硬件和软件同时具有天生的超性能和灵活性特征,当AI遭遇算法复杂、多场景应用而导致难以落地,越来越多的创新者将目光聚焦在了灵活应变的FPGA及基于FPGA的衍生产品上,FPGA迎来了巨大的发展机遇。FPGA兼顾了低功耗和高运算能力的优势。然而在上面提到的FPGA大数据大运算量处理中,FPGA的亮点不是低功耗,而是加速。一般CPU的主频都是几个GHz,而FPGA的主频通常只有几百MHz。单单看主频,似乎FPGA没什么优势,但是实际上却是用FPGA来给计算加速,腾讯云的FPGA加速可以实现比通用CPU型服务器快30倍的性能。CPU属于冯·诺依曼结构,任务执行需要经历取指、译码、执行、访存以及写回等过程。CPU为达到足够高的通用性,其指令流的控制逻辑相当复杂。即使是简单神经网络,用C语言来优化循环控制,每一次乘法计算完以后仍然需要额外的指令周期来判断是否结束循环并跳转到下一次计算。而FPGA则可以根据算法来优化和分配硬件资源,省去不必要的控制步骤节省时间。虽然CPU主频高,但是很多计算仍然需要好几个时钟周期才能完成,而FPGA凭借大量并行处理,以及合理的流水线结构,基本上能单周期完成多次“乘加”,“累加”等运算。此外,CPU的计算过程中,存取设备的传输带宽往往也是性能瓶颈,而FPGA则可以充分利用芯片内的分布式存储资源,尽量减少与外部存取器的数据交换从而提高性能。某些场合下,CPU也外挂专用协处理器(ASIC),用来加快处理特定的计算。然而专用芯片开发周期长,成本高,并且应用场合有限,无法像FPGA那样可以根据需要动态调整计算资源。所以高性能计算离不开FPGA的加速,尤其是人工智能相关的深度学习。硬件加速从实现上看可以有几种不同选择:传统处理器、FPGA和ASIC。传统处理器最有灵活性,能够覆盖各种不同应用,但它的能力(效率)最弱。ASIC的成本、性能和功耗最好,但AISC研发迭代周期相对较长。目前AI算法层出不穷,ASIC冗长的设计周期和高昂的设计费用不能满足各种要求。若要同时具有可编程性和效率,则可以采用显示芯片和FPGA。在功耗和效率上,FPGA比显示芯片更强。尤其是在AI推理上,对于低精度场景,FPGA的性能功耗比比显示芯片大16倍。显示芯片更适合用在服务器侧,而FPGA则更适合用在边缘侧。FPGA适合做推理,显示芯片适合做训练。除了在AI的线上推理方向,FPGA在其他很多方面也能发挥价值。在面向计算密集型任务,比如矩阵运算、图像处理、机器学习、压缩、非对称加密、搜索的排序等的时候,拥有流水线并行和数据并行的FPGA效率会高很多。目前FPGA设计的验证方法有两种,一种是软件仿真,另一种是通过在线调试工具实时观察运行结果。具体的FPGA软件仿真又分为:一、RTL级行为仿真(又称作为功能仿真、前仿真)在大部分设计中执行的第一个仿真将是RTL行为级仿真。这个阶段的仿真可以用来检查代码中的错误以及代码行为的正确性,其中不包括与器件相关的信息。如果没有实例化一些与器件相关的特殊底层元件的话,这个阶段的仿真也可以做到与器件无关。二、综合后门级仿真一般在设计流程中的第二个仿真是综合后门级功能仿真。绝大多数的综合工具除了可以输出一个标准网表文件以外,还可以输出Verilog或者VHDL网表,其中标准网表文件是用来在各个工具之间传递设计数据的,并不能用来做仿真使用,而输出的Verilog或者VHDL网表可以用来仿真,之所以叫门级仿真是因为综合工具给出的仿真网表已经是与生产厂家的器件的底层元件模型对应起来了。三、时序仿真(又称为后仿真)在设计流程中的最后一个仿真是时序仿真。在设计布局布线完成以后可以提供一个时序仿真模型,这种模型中也包括了器件的一些信息,同时还会提供一个SDF时序标注文件(StandardDelayformatTimingAnotation)。xilinx公司使用SDF作为时序标注文件扩展名,Altera公司使用SDO作为时序标注文件的扩展名。在SDF时序标注文件中对每一个底层逻辑门提供了3种不同的延时值,分别是典型延时值、最小延时值和最大延时值,虽然在设计的最初阶段就已经定义了设计的功能,但是只有当设计布局布线到一个器件中后,才会得到精确的延时信息,在这个阶段才可以模拟到比较接近实际电路的行为。现在较大型的人工智能算法动辄几百层的深度,成千上万个神经元节点,所以用FPGA加速AI算法实现的过程中采用软件仿真即使是RTL级行为仿真来检查设计中的错误都是不可能实现的,更不用说门级仿真和后仿真,原因是如此复杂的AI算法软件仿真在短时间内很难运算完成。用服务器做这种FPGA完成复杂AI算法一轮的软件仿真都需要几星期甚至几个月的时间,更不用说用软件仿真FPGA完成多轮AI算法实现(这里说提到的FPGA完成一轮AI算法,是指完成一次AI算法处理,以视频鉴别的AI算法举例,就是指对视频中的一帧用AI算法进行处理,而FPGA完成多轮AI算法实现,即是指对视频中的多帧用AI算法进行处理,即对连续的视频流用AI算法进行处理)。而FPGA的在线调试工具,是将在线调试工具的逻辑代码和系统设计逻辑代码组合交由FPGA开发软件进行编译、综合、布局布线,生成烧写文件(其中内含在线调试工具的逻辑代码),把烧写文件配置到FPGA内。FPGA运行时一旦满足待测信号的触发条件,线调试工具的逻辑就立即启动,按照采样时钟的频率捕获待测信号数据并暂存于FPGA片内的RAM中,采样数据不断刷新片内存储器,最后通过JTAG口将捕获的信号从片内RAM传至FPGA开发软件实时显示。FPGA在线调试原理流程如图1所示。传统技术存在以下技术问题:FPGA的在线调试方法的问题在于,FPGA的片上资源(特别是片上RAM)有限,所只能将FPGA运行过程中很少一部分数存储、回传,用于FPGA设计过程中的检错,现在大型的人工智能算法动辄几百层的深度,成千上万个神经元节点,在FPGA实现这些算法的运算过程中,必然要产生大量的运算结果和过程数据,所以FPGA的在线调试方法根本无无法精确定位FPGA实现复杂AI算法一轮运算过程中出现的错误,更不用说精确定位FPGA在运行多轮AI算法过程中出现的错误了。
技术实现思路
本专利技术要解决的技术问题是提供一种本文档来自技高网
...

【技术保护点】
1.一种基于处理器技术辅助FPGA实现AI算法的验证方法,其特征在于,包括:/n将待处理数据和AI算法实现所涉及到的参数传送给非并行运算处理器,作为验证比对原型的待处理数据。/n将待处理数据和AI算法实现所涉及到的参数传送给FPGA芯片,作为待验证设计的待处理数据;/n非并行运算处理器在数据进行处理的过程中对原型的待处理数据数据、过程数据、处理结果数据和AI算法实现所需的参数进行缓存;/nFPGA芯片在数据进行处理的过程中对待验证设计的待处理数据数据、过程数据、处理结果数据和AI算法实现所需的参数进行缓存;/n比较比对原型的过程数据和运算结果与验证设计的过程数据和运算结果,从而分析验证FPGA在算法实现的过程中和结束后的运算结果是否正确。/n

【技术特征摘要】
1.一种基于处理器技术辅助FPGA实现AI算法的验证方法,其特征在于,包括:
将待处理数据和AI算法实现所涉及到的参数传送给非并行运算处理器,作为验证比对原型的待处理数据。
将待处理数据和AI算法实现所涉及到的参数传送给FPGA芯片,作为待验证设计的待处理数据;
非并行运算处理器在数据进行处理的过程中对原型的待处理数据数据、过程数据、处理结果数据和AI算法实现所需的参数进行缓存;
FPGA芯片在数据进行处理的过程中对待验证设计的待处理数据数据、过程数据、处理结果数据和AI算法实现所需的参数进行缓存;
比较比对原型的过程数据和运算结果与验证设计的过程数据和运算结果,从而分析验证FPGA在算法实现的过程中和结束后的运算结果是否正确。


2.如权利要求1所述的基于处理器技术辅助FPGA实现AI算法的验证方法,其特征在于,还包括:通过显示屏显示比对原型的过程数据和运算结果。


3.如权利要求1所述的基于处理器技术辅助FPGA实现AI算法的验证方法,其特征在于,还包括:通过显示屏显示验证设计的过程数据和运算结果。


4.如权利要求1所述的基于处理器技术辅助FPGA实现AI算法的验证方法,其特征在于,还包括:通过显示屏显示比对原型的过程数据和运算结果与验证...

【专利技术属性】
技术研发人员:曹会扬胡志勇田宝珠孙义兴潘红舟魏志猛陈姗
申请(专利权)人:江苏亨通太赫兹技术有限公司上海亨临光电科技有限公司江苏亨通光电股份有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1