CN110399234A - 一种任务加速处理方法、装置、设备及可读存储介质 - Google Patents
一种任务加速处理方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN110399234A CN110399234A CN201910620665.5A CN201910620665A CN110399234A CN 110399234 A CN110399234 A CN 110399234A CN 201910620665 A CN201910620665 A CN 201910620665A CN 110399234 A CN110399234 A CN 110399234A
- Authority
- CN
- China
- Prior art keywords
- task
- tensorflow
- fpga device
- framework
- fpga
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 25
- 230000001133 acceleration Effects 0.000 claims abstract description 36
- 238000000034 method Methods 0.000 claims abstract description 26
- 230000007246 mechanism Effects 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 11
- 238000010801 machine learning Methods 0.000 claims description 9
- 238000013473 artificial intelligence Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 210000004218 nerve net Anatomy 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种任务加速处理方法,该方法包括:接收上层应用发送的数据处理任务;利用支持FPGA设备的TensorFlow加速架构,对数据处理任务进行加速处理;其中,TensorFlow加速架构,包括:OpKernel层,用于根据TensorFlow的OP注册机制为FPGA设备注册计算接口;位于驱动层前的中间层,用于为OpKernel层提供调用接口;驱动层,用于驱动FPGA设备并提供FPGA设备的操作接口;RTL层,用于在FPGA设备中实现特定功能的逻辑代码。该方法可加快对上层应用发出的数据处理任务的处理速度。本发明还公开了一种任务加速处理装置、设备及可读存储介质,具有相应的技术效果。
Description
技术领域
本发明涉及计算机应用技术领域,特别是涉及一种任务加速处理方法、装置、设备及可读存储介质。
背景技术
随着人工智能和机器学习的兴起,很多应用和服务多需要对海量数据进行快速处理。
目前,对人工智能或机器学习中的数据处理任务的处理大多采用TensorFlow进行。TensorFlow可将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。
但是,TensorFlow现在只支持CPU、GPU、TPU,还无法支持一些其他加速处理设备,因而目前的若干智能或机器学习的数据处理速度受限于CPU、GPU、TPU的处理速度,而无法借助一些加速设备来加快数据处理,难以满足海量数据的快速处理需求。
综上所述,如何有效地加速处理任务等问题,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种任务加速处理方法、装置、设备及可读存储介质,以提高底层架构的任务处理速度,满足上层应用的任务处理需求。
为解决上述技术问题,本发明提供如下技术方案:
一种任务加速处理方法,包括:
接收上层应用发送的数据处理任务;
利用支持FPGA设备的TensorFlow加速架构,对所述数据处理任务进行加速处理;
其中,所述TensorFlow加速架构,包括:
OpKernel层,用于根据TensorFlow的OP注册机制为所述FPGA设备注册计算接口;
位于驱动层前的中间层,用于为所述OpKernel层提供调用接口;
所述驱动层,用于驱动所述FPGA设备并提供所述FPGA设备的操作接口;
RTL层,用于在所述FPGA设备中实现特定功能的逻辑代码。
优选地,所述接收上层应用发送的数据处理任务,包括:
接收机器学习或人工智能对应的目标上层应用发送的模型训练任务。
优选地,所述TensorFlow加速架构,包括:
利用bus_id字段记录所述FPGA设备的bus_id;
利用physical_device_desc字段记录所述FPGA设备的设备信息。
优选地,所述利用physical_device_desc字段记录所述FPGA设备的设备信息,包括:
利用所述physical_device_desc字段记录所述FPGA设备的制造商和产品型号。
优选地,创建所述TensorFlow加速架构,包括:
获取所述FPGA设备对应的工厂类,利用所述工厂类在TensorFlow架构支持的物理设备中添加所述FPGA设备;
在所述TensorFlow架构中创建管理和操作所述FPGA的设备类,获得所述TensorFlow加速架构。
优选地,在所述TensorFlow架构中创建管理和操作所述FPGA的设备类,包括:
在所述TensorFlow架构中创建所述设备类,并设置所述设备类的继承父类为localDevice。
优选地,所述利用支持FPGA设备的TensorFlow加速架构,对所述数据处理任务进行加速处理,包括:
利用所述RTL层将所述数据处理任务对应的业务逻辑转化为bit文件;
将所述bit文件烧写至所述FPGA设备,以利用所述FPGA设备对所述数据处理任务进行加速处理。
一种任务加速处理装置,包括:
任务接收模块,用于接收上层应用发送的数据处理任务;
任务加速处理模块,用于利用支持FPGA设备的TensorFlow加速架构,对所述数据处理任务进行加速处理;
其中,所述TensorFlow加速架构,包括:
OpKernel层,用于根据TensorFlow的OP注册机制为所述FPGA设备注册计算接口;
位于驱动层前的中间层,用于为所述OpKernel层提供调用接口;
所述驱动层,用于驱动所述FPGA设备并提供所述FPGA设备的操作接口;
RTL层,用于在所述FPGA设备中实现特定功能的逻辑代码。
一种任务加速处理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任务加速处理方法的步骤。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任务加速处理方法的步骤。
应用本发明实施例所提供的方法,接收上层应用发送的数据处理任务;利用支持FPGA设备的TensorFlow加速架构,对数据处理任务进行加速处理;其中,TensorFlow加速架构,包括:OpKernel层,用于根据TensorFlow的OP注册机制为FPGA设备注册计算接口;位于驱动层前的中间层,用于为OpKernel层提供调用接口;驱动层,用于驱动FPGA设备并提供FPGA设备的操作接口;RTL层,用于在FPGA设备中实现特定功能的逻辑代码。
在本方法中,在TensorFlow中利用OP注册机制对FPGA(Field-Programmable GateArray,现场可编程门阵列)设备进行注册,使得TensorFlow加速架构可支持FPGA设备。即,可利用FPGA设备对数据处理任务进行处理。FPGA设备可以进行并行流水线处理。即FPGA设备不需要等一个数据包的数据都接收到再开始处理,而实现以便接收数据一边对数据进行处理。因而,FPGA设备相较于CPU、GPU和TPU具有明显的加速效果。由于TensorFlow加速架构可支持FPGA设备,因而利用该TensorFlow加速架构对数据处理任务进行处理,处理速度更快,可满足上层应用的任务处理需求。
相应地,本发明实施例还提供了与上述任务加速处理方法相对应的任务加速处理装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种任务加速处理方法的实施流程图;
图2为本发明实施例中一种TensorFlow加速架构的示意图;
图3为本发明实施例中一种TensorFlow加速架构对应的设备工厂类与对应设备的关系图;
图4为本发明实施例中一种TensorFlow加速架构对应的设备类的继承关系图;
图5为本发明实施例中一种任务加速处理装置的结构示意图;
图6为本发明实施例中一种任务加速处理设备的结构示意图;
图7为本发明实施例中一种任务加速处理设备的具体结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
请参考图1,图1为本发明实施例中一种任务加速处理方法的流程图,该方法可应用于计算机,该方法包括以下步骤:
S101、接收上层应用发送的数据处理任务。
上层提供人机交互和技术支持,下层提供执行功能和反馈功能。在本发明实施例所提供的方法可应用于下层中,即计算机中的下层应用接收上层应用发送的数据处理任务。数据数量任务可具体为对图像数据进行处理,也可为模型训练任务等需进行大量运算处理且对处理速度要求较高的任务。
优选地,上层应用可具体为需要进行大量数据处理的应用,例如机器学习或人工智能对应的上层应用,数据处理任务可具体为模型的训练任务,海量数据处理任务等。即,步骤S101可具体为接收机器学习或人工智能对应的目标上层应用发送的模型训练任务。
S102、利用支持FPGA设备的TensorFlow加速架构,对数据处理任务进行加速处理。
随着人工智能和机器学习的兴起,很多应用和服务都需要FPGA提供支持,加速训练的过程,提高效率,包括在推理问题上FPGA更是有其独特的优势;但TensorFlow现在只支持CPU、GPU、TPU,还没有支持FPGA,不能使用FPGA加速具体的模型,无法在TensorFlow中充分发挥FPGA的作用。
基于上述问题,本发明实施例提出了一种可在TensorFlow中高效使用FPGA的TensorFlow加速架构,该TensorFlow加速架构利用TensorFlow原有的设备管理机制,增加对FPGA设备的支持,但FPGA与CPU和GPU的体系结构不同,所以在使用FPGA设备的方式上也有所不同。
该TensorFlow加速架构的实现原理:由于FPGA设备具体的功能受限于内部的逻辑,所以首先需要使用RTL(Register Tranfster Level,硬件描述语言,即描述电路所要达到的功能)实现PGA内部的逻辑,形成bit文件,然后把bit文件烧写到FPGA设备;然后封装一层类似于GPU的CUDA(Compute Unified Device Architecture,运算平台,即通用并行计算架构)。
TensorFlow加速架构创建过程:
首先,在TensorFlow中根据设备管理机制添加对FPGA的支持,添加结束后可以查看系统内FPGA信息,并可直接操作FPGA物理设备。
其次,封装FPGA中间件,该中间件位于驱动上层,封装了具体的功能实现接口。
最后,需要在TensorFlow中实现注册给FPGA设备的OpKernel,在Op中会调用中间件接口实现特定的功能,上层用户可以调用Op实现具体的计算。
下面对上述TensorFlow加速架构创建的构建过程进行详细说明。
为了使得TensorFlow架构可支持FPGA设备,在本发明实施例中提出可支持FPGA设备的TensorFlow加速架构。可预先搭建如图2所示的TensorFlow加速架构,其中,frontend:前端;local runtime:本地运行;Distributed runtime:分布式运行;Eigen:高层次的C++库,有效支持线性代数,矩阵和矢量运算,数值分析及其相关的算法;matmul reluconv2d:tensorflow中具体的kernel名字。
具体的,该TensorFlow加速架构,包括:
OpKernel层,用于根据TensorFlow的OP注册机制为FPGA设备注册计算接口;
位于驱动层前的中间层,用于为OpKernel层提供调用接口;
驱动层,用于驱动FPGA设备并提供FPGA设备的操作接口;
RTL层,用于在FPGA设备中实现特定功能的逻辑代码。
为实现该TensorFlow加速架构支持FPGA设备,首先需要根据TensorFlow原有的机制添加对FPGA设备的支持。又因TensorFlow使用工厂模式管理不同类型的设备;在定义每个Device时,可通过利用c++事先定义好的宏将类对象主动注册到工厂中,这样就可以达到在程序启动完成时,工厂中已经注册有各种各样的设备,如图3所示,其中opencl:第一个面向异构系统通用目的并行编程的开放式、免费标准,也为一个统一的编程环境;除设备名称外,其余均c++的类名,可具体参见C++类名定义。
具体实现步骤,包括:
步骤一、获取FPGA设备对应的工厂类,利用工厂类在TensorFlow架构支持的物理设备中添加FPGA设备。具体的,在创建之前,需要为FPGA设备单独开发一个工厂类,即可直接从存储创建该工厂类的存储空间内读取获取该工程类,并通过该工厂类TensorFlow可以透明的通过工厂类添加支持的物理设备。
步骤二、在TensorFlow架构中创建管理和操作FPGA的设备类,获得TensorFlow加速架构。在TensorFlow内部为不同的设备实现了不同的设备类,因而需要一个实现用于FPGA设备的类,来管理和操作FPGA设备。其中,在TensorFlow架构中创建管理和操作FPGA的设备类,可具体为在TensorFlow架构中创建设备类,并设置设备类的继承父类为localDevice。完成设备类的添加后设置后,TensorFlow加速架构的继承关系如图4所示,其中,框图除设备外其他均为类名,可具体参见现有类名定义与说明。
由于,TensorFlow中使用DeviceAttributes来表示一个物理设备,为了实现对FPGA设备的支持,可在TensorFlow加速架构中,利用bus_id字段记录FPGA设备的bus_id;利用physical_device_desc字段记录FPGA设备的设备信息。优选地,为了便于管理设备,该设备信息可具体为FPGA设备的制造商以及FPGA设备对应的产品信号。即,利用physical_device_desc字段记录FPGA设备的制造商和产品型号。如此,便建立了物理设备与设备类之间的对应关系,在此过程中需要调用中间层接口。
如此,便可通过上述四层加速架构(即TensorFlow加速架构)就可以在TensorFlow使用FPGA设备实现对诸如模型的训练和推理等的数据处理任务进行加速处理。
构建好TensorFlow加速架构后,在接收到上层应用发送的数据处理任务后,便可基于TensorFlow加速架构,利用FPGA设备对数据处理任务进行加速处理。为在FPGA设备中实现任务处理,可执行以下步骤:
步骤一、利用RTL层将数据处理任务对应的业务逻辑转化为bit文件;
步骤二、将bit文件烧写至FPGA设备,以利用FPGA设备对数据处理任务进行加速处理。
应用本发明实施例所提供的方法,接收上层应用发送的数据处理任务;利用支持FPGA设备的TensorFlow加速架构,对数据处理任务进行加速处理;其中,TensorFlow加速架构,包括:OpKernel层,用于根据TensorFlow的OP注册机制为FPGA设备注册计算接口;位于驱动层前的中间层,用于为OpKernel层提供调用接口;驱动层,用于驱动FPGA设备并提供FPGA设备的操作接口;RTL层,用于在FPGA设备中实现特定功能的逻辑代码。
在本方法中,在TensorFlow中利用OP注册机制对FPGA设备进行注册,使得TensorFlow加速架构可支持FPGA设备。即,可利用FPGA设备对数据处理任务进行处理。FPGA设备可以进行并行流水线处理。即FPGA设备不需要等一个数据包的数据都接收到再开始处理,而实现以便接收数据一边对数据进行处理。因而,FPGA设备相较于CPU、GPU和TPU具有明显的加速效果。由于TensorFlow加速架构可支持FPGA设备,因而利用该TensorFlow加速架构对数据处理任务进行处理,处理速度更快,可满足上层应用的任务处理需求。
实施例二:
相应于上面的方法实施例,本发明实施例还提供了一种任务加速处理装置,下文描述的任务加速处理装置与上文描述的任务加速处理方法可相互对应参照。
参见图5所示,该装置包括以下模块:
一种任务加速处理装置,包括:
任务接收模块101,用于接收上层应用发送的数据处理任务;
任务加速处理模块102,用于利用支持FPGA设备的TensorFlow加速架构,对数据处理任务进行加速处理;
其中,TensorFlow加速架构103,包括:
OpKernel层,用于根据TensorFlow的OP注册机制为FPGA设备注册计算接口;
位于驱动层前的中间层,用于为OpKernel层提供调用接口;
驱动层,用于驱动FPGA设备并提供FPGA设备的操作接口;
RTL层,用于在FPGA设备中实现特定功能的逻辑代码。
应用本发明实施例所提供的装置,接收上层应用发送的数据处理任务;利用支持FPGA设备的TensorFlow加速架构,对数据处理任务进行加速处理;其中,TensorFlow加速架构,包括:OpKernel层,用于根据TensorFlow的OP注册机制为FPGA设备注册计算接口;位于驱动层前的中间层,用于为OpKernel层提供调用接口;驱动层,用于驱动FPGA设备并提供FPGA设备的操作接口;RTL层,用于在FPGA设备中实现特定功能的逻辑代码。
在本装置中,在TensorFlow中利用OP注册机制对FPGA(Field-Programmable GateArray,现场可编程门阵列)设备进行注册,使得TensorFlow加速架构可支持FPGA设备。即,可利用FPGA设备对数据处理任务进行处理。FPGA设备可以进行并行流水线处理。即FPGA设备不需要等一个数据包的数据都接收到再开始处理,而实现以便接收数据一边对数据进行处理。因而,FPGA设备相较于CPU、GPU和TPU具有明显的加速效果。由于TensorFlow加速架构可支持FPGA设备,因而利用该TensorFlow加速架构对数据处理任务进行处理,处理速度更快,可满足上层应用的任务处理需求。
在本发明的一种具体实施方式中,任务接收模块101,具体用于接收机器学习或人工智能对应的目标上层应用发送的模型训练任务。
在本发明的一种具体实施方式中,TensorFlow加速架构103,具体用于利用bus_id字段记录FPGA设备的bus_id;利用physical_device_desc字段记录FPGA设备的设备信息。
在本发明的一种具体实施方式中,TensorFlow加速架构103,具体用于利用physical_device_desc字段记录FPGA设备的制造商和产品型号。
在本发明的一种具体实施方式中,还包括:
TensorFlow加速架构创建模块,用于创建TensorFlow加速架构;具体的,获取FPGA设备对应的工厂类,利用工厂类在TensorFlow架构支持的物理设备中添加FPGA设备;在TensorFlow架构中创建管理和操作FPGA的设备类,获得TensorFlow加速架构。
在本发明的一种具体实施方式中,TensorFlow加速架构创建模块,具体用于在TensorFlow架构中创建设备类,并设置设备类的继承父类为localDevice。
在本发明的一种具体实施方式中,任务加速处理模块102,具体用于利用RTL层将数据处理任务对应的业务逻辑转化为bit文件;将bit文件烧写至FPGA设备,以利用FPGA设备对数据处理任务进行加速处理。
实施例三:
相应于上面的方法实施例,本发明实施例还提供了一种任务加速处理设备,下文描述的一种任务加速处理设备与上文描述的一种任务加速处理方法可相互对应参照。
参见图6所示,该任务加速处理设备包括:
存储器D1,用于存储计算机程序;
处理器D2,用于执行计算机程序时实现上述方法实施例的任务加速处理方法的步骤。
具体的,请参考图7,图7为本实施例提供的一种任务加速处理设备的具体结构示意图,该任务加速处理设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在任务加速处理设备301上执行存储介质330中的一系列指令操作。
任务加速处理设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。例如,Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
上文所描述的任务加速处理方法中的步骤可以由任务加速处理设备的结构实现。
实施例四:
相应于上面的方法实施例,本发明实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种任务加速处理方法可相互对应参照。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的任务加速处理方法的步骤。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
Claims (10)
1.一种任务加速处理方法,其特征在于,包括:
接收上层应用发送的数据处理任务;
利用支持FPGA设备的TensorFlow加速架构,对所述数据处理任务进行加速处理;
其中,所述TensorFlow加速架构,包括:
OpKernel层,用于根据TensorFlow的OP注册机制为所述FPGA设备注册计算接口;
位于驱动层前的中间层,用于为所述OpKernel层提供调用接口;
所述驱动层,用于驱动所述FPGA设备并提供所述FPGA设备的操作接口;
RTL层,用于在所述FPGA设备中实现特定功能的逻辑代码。
2.根据权利要求1所述的任务加速处理方法,其特征在于,所述接收上层应用发送的数据处理任务,包括:
接收机器学习或人工智能对应的目标上层应用发送的模型训练任务。
3.根据权利要求1所述的任务加速处理方法,其特征在于,所述TensorFlow加速架构,包括:
利用bus_id字段记录所述FPGA设备的bus_id;
利用physical_device_desc字段记录所述FPGA设备的设备信息。
4.根据权利要求3所述的任务加速处理方法,其特征在于,所述利用physical_device_desc字段记录所述FPGA设备的设备信息,包括:
利用所述physical_device_desc字段记录所述FPGA设备的制造商和产品型号。
5.根据权利要求1所述的任务加速处理方法,其特征在于,创建所述TensorFlow加速架构,包括:
获取所述FPGA设备对应的工厂类,利用所述工厂类在TensorFlow架构支持的物理设备中添加所述FPGA设备;
在所述TensorFlow架构中创建管理和操作所述FPGA的设备类,获得所述TensorFlow加速架构。
6.根据权利要求5所述的任务加速处理方法,其特征在于,在所述TensorFlow架构中创建管理和操作所述FPGA的设备类,包括:
在所述TensorFlow架构中创建所述设备类,并设置所述设备类的继承父类为localDevice。
7.根据权利要求1至6任一项所述的任务加速处理方法,其特征在于,所述利用支持FPGA设备的TensorFlow加速架构,对所述数据处理任务进行加速处理,包括:
利用所述RTL层将所述数据处理任务对应的业务逻辑转化为bit文件;
将所述bit文件烧写至所述FPGA设备,以利用所述FPGA设备对所述数据处理任务进行加速处理。
8.一种任务加速处理装置,其特征在于,包括:
任务接收模块,用于接收上层应用发送的数据处理任务;
任务加速处理模块,用于利用支持FPGA设备的TensorFlow加速架构,对所述数据处理任务进行加速处理;
其中,所述TensorFlow加速架构,包括:
OpKernel层,用于根据TensorFlow的OP注册机制为所述FPGA设备注册计算接口;
位于驱动层前的中间层,用于为所述OpKernel层提供调用接口;
所述驱动层,用于驱动所述FPGA设备并提供所述FPGA设备的操作接口;
RTL层,用于在所述FPGA设备中实现特定功能的逻辑代码。
9.一种任务加速处理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述任务加速处理方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述任务加速处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910620665.5A CN110399234A (zh) | 2019-07-10 | 2019-07-10 | 一种任务加速处理方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910620665.5A CN110399234A (zh) | 2019-07-10 | 2019-07-10 | 一种任务加速处理方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110399234A true CN110399234A (zh) | 2019-11-01 |
Family
ID=68324579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910620665.5A Pending CN110399234A (zh) | 2019-07-10 | 2019-07-10 | 一种任务加速处理方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110399234A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112001494A (zh) * | 2020-08-20 | 2020-11-27 | 浪潮电子信息产业股份有限公司 | 一种实现nGraph框架支持FPGA后端设备的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106951926A (zh) * | 2017-03-29 | 2017-07-14 | 山东英特力数据技术有限公司 | 一种混合架构的深度学习系统方法及装置 |
CN108090560A (zh) * | 2018-01-05 | 2018-05-29 | 中国科学技术大学苏州研究院 | 基于fpga的lstm递归神经网络硬件加速器的设计方法 |
US20180293498A1 (en) * | 2016-01-27 | 2018-10-11 | Bonsai AI, Inc. | For hiearchical decomposition deep reinforcement learning for an artificial intelligence model |
CN109447256A (zh) * | 2018-09-12 | 2019-03-08 | 上海交通大学 | 基于FPGA的Tensorflow系统加速的设计方法 |
-
2019
- 2019-07-10 CN CN201910620665.5A patent/CN110399234A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180293498A1 (en) * | 2016-01-27 | 2018-10-11 | Bonsai AI, Inc. | For hiearchical decomposition deep reinforcement learning for an artificial intelligence model |
US20180293517A1 (en) * | 2016-01-27 | 2018-10-11 | Bonsai Al, Inc. | Artificial intelligence engine for mixing and enhancing features from one or more trained pre-existing machine-learning models |
CN106951926A (zh) * | 2017-03-29 | 2017-07-14 | 山东英特力数据技术有限公司 | 一种混合架构的深度学习系统方法及装置 |
CN108090560A (zh) * | 2018-01-05 | 2018-05-29 | 中国科学技术大学苏州研究院 | 基于fpga的lstm递归神经网络硬件加速器的设计方法 |
CN109447256A (zh) * | 2018-09-12 | 2019-03-08 | 上海交通大学 | 基于FPGA的Tensorflow系统加速的设计方法 |
Non-Patent Citations (1)
Title |
---|
裴大帅2021的博客: "tensorflow中gpu的使用", 《BLOG.SINA.COM.CN/S/BLOG_628CC2B70102YGC6.HTML》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112001494A (zh) * | 2020-08-20 | 2020-11-27 | 浪潮电子信息产业股份有限公司 | 一种实现nGraph框架支持FPGA后端设备的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10977076B2 (en) | Method and apparatus for processing a heterogeneous cluster-oriented task | |
CN106951926A (zh) | 一种混合架构的深度学习系统方法及装置 | |
CN106663021A (zh) | 虚拟化环境中的智能gpu调度 | |
CN108416433A (zh) | 一种基于异步事件的神经网络异构加速方法和系统 | |
CN110532076A (zh) | 一种云资源创建的方法、系统、设备及可读存储介质 | |
CN110100255A (zh) | 区域有效、可重新配置、节能、速度有效的神经网络基板 | |
CN109471626A (zh) | 页面逻辑结构、页面生成方法、页面数据处理方法及装置 | |
CN111427665A (zh) | 一种量子应用云平台及量子计算任务的处理方法 | |
US6720967B1 (en) | Method and apparatus for displaying work flow information | |
CN103677996B (zh) | 用于平衡工作负荷分布的协作方法和系统 | |
CN110399234A (zh) | 一种任务加速处理方法、装置、设备及可读存储介质 | |
CN113971455A (zh) | 一种分布式模型训练方法、装置、存储介质及计算机设备 | |
CN114490116B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN114528070A (zh) | 一种基于容器化和虚拟化的卷积神经网络分层训练方法及系统 | |
US20190385091A1 (en) | Reinforcement learning exploration by exploiting past experiences for critical events | |
CN104793924B (zh) | 计算任务的处理方法及装置 | |
CN115762515B (zh) | 用于语音识别的神经网络的处理和应用方法、装置及设备 | |
CN111722923A (zh) | 一种异构资源的调用方法、装置和计算机可读存储介质 | |
CN114785693B (zh) | 基于分层强化学习的虚拟网络功能迁移方法及装置 | |
Cheng et al. | An adaptive computation framework of distributed deep learning models for internet-of-things applications | |
CN108460718A (zh) | 基于低功耗飞腾的三维图形显示系统优化方法及装置 | |
CN115759260A (zh) | 深度学习模型的推理方法、装置、电子设备和存储介质 | |
CN114610484A (zh) | 一种用于分布式ai集群的网络仿真方法及装置 | |
CN114896114B (zh) | 计分板实现方法、装置、计分板、电子设备及存储介质 | |
CN114881239A (zh) | 量子生成器的构造方法、装置、介质及电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191101 |