CN115292053B - 移动端cnn的cpu、gpu、npu统一调度方法 - Google Patents

移动端cnn的cpu、gpu、npu统一调度方法 Download PDF

Info

Publication number
CN115292053B
CN115292053B CN202211204899.XA CN202211204899A CN115292053B CN 115292053 B CN115292053 B CN 115292053B CN 202211204899 A CN202211204899 A CN 202211204899A CN 115292053 B CN115292053 B CN 115292053B
Authority
CN
China
Prior art keywords
command
operator
gpu
cpu
npu
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.)
Active
Application number
CN202211204899.XA
Other languages
English (en)
Other versions
CN115292053A (zh
Inventor
徐瑞
项天
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Graphichina Electronic Technology Co ltd
Original Assignee
Suzhou Graphichina Electronic Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Graphichina Electronic Technology Co ltd filed Critical Suzhou Graphichina Electronic Technology Co ltd
Priority to CN202211204899.XA priority Critical patent/CN115292053B/zh
Publication of CN115292053A publication Critical patent/CN115292053A/zh
Application granted granted Critical
Publication of CN115292053B publication Critical patent/CN115292053B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种移动端CNN的CPU、GPU、NPU统一调度方法,本发明移动端CNN的CPU、GPU、NPU统一调度方法可实现在移动设备的SoC芯片中,在命令解析调度器的控制下,利用统一的指令来调度CPU、GPU、NPU。本发明通过对CPU的命令解析和调度任务进行卸载,实现CNN到命令转换过程与CPU上运行程序的解耦,提高命令响应速度。

Description

移动端CNN的CPU、GPU、NPU统一调度方法
技术领域
本发明涉及数据处理技术领域,特别涉及一种移动端CNN(Convolutional NeuralNetworks,卷积神经网络)的CPU(CentralProcessing Unit,中央处理器)、GPU(GraphicsProcessingUnit,图形处理器)、NPU(Neural Processing Unit,神经处理器)统一调度方法。
背景技术
中央处理器(Central Processing Unit,CPU)是计算机中负责运算和控制的部件。在移动设备中,考虑到功耗、面积及性能需求的原因,通常会对CPU的规模和频率等进行缩减,因此CPU也经常被称作微控制单元(Microcontroller Unit,MCU)。
图形处理器(Graphics Processing Unit,GPU)是计算机中专门用于处理图形相关计算任务的部件,相比于CPU,GPU将计算资源更多的分配在计算部分而非控制部分上,并且尽可能的利用了图形计算处理任务中的并行性,因此,在图形处理任务上能具有比CPU快很多的计算能力。
神经处理器(Neural Processing Unit,NPU)通常指能够对神经网络计算提供加速处理能力的计算部件。由于目前卷积神经网络是神经网络的主流,而神经网络又是近年来人工智能发展的主要领域,同时,神经网络又以具有多层网络结构的深度神经网络为主,因此,还同时存在着人工智能加速器(Artificial Intelligence Accelerator)、卷积神经网络加速器(Convolutional Neural Network Accelerator)、深度学习加速器(DeepLearning Accelerator,DLA)等诸多相似但涵盖范围略有不同的概念。在移动端,由于面积、功耗等限制因素,NPU通常不能做到完整支持神经网络所需的所有算子,而是仅对计算负载高的卷积等算子进行支持,而把计算量小、有灵活性要求的算子交由CPU来计算。尽管桌面端和服务端采用GPU来进行神经网络的计算很普遍,但是在移动端,GPU通常是专用于图形相关的处理的部件,而非通用图形处理器(General-purpose Graphics ProcessingUnit,GPGPU),并不适合于直接用于神经网络相关的计算,因此,通常需要在计算精度、并行度、内部互联等多方面进行领域专门优化的NPU。
在移动设备中,由于设备空间、成本、功耗等多方面的限制,通常难以像桌面端、云端采用独立芯片PCB(Printed Circuit Board,印制电路板)互联、独立板卡组装乃至分布式计算系统的方式,而是将CPU、GPU或者CPU、NPU集成在单一的芯片中,成为片上系统(System on a Chip,SoC),也因此,移动设备中任务分配和调度的要求与桌面端和云端有很大的不同,需要进行专门的优化。在GPU和/或NPU与CPU集成在同一SoC的情况下,通常由CPU作为控制单元,通过其上运行的程序,对GPU和NPU进行配置、调度与任务分配,协同完成所有的计算过程。但CPU需要同时完成系统调度、命令解析、部分算子计算等任务,负载很重。
因此,目前亟需一种能够实现CPU、GPU、NPU统一调度的方法来解决上述问题。
发明内容
本发明要解决的技术问题是提供一种对CPU的命令解析和调度任务进行卸载、提高命令响应速度的移动端CNN的CPU、GPU、NPU统一调度方法。
为了解决上述问题,本发明提供了一种移动端CNN的CPU、GPU、NPU统一调度方法,其包括以下步骤:
S1、将CPU、GPU、内存分别连接到总线,将命令解析调度器和NPU本地连接并共享总线,通过命令接口将所述命令解析调度器与GPU连接;
S2、CPU解析神经网络镜像,并根据软件算子注册段的配置为每个软件算子槽注册软件算子函数;
S3、CPU为命令解析调度器配置命令队列起始地址并启动命令解析调度器;
S4、所述命令解析调度器将命令队列的一部分读取到自身的命令缓存中;
S5、所述命令解析调度器对命令缓存中的命令队列进行解析,得到命令的类型;如果类型为NPU命令,则通过本地连接将解析得到的命令参数发送给NPU;如果类型为软件算子,则向CPU发送中断信号,并将解析得到的命令参数发送到寄存器接口等待CPU获取;如果类型为GPU命令,则通过命令接口向GPU发送解析得到的命令类型和命令参数;
S6、NPU接收到NPU命令后,从命令中获取权重,并从命令参数指定的内存或片上缓存地址读取计算数据,完成相应硬件算子计算,并将计算结果发送到命令参数指定的内存或片上缓存地址;CPU接收到软件算子中断信号后,首先通过总线从所述命令解析调度器的寄存器接口获取命令类型和命令参数,从命令参数指定的内存或片上缓存地址获取权重、目标参数以及计算数据,完成相应软件算子计算,并将计算结果发送到命令参数指定的内存或片上缓存;GPU接收到GPU命令后,从命令参数指定的内存或片上缓存地址获取目标参数和计算数据,完成相应GPU算子计算,并将计算结果发送到命令参数指定的内存或片上缓存地址;
S7、NPU完成当前硬件算子计算后,通过本地连接向所述命令解析调度器发送完成信号;CPU完成当前软件算子计算后,通过寄存器接口向命令解析调度器发送完成信号;GPU完成当前GPU算子计算后,通过命令接口向命令解析调度器发送完成信号;
S8、重复步骤S4-S7,直到所述命令解析调度器解析到结束命令,命令解析调度器返回空闲状态。
作为本发明的进一步改进,步骤S1之前还包括以下步骤:
将卷积神经网络各项计算任务转换为神经算子,并将神经算子分为三类,可由NPU进行加速运算的为硬件算子;可由GPU运算的为GPU算子;不适合NPU和GPU计算的,由CPU进行计算,为软件算子。
作为本发明的进一步改进,所述神经网络镜像包括镜像头、软件算子注册段、软件算子参数段、命令队列。
作为本发明的进一步改进,所述镜像头中包含软件算子注册段、软件算子参数段、命令队列三个部分的长度和起始偏移地址信息;所述软件算子注册段包含需要注册的软件算子函数及其要被注册于哪一个软件算子槽的信息;软件算子参数段包含软件算子计算所需要的参数;所述命令队列包含了软件算子命令、GPU命令和硬件算子命令。
作为本发明的进一步改进,所述片上缓存包括命令缓存和数据缓存,所述数据缓存连接到总线或内嵌到CPU、GPU、NPU中。
本发明还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任意一项所述方法的步骤。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任意一项所述方法的步骤。
本发明的有益效果:
本发明移动端CNN的CPU、GPU、NPU统一调度方法可实现在移动设备的SoC芯片中,在命令解析调度器的控制下,利用统一的指令来调度CPU、GPU、NPU。本发明通过对CPU的命令解析和调度任务进行卸载,实现CNN到命令转换过程与CPU上运行程序的解耦,提高命令响应速度。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1为本发明优选实施例中移动端CNN的CPU、GPU、NPU统一调度方法的流程图;
图2为本发明优选实施例中移动端CNN的CPU、GPU、NPU统一调度方法的系统架构;
图3为本发明优选实施例中神经网络镜像的结构图;
图4为本发明优选实施例中的软件算子命令;
图5为本发明优选实施例中的GPU命令;
图6为本发明优选实施例中的硬件算子命令。
标记说明:
1、镜像头;2、软件算子注册段;3、软件算子参数段;4、命令队列。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
如图1所示,为本发明优选实施例中移动端CNN的CPU、GPU、NPU统一调度方法,包括以下步骤:
步骤S1、将CPU、GPU、内存分别连接到总线,将命令解析调度器和NPU本地连接并共享总线,通过命令接口将所述命令解析调度器与GPU连接;参照图2;其中,由于硬件算子命令包含了权重数据,数据量大,因此命令解析调度器和NPU通过本地连接并共享总线,可以认为命令解析调度器嵌入在NPU中。其中,命令解析调度器与CPU之间有中断信号。
步骤S2、CPU解析神经网络镜像,并根据软件算子注册段的配置为每个软件算子槽注册软件算子函数;
步骤S3、CPU为命令解析调度器配置命令队列起始地址并启动命令解析调度器;
步骤S4、所述命令解析调度器将命令队列部分读取到自身的命令缓存中;
步骤S5、所述命令解析调度器对命令缓存中的命令队列进行解析,得到命令的类型;如果类型为NPU命令,则将解析得到的命令参数发送给NPU;如果类型为软件算子,则向CPU发送中断信号,并将解析得到的命令参数发送到寄存器接口等待CPU获取;如果类型为GPU命令,则向GPU发送解析得到的命令类型和命令参数;
步骤S6、NPU接收到NPU命令后,从命令中获取权重,并从命令参数指定的内存或片上缓存地址读取计算数据,完成相应硬件算子计算,并将计算结果发送到命令参数指定的内存或片上缓存地址;CPU接收到软件算子中断信号后,首先通过总线从所述命令解析调度器的寄存器接口获取命令类型和命令参数,从命令参数指定的内存或片上缓存地址获取权重、目标参数以及计算数据,完成相应软件算子计算,并将计算结果发送到命令参数指定的内存或片上缓存地址;GPU接收到GPU命令后,从命令参数指定的内存或片上缓存地址获取目标参数和计算数据,完成相应GPU算子计算,并将计算结果发送到命令参数指定的内存或片上缓存地址;
步骤S7、NPU完成当前硬件算子计算后,向所述命令解析调度器发送完成信号;CPU完成当前软件算子计算后,通过寄存器接口向命令解析调度器发送完成信号;GPU完成当前GPU算子计算后,向命令解析调度器发送完成信号;
步骤S8、重复步骤S4-S7,直到所述命令解析调度器解析到结束命令,命令解析调度器返回空闲状态。
本发明移动端CNN的CPU、GPU、NPU统一调度方法可实现在移动设备的SoC芯片中,在命令解析调度器的控制下,利用统一的指令来调度CPU、GPU、NPU。本发明通过对CPU的命令解析和调度任务进行卸载,实现CNN到命令转换过程与CPU上运行程序的解耦,提高命令响应速度。
其中,命令解析调度器与GPU之间通过命令接口连接,命令解析调度器通过所述命令接口向GPU发送解析得到的命令类型和命令参数,GPU通过命令接口接收GPU命令。尽管GPU命令接口上也有命令参数传输,但是一般情况下,GPU相关操作的参数数据量小,因此选择将命令解析调度器嵌入在NPU而非GPU中。
其中,上述片上缓存包括命令缓存和数据缓存,数据缓存连接到总线或内嵌到CPU、GPU、NPU中。
进一步地,总线既包括访问内存、缓存的主接口,也包括为CPU提供访问命令解析调度器寄存器接口能力的从接口。
本发明通过将卷积神经网络转换为神经网络镜像来实现命令队列,并将卷积神经网络的计算与CPU上运行的操作系统等解耦。
进一步地,步骤S1之前还包括以下步骤:
将卷积神经网络各项计算任务转换为神经算子,并将神经算子分为三类,可由NPU进行加速运算的为硬件算子;可由GPU运算的为GPU算子;不适合NPU和GPU计算的,由CPU进行计算,为软件算子。
如图3所示,在其中一实施例中,神经网络镜像包括镜像头1、软件算子注册段2、软件算子参数段3、命令队列4。
镜像头1中包含软件算子注册段、软件算子参数段、命令队列三个部分的长度和起始偏移地址信息等。
软件算子注册段2包含需要注册的软件算子函数及其要被注册于哪一个软件算子槽的信息。
软件算子参数段3包含软件算子计算所需要的参数,在进行软件算子计算时,将由CPU按需读取,软件算子参数段3在系统中的地址可由神经网络镜像基地址及镜像头1中记录的软件算子参数段相对地址计算得出,并作为每个软件算子函数的参数传入。
命令队列4包含了软件算子命令、GPU命令和硬件算子命令。每条命令都为统一的格式,包含了调用的算子槽编号、各类超参数信息、输入输出数据地址信息等,此外,硬件算子命令在需要时还包含了计算所需的权重数据。软件算子命令中包含了调用的软件算子槽、超参数配置信息、计算所需参数的地址(按需,可不存在)、输入数据的地址、输出数据的地址等信息。GPU算子仅包含常用的操作如矩阵操作(旋转、平移、错切等)、图层混合、缩放等,每个GPU算子槽对应的GPU算子是固定的,但是可以传入可变的参数。GPU命令包含了调用的GPU算子槽、运算所需的参数信息、输入数据地址、输出数据地址等信息。每个NPU算子槽对应的硬件算子也是固定的,例如卷积、池化、激活、归一化、量化/解量化,或者卷积+池化+激活等的组合作为单一硬件算子使用,类似的,硬件算子的参数也是可变的。由于采取了将命令解析调度器嵌入在NPU中的架构,硬件算子所需的参数(如权重等)直接被包含在硬件算子命令中,以提高访问存储的效率。此外,硬件算子命令中还包含了调用的NPU算子槽、超参数配置信息、输入数据地址、输出数据地址等信息。
在其中一实施例中,软件算子命令如图4,GPU命令如图5,硬件算子命令如图6,每条命令都为统一的格式。其中,图4中,为软件算子命令的算子类型11,调用的算子槽12,输入数据地址13,输出数据地址14,输入数据宽度15,块(Tile)宽度16,块高度17,需处理块18;图5中,GPU命令的算子类型21,调用的算子槽22,第一输入数据地址23,输出数据地址24,输入数据宽度25,块宽度26,块高度27,需处理块28,第二输入数据地址29,算子所需参数210;图6中,硬件算子命令的算子类型31,调用的算子槽32,第一输入数据地址33,输出数据地址34,输入数据宽度35,块宽度36,块高度37,需处理块38,算子尺寸(Kernel Size)39,填充(Padding)310,第二输入数据地址311,第三输入数据地址312,第一算子所需参数313,第二算子所需参数314。
其中,算子类型字段位宽为3bit,软件算子命令、GPU命令、硬件算子命令分别被编码为001、010、100;调用的算子槽字段位宽为6bit,因此对于每类算子,都可以有64个算子。后面是输入数据地址、输出数据地址、输入数据特征图的宽度等信息。由于GPU算子、硬件算子可能需要输入多个特征图,因此可以可选的扩展第二输入数据地址、第三输入数据地址等字段。由于GPU命令、硬件算子命令可能需要在命令中包含参数,因此可以可选的扩展算子所需参数字段。可扩展的字段对于特定的算子槽是固定的,但是字段的长度还会受到超参数的影响。
本发明优选实施例还公开了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例中所述方法的步骤。
本发明优选实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例中所述方法的步骤。
以上实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。

Claims (6)

1.移动端CNN的CPU、GPU、NPU统一调度方法,其特征在于,包括以下步骤:
S1、将CPU、GPU、内存分别连接到总线,将命令解析调度器和NPU本地连接并共享总线,通过命令接口将所述命令解析调度器与GPU连接;
S2、CPU解析神经网络镜像,并根据软件算子注册段的配置为每个软件算子槽注册软件算子函数;
S3、CPU为命令解析调度器配置命令队列起始地址并启动命令解析调度器;
S4、所述命令解析调度器将命令队列的一部分读取到自身的命令缓存中;
S5、所述命令解析调度器对命令缓存中的命令队列进行解析,得到命令的类型;如果类型为NPU命令,则通过本地连接将解析得到的命令参数发送给NPU;如果类型为软件算子命令,则向CPU发送中断信号,并将解析得到的命令参数发送到寄存器接口等待CPU获取;如果类型为GPU命令,则通过命令接口向GPU发送解析得到的命令类型和命令参数;
S6、NPU接收到NPU命令后,从命令中获取权重,并从命令参数指定的内存或片上缓存地址读取计算数据,完成相应硬件算子计算,并将计算结果发送到命令参数指定的内存或片上缓存地址;CPU接收到软件算子中断信号后,首先通过总线从所述命令解析调度器的寄存器接口获取命令类型和命令参数,从命令参数指定的内存或片上缓存地址获取权重、目标参数以及计算数据,完成相应软件算子计算,并将计算结果发送到命令参数指定的内存或片上缓存;GPU接收到GPU命令后,从命令参数指定的内存或片上缓存地址获取目标参数和计算数据,完成相应GPU算子计算,并将计算结果发送到命令参数指定的内存或片上缓存地址;
S7、NPU完成当前硬件算子计算后,通过本地连接向所述命令解析调度器发送完成信号;CPU完成当前软件算子计算后,通过寄存器接口向命令解析调度器发送完成信号;GPU完成当前GPU算子计算后,通过命令接口向命令解析调度器发送完成信号;
S8、重复步骤S4-S7,直到所述命令解析调度器解析到结束命令,命令解析调度器返回空闲状态;
所述神经网络镜像包括镜像头、软件算子注册段、软件算子参数段、命令队列。
2.如权利要求1所述的移动端CNN的CPU、GPU、NPU统一调度方法,其特征在于,步骤S1之前还包括以下步骤:
将卷积神经网络各项计算任务转换为神经算子,并将神经算子分为三类,可由NPU进行加速运算的为硬件算子;可由GPU运算的为GPU算子;不适合NPU和GPU计算的,由CPU进行计算,为软件算子。
3.如权利要求1所述的移动端CNN的CPU、GPU、NPU统一调度方法,其特征在于,所述镜像头中包含软件算子注册段、软件算子参数段、命令队列三个部分的长度和起始偏移地址信息;所述软件算子注册段包含需要注册的软件算子函数及其要被注册于哪一个软件算子槽的信息;软件算子参数段包含软件算子计算所需要的参数。
4.如权利要求1所述的移动端CNN的CPU、GPU、NPU统一调度方法,其特征在于,所述片上缓存包括命令缓存和数据缓存,所述数据缓存连接到总线或内嵌到CPU、GPU、NPU中。
5.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-4中任意一项所述方法的步骤。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-4任意一项所述方法的步骤。
CN202211204899.XA 2022-09-30 2022-09-30 移动端cnn的cpu、gpu、npu统一调度方法 Active CN115292053B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211204899.XA CN115292053B (zh) 2022-09-30 2022-09-30 移动端cnn的cpu、gpu、npu统一调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211204899.XA CN115292053B (zh) 2022-09-30 2022-09-30 移动端cnn的cpu、gpu、npu统一调度方法

Publications (2)

Publication Number Publication Date
CN115292053A CN115292053A (zh) 2022-11-04
CN115292053B true CN115292053B (zh) 2023-01-06

Family

ID=83833204

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211204899.XA Active CN115292053B (zh) 2022-09-30 2022-09-30 移动端cnn的cpu、gpu、npu统一调度方法

Country Status (1)

Country Link
CN (1) CN115292053B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1469236A (zh) * 2002-07-15 2004-01-21 北京南思达科技发展有限公司 一种可重构寄存器堆及其设计方法
CN108416433A (zh) * 2018-01-22 2018-08-17 上海熠知电子科技有限公司 一种基于异步事件的神经网络异构加速方法和系统
CN111079909A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、系统及相关产品
CN112204524A (zh) * 2018-05-24 2021-01-08 赛灵思公司 用于硬件加速的硬件资源的嵌入式调度
US20210089611A1 (en) * 2019-09-24 2021-03-25 Alibaba Group Holding Limited Method and apparatus for execution of neural network
CN114217688A (zh) * 2021-12-24 2022-03-22 中国科学技术大学 一种基于神经网络结构的npu功耗优化系统和方法
CN114995994A (zh) * 2022-04-24 2022-09-02 阿里巴巴(中国)有限公司 任务处理方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109523022B (zh) * 2018-11-13 2022-04-05 Oppo广东移动通信有限公司 终端数据处理方法、装置及终端

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1469236A (zh) * 2002-07-15 2004-01-21 北京南思达科技发展有限公司 一种可重构寄存器堆及其设计方法
CN108416433A (zh) * 2018-01-22 2018-08-17 上海熠知电子科技有限公司 一种基于异步事件的神经网络异构加速方法和系统
CN112204524A (zh) * 2018-05-24 2021-01-08 赛灵思公司 用于硬件加速的硬件资源的嵌入式调度
CN111079909A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、系统及相关产品
US20210089611A1 (en) * 2019-09-24 2021-03-25 Alibaba Group Holding Limited Method and apparatus for execution of neural network
CN114217688A (zh) * 2021-12-24 2022-03-22 中国科学技术大学 一种基于神经网络结构的npu功耗优化系统和方法
CN114995994A (zh) * 2022-04-24 2022-09-02 阿里巴巴(中国)有限公司 任务处理方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
TNPU: Supporting Trusted Execution with Tree-less Integrity Protection for Neural Processing Unit;Sunho Lee 等;《2022 IEEE International Symposium on High-Performance Computer Architecture (HPCA)》;20220517;全文 *
面向移动端的高通量异构卷积神经网络推理系统优化设计与研究;杨焕永;《中国优秀硕士学位论文全文数据库信息科技辑》;20220415;全文 *

Also Published As

Publication number Publication date
CN115292053A (zh) 2022-11-04

Similar Documents

Publication Publication Date Title
CN109388595B (zh) 高带宽存储器系统以及逻辑管芯
EP3889774A1 (en) Heterogeneous computing-based task processing method and software-hardware framework system
US10877766B2 (en) Embedded scheduling of hardware resources for hardware acceleration
CN114880133A (zh) 分布式计算系统,分布式计算系统中数据传输方法和装置
CN111274025B (zh) 用于在ssd中加速数据处理的系统和方法
US11853767B2 (en) Inter-core data processing method, system on chip and electronic device
CN114356587B (zh) 算力任务跨区域调度方法、系统及设备
CN111400000A (zh) 网络请求处理方法、装置、设备和存储介质
US20210158131A1 (en) Hierarchical partitioning of operators
JP2020027613A (ja) 人工知能チップ及び人工知能チップに用いられる命令実行方法
CN111857669A (zh) 软硬件解耦合软件化雷达系统、实时性设计方法和服务器
CN116431315B (zh) 批处理任务的处理方法、装置、电子设备及存储介质
CN115292053B (zh) 移动端cnn的cpu、gpu、npu统一调度方法
CN115775199A (zh) 数据处理方法和装置、电子设备和计算机可读存储介质
CN110837419B (zh) 基于弹性批处理的推理引擎系统、方法及电子设备
US11340949B2 (en) Method and node for managing a request for hardware acceleration by means of an accelerator device
EP3343370A1 (en) Method of processing opencl kernel and computing device therefor
CN112380023B (zh) 分布式模型计算控制方法及装置
CN115361285B (zh) 实现离在线业务混合部署的方法、装置、设备及介质
CN114020476B (zh) 一种作业的处理方法、设备及介质
CN116795442B (zh) 一种寄存器配置方法、dma控制器及图形处理系统
CN117130795A (zh) 一种作业处理方法、装置及相关设备
CN116795647A (zh) 一种数据库异构资源管理与调度方法、装置、设备及介质
Tang et al. SNCL: a supernode OpenCL implementation for hybrid computing arrays
CN113568679A (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
GR01 Patent grant
GR01 Patent grant