[发明专利]面向云端深度学习推理的FPGA虚拟化方法有效
申请号: | 201911419172.1 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111158790B | 公开(公告)日: | 2021-04-13 |
发明(设计)人: | 曾书霖;戴国浩;汪玉;杨华中 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/455;G06F15/78;G06N3/063 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 石茵汀 |
地址: | 10008*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 云端 深度 学习 推理 fpga 虚拟 方法 | ||
本发明公开了一种面向云端深度学习推理的FPGA虚拟化方法,该方法包括以下步骤:通过向基于指令集架构的深度神经网络加速器架构引入两级指令调度器和硬件资源池,构建基于指令集架构的深度神经网络加速器虚拟化架构;根据基于指令集架构的深度神经网络加速器虚拟化架构,将完整编译流程划分为静态编译和动态编译;在静态编译第一次部署时生成细粒度指令包,当动态编译重配置时,对细粒度指令包进行整合,快速生成需求指令文件。该方法在确保最大化硬件资源利用率的多任务算力资源共享下,实现运行时的快速动态重配置。
技术领域
本发明涉及人工智能虚拟化技术领域,特别涉及一种面向云端深度学习推理的FPGA虚拟化方法。
背景技术
当前正处于人工智能快速发展的时代,深度学习在各种领域扮演着越来越重要的角色。其中,深度神经网络(DNN)的推理任务占据了云端数据中心的大部分深度学习任务负载。在数据中心中使用传统的通用处理器CPU(中央处理器)已无法满足深度学习巨大的算力需求。因此,现在通常使用专用的硬件平台,比如GPU、FPGA(现场可编程门阵列)和ASIC(特定应用集成电路),来加速深度学习算法。得益于FPGA对于可编程性、性能和功耗的良好平衡,越来越多的云端服务商,如亚马逊、阿里巴巴和百度等,都开始在数据中心中部署FPGA来提供面向DNN推理任务的解决方案。
由于云端的DNN应用具有多任务和动态负载的特点,为了提供灵活可重配置的算力资源来匹配云端的应用特性以最大化整体性能和最小化服务成本,一种常用的方法是实现数据中心算力资源的虚拟化。目前面向神经网络应用的虚拟化方案主要有三种:一是多任务共享一块FPGA,通过时分复用的方式在不同任务之间切换。大多数基于指令集架构(ISA)的DNN加速器架构都可以通过这种方式实现计算资源的共享。基于ISA的DNN加速器通过编译器生成不同任务的指令,在运行时切换指令以在同一个硬件架构上实现多任务的时分复用;二是多任务共享一块FPGA,通过空分复用的方式实现多任务的并行。目前基于模板的DNN加速器可以支持空分复用,通过部分重配置的方式将不同的任务加载到FPGA的不同区域。三是共享多块FPGA,即预先将不同的FPGA加载不同DNN的比特流,通过负载平衡的方式将不同DNN的任务请求发送到不同的FPGA。当前工业界最先进的解决方案即是采用了这种方式。这种方式几乎不需要对FPGA进行重配置,一旦某个FPGA的DNN任务确定了,一段时间内便不会再切换,而是通过采用了负载平衡算法的调度器实现DNN任务在多块FPGA的运行时调度。采用这种方案的另一个初衷在于一些神经网络的权重,比如循环神经网络(RNN),无法完整地存储在一块FPGA上,因而需要多块FPGA来存储。
但上述提到的面向神经网络应用的虚拟化方法都存在一些问题。第一种情况中基于ISA的DNN加速器的时分复用方式,在大多数情况下用单块FPGA去服务单个神经网络推理任务会导致一定程度的性能过剩和资源浪费,使得云端服务商的维护成本提高;第二种情况中基于模板的DNN加速器,对于每一个新任务的编译流程都涉及到硬件架构的重新生成。而硬件比特流的综合实现流程的时间开销往往在数小时以上,这对于云端神经网络应用在毫秒量级的响应时间是无法接受的;第三种共享多块FPGA的方式,需要提前对云端神经网络的任务负载有个良好的先验才能确保所有FPGA获得一个良好的利用率。此外,随着URAM和3D RAM技术的提出,FPGA的片上存储呈现着逐年增大的趋势,大多数神经网络应用如卷积神经网络(CNN)等,都可以用一块FPGA存下。因此,第三种方案无法确保在任何情况下都能获得最大化的资源利用率。
基于此,亟待一种方法解决面向深度学习推理应用的FPGA虚拟化方案中的资源利用率低和重配置开销高的问题。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的目的在于提出一种面向云端深度学习推理的FPGA虚拟化方法,该方法在确保最大化硬件资源利用率的多任务算力资源共享下,实现运行时的快速动态重配置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911419172.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种快速固相萃取装置
- 下一篇:一种基于雾化喷洒的聚羧酸减水剂母液制备方法