CN111598221B - 一种软硬件协同加速神经网络算法的方法及系统 - Google Patents

一种软硬件协同加速神经网络算法的方法及系统 Download PDF

Info

Publication number
CN111598221B
CN111598221B CN202010405663.7A CN202010405663A CN111598221B CN 111598221 B CN111598221 B CN 111598221B CN 202010405663 A CN202010405663 A CN 202010405663A CN 111598221 B CN111598221 B CN 111598221B
Authority
CN
China
Prior art keywords
calculation
sub
special
tasks
special sub
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
CN202010405663.7A
Other languages
English (en)
Other versions
CN111598221A (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.)
Shandong Inspur Scientific Research Institute Co Ltd
Original Assignee
Shandong Inspur Scientific Research Institute 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 Shandong Inspur Scientific Research Institute Co Ltd filed Critical Shandong Inspur Scientific Research Institute Co Ltd
Priority to CN202010405663.7A priority Critical patent/CN111598221B/zh
Publication of CN111598221A publication Critical patent/CN111598221A/zh
Application granted granted Critical
Publication of CN111598221B publication Critical patent/CN111598221B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开一种软硬件协同加速神经网络算法的方法及系统,利用神经网络算法的计算需求特性及并行可拆解特性,将神经网络算法任务划分软硬件计算执行,分别将计算任务部分拆解为专用计算任务和通用计算任务,专用计算任务分解为专用子计算任务,并划分专用子计算任务组合,利用软件进行处理加速,采集各专用子计算组合的计算与存储资源及其他参量,并对通用计算任务对照专用子计算任务组合进行划分通用子计算任务组合,利用硬件进行处理加速,同样采集各通用子计算组合的计算与存储资源及其他参量,结合专用子计算组合的计算与存储资源及其他参量,进一步优化专用子运算任务组合和通用子运算任务组合的划分,部署软硬件,完成神经网络推理加速。

Description

一种软硬件协同加速神经网络算法的方法及系统
技术领域
本发明公开一种加速方法及系统,涉及人工智能算法加速领域,具体地说是一种软硬件协同加速神经网络算法的方法及系统。
背景技术
神经网络是一组大致模仿人类大脑构造设计的算法,用于识别模式。神经网络通过机器感知系统解释传感器数据,对原始输入进行标记或聚类。
目前,深度神经网络已被广泛应用于众多领域,在图像处理领域,基于卷积神经网络的模型训练效果明显优于其他传统方法,然而随着神经网络模型复杂度和任务量的不断提高,有限的存储空间和计算能力成为进一步训练大规模任务的瓶颈。目前通常使用神经网络的加速器提高神经网络的计算速度,但在通用动设备上,由于硬件限制,针对不同的神经网络常常需要开发不同的加速器提高计算速度,不仅增加了额外的成本,有时因硬件限制原因,可能无法实现神经网络提速。
发明内容
本发明针对现有技术的问题,提供一种软硬件协同加速神经网络算法的方法及系统,可在现有设备基础上,根据神经网络算法的计算需求特性及并行可拆解特性,将神经网络算法划分拆解,对不同拆解方法进行耗时及资源的比较分析,得到最优拆解方法,实现高效低耗完成软硬件协同加速神经网络,并可应用在软硬件部署等方面。
本发明提出的具体方案是:
一种软硬件协同加速神经网络算法的方法:将神经网络算法任务拆解成通用计算任务和专用计算任务,
将专用计算任务并行分解成专用子运算任务,根据专用子运算任务处理数据的数量及计算复杂度,将专用子运算任务划分成不同的专用子运算任务组合,
分别对专用子运算任务组合进行软件处理加速,收集各专用子运算任务组合执行任务时使用的计算与存储资源及相应的其他参量,
根据专用子运算任务组合,将通用计算任务分解为通用子运算任务,并对应专用子运算任务组合利用硬件对通用子运算任务进行处理加速,收集通用子运算任务执行任务时使用的计算与存储资源及相应的其他参量,结合专用子运算任务组合的计算与存储资源及其他参量,进一步优化专用子运算任务组合及其对应的通用子运算任务的划分,完成神经网络算法的加速。
所述的一种软硬件协同加速神经网络算法的方法中分解专用子运算任务过程:
将专用计算任务根据算法特性,进行计算任务并行分解,分解成可同时进行且数据不互相依赖的专用子计算任务。
所述的一种软硬件协同加速神经网络算法的方法中对专用子运算任务组合利用处理器进行软件处理加速。
所述的一种软硬件协同加速神经网络算法的方法中划分通用子运算任务前,处理器针对专用子运算任务组合执行任务时使用的计算与存储资源及其他参量进行分析比较,调整专用子运算任务组合中专用子运算任务数量及计算复杂度,获得优化的专用子运算任务组合。
所述的一种软硬件协同加速神经网络算法的方法中具体过程为:
分别给专用子运算任务组合分配计算与存储资源,累加各专用子运算任务组合执行任务时使用的计算与存储资源,同时获取相应的其他参量,
分析比较各专用子运算任务组合使用的计算与存储资源及其他参量,结合处理器的相关参数,调整专用子运算任务组合中专用子运算任务的数量及计算复杂度。
一种软硬件协同加速神经网络算法的系统,包括拆解模块、分解划分模块、加速模块及收集模块,
拆解模块将神经网络算法任务拆解成通用计算任务和专用计算任务,
分解划分模块将专用计算任务并行分解成专用子运算任务,根据专用子运算任务处理数据的数量及计算复杂度,将专用子运算任务划分成不同的专用子运算任务组合,
加速模块分别对专用子运算任务组合进行软件处理加速,收集模块收集各专用子运算任务组合执行任务时使用的计算与存储资源及相应的其他参量,
分解划分模块根据专用子运算任务组合,将通用计算任务分解为通用子运算任务,加速模块对应专用子运算任务组合利用硬件对通用子运算任务进行处理加速,收集模块收集通用子运算任务执行任务时使用的计算与存储资源及相应的其他参量,加速模块结合专用子运算任务组合的计算与存储资源及其他参量,进一步优化专用子运算任务组合及其对应的通用子运算任务的划分,完成神经网络算法的加速。
所述的一种软硬件协同加速神经网络算法的系统中加速模块对专用子运算任务组合利用处理器进行软件处理加速。
所述的一种软硬件协同加速神经网络算法的系统中划分通用子运算任务组合前,分解划分模块利用处理器针对专用子运算任务组合执行任务时使用的计算与存储资源及其他参量进行分析比较,调整专用子运算任务组合中专用子运算任务数量及计算复杂度,获得优化的专用子运算任务组合。
一种计算机设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至5中任一项所述一种软硬件协同加速神经网络算法的方法的步骤。
一种计算机可读存储介质,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现如权利要求1至5任一项所述的一种软硬件协同加速神经网络算法的方法。
本发明的有益之处是:
本发明提供一种软硬件协同加速神经网络算法的方法,利用神经网络算法的计算需求特性及并行可拆解特性,将神经网络算法任务划分软硬件计算执行,分别将计算任务部分拆解为专用计算任务和通用计算任务,专用计算任务分解为专用子计算任务,并划分专用子计算任务组合,利用软件进行处理加速,采集各专用子计算组合的计算与存储资源及其他参量,并对通用计算任务对照专用子计算任务组合进行划分通用子计算任务组合,利用硬件进行处理加速,同样采集各通用子计算组合的计算与存储资源及其他参量,结合专用子计算组合的计算与存储资源及其他参量,进一步优化专用子运算任务组合和通用子运算任务组合的划分,得到最优拆解方法,部署软硬件,高效低耗完成神经网络推理加速。
附图说明
图1是本发明方法流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
本发明提供一种软硬件协同加速神经网络算法的方法:将神经网络算法任务拆解成通用计算任务和专用计算任务,
将专用计算任务并行分解成专用子运算任务,根据专用子运算任务处理数据的数量及计算复杂度,将专用子运算任务划分成不同的专用子运算任务组合,
分别对专用子运算任务组合进行软件处理加速,收集各专用子运算任务组合执行任务时使用的计算与存储资源及相应的其他参量,
根据专用子运算任务组合,将通用计算任务分解为通用子运算任务,并对应专用子运算任务组合利用硬件对通用子运算任务进行处理加速,收集通用子运算任务执行任务时使用的计算与存储资源及相应的其他参量,结合专用子运算任务组合的计算与存储资源及其他参量,进一步优化专用子运算任务组合及其对应的通用子运算任务的划分,完成神经网络算法的加速。
利用本发明方法进行神经网络算法加速,将神经网络算法任务拆解成通用计算任务和专用计算任务,通用计算任务,比如卷积计算、池化计算、激活计算等,专用计算任务,比如非极大值抑制、数据整形、候选框选择排序、算法调度指令收发等,
将专用计算任务分解成专用子运算任务:
将专用计算任务根据算法特性,进行计算任务并行分解,分解成可同时进行且数据不互相依赖的专用子计算任务,各子运算间不存在数据依赖,即某个子运算的输出不会用于其他子运算的输入,
根据专用子运算任务处理数据的数量及计算复杂度,划分不同的子运算组合,比如可划分成少量专用子运算组合,则各专用子运算本身计算复杂度较高;也可划分成大量专用子运算组合,则各专用子运算本身计算复杂度较低;也可划分成适量专用子运算组合,则各专用子运算计算复杂度适中,
对专用子运算任务组合可利用CPU多核多线程能力,结合如neon加速等专用指令进行软件化处理加速,收集各划分组合的子运算使用的计算与存储资源,同时得到功耗及利用率等其他参量;
根据拆分后的神经网络专用计算任务的形式,对通用计算任务进行拆分优化,使得拆分后的通用计算的子运算,分别对应专用子运算组合,即对应专用计算任务的输入,在硬件加速层面对神经网络算法进行并行加速;对通用计算子运算任务的资源功耗消耗进行收集分析,作为参量反馈到专用子运算任务组合及其对应的通用子运算任务的划分,完成整个神经网络算法的拆分加速。
在上述过程中,为进一步优化可以划分通用子运算任务组合前,利用CPU针对专用子运算任务组合执行任务时使用的计算与存储资源及其他参量进行分析比较,即可利用CPU分别给专用子运算任务组合分配计算与存储资源,累加各专用子运算任务组合执行任务时使用的计算与存储资源,得到完成神经网络专用计算任务占用的总计算与存储资源,同时获取得到相应的功耗及利用率等其他参量,使用软件分析比较各个专用子运算任务组合的整体性能、资源占用,功耗高低,资源利用率等参量,结合部署神经网络的CPU的相关参数,对专用子运算任务组合形式进行反馈优化,调整专用子运算任务数量及计算复杂度,使得特定参量达到要求效果,得到专用计算任务的子运算优化拆分结果,再进行通用计算任务的具体拆分。
具体以模式识别标定算法SSD算法为例,将算法前面各层的卷积、池化、激活等计算任务部署在专用硬件加速单元上;对浮点卷积、Softmax、非极大值抑制、候选框取舍、物体打框显示等专用计算任务下放到ARM处理器中完成,
根据算法特性,对所述的专用计算任务进行并行分解,将各专用计算任务分别拆分成可同时进行的子运算任务,各子运算任务间不存在数据依赖,即某个子运算的输出不会用于其他子运算的输入;
根据子运算任务处理数据的数量及计算复杂度,划分成多种子运算任务组合形式,如可划分成少量子运算任务组合,各子运算本身计算复杂度较高;也可划分成大量子运算任务组合,各子运算本身计算复杂度较低;也可划分成适量子运算任务组合,各子运算计算复杂度适中;
可将SSD算法按6层金字塔浮点卷积处理进行划分,分别用6个线程进行各自处理,同时使能多核CPU对算法控制指令进行收发控制,使能新线程完成数据整形及OpenCV处理等功能,
对子运算任务进行CPU级加速优化,分别给各划分组合的子运算任务分配计算与存储资源,将各子运算任务组合使用的计算存储资源累加,得到完成神经网络专用计算任务占用的总计算与存储资源,同时得到功耗及利用率等其他参量;
使用软件分析比较各个划分组合的整体性能、资源占用,功耗高低,资源利用率等参量,结合部署神经网络的CPU的相关参数,对子运算组合形式进行反馈优化,调整子运算任务数量及计算复杂度,使得特定参量达到要求效果,得到专用计算任务的子运算任务拆分结果;
分析SSD算法的当前划分结果的速度、资源、功耗等参量,对6层浮点卷积进一步划分优化,分出候选框及置信度卷积处理,并行流水完成算法后续计算,即根据拆分后的神经网络专用计算任务的形式,对所述通用计算任务进行拆分优化,使得拆分后的通用计算的子运算,分别对应所述专用计算任务的输入,在硬件加速层面对神经网络算法进行进一步并行加速;对通用计算子运算任务的资源功耗消耗进行分析,作为参量反馈到专用计算任务的子运算划分,进一步优化定制神经网络算法的专用子运算任务组合和通用子运算任务的划分,完成整个算法的拆分加速。
本发明还提供一种计算机设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述一种软硬件协同加速神经网络算法的方法的步骤,过程如本发明提供一种软硬件协同加速神经网络算法的方法。
同时本发明还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现上述的一种软硬件协同加速神经网络算法的方法,过程如本发明提供一种软硬件协同加速神经网络算法的方法。
本发明还提供一种软硬件协同加速神经网络算法的系统,包括拆解模块、分解划分模块、加速模块及收集模块,
拆解模块将神经网络算法任务拆解成通用计算任务和专用计算任务,
分解划分模块将专用计算任务并行分解成专用子运算任务,根据专用子运算任务处理数据的数量及计算复杂度,将专用子运算任务划分成不同的专用子运算任务组合,
加速模块分别对专用子运算任务组合进行软件处理加速,收集模块收集各专用子运算任务组合执行任务时使用的计算与存储资源及相应的其他参量,
分解划分模块根据专用子运算任务组合,将通用计算任务分解为通用子运算任务,加速模块对应专用子运算任务组合利用硬件对通用子运算任务进行处理加速,收集模块收集通用子运算任务执行任务时使用的计算与存储资源及相应的其他参量,加速模块结合专用子运算任务组合的计算与存储资源及其他参量,进一步优化专用子运算任务组合及其对应的通用子运算任务的划分,完成神经网络算法的加速。
利用本发明系统进行神经网络算法加速,拆解模块将神经网络算法任务拆解成通用计算任务和专用计算任务,通用计算任务,比如卷积计算、池化计算、激活计算等,专用计算任务,比如非极大值抑制、数据整形、候选框选择排序、算法调度指令收发等,
分解划分模块将专用计算任务分解成专用子运算任务:
将专用计算任务根据算法特性,进行计算任务并行分解,分解成可同时进行且数据不互相依赖的专用子计算任务,各子运算间不存在数据依赖,即某个子运算的输出不会用于其他子运算的输入,
根据专用子运算任务处理数据的数量及计算复杂度,划分不同的子运算组合,比如可划分成少量专用子运算组合,则各专用子运算本身计算复杂度较高;也可划分成大量专用子运算组合,则各专用子运算本身计算复杂度较低;也可划分成适量专用子运算组合,则各专用子运算计算复杂度适中,
加速模块对专用子运算任务组合可利用CPU多核多线程能力,结合如neon加速等专用指令进行软件化处理加速,收集模块收集各划分组合的子运算使用的计算与存储资源,同时得到功耗及利用率等其他参量;
分解划分模块根据拆分后的神经网络专用计算任务的形式,对通用计算任务进行拆分优化,加速模块使得拆分后的通用计算的子运算,分别对应专用子运算组合,即对应专用计算任务的输入,在硬件加速层面对神经网络算法进行并行加速;收集模块对通用计算子运算任务的资源功耗消耗进行收集分析,作为参量反馈到分解划分模块,分解划分模块对专用子运算任务组合及其对应的通用子运算任务进行重新划分,完成整个神经网络算法的拆分加速。
在上述过程中,为进一步优化分解划分模块可以在划分通用子运算任务组合前,利用CPU针对专用子运算任务组合执行任务时使用的计算与存储资源及其他参量进行分析比较,即可利用CPU分别给专用子运算任务组合分配计算与存储资源,累加各专用子运算任务组合执行任务时使用的计算与存储资源,得到完成神经网络专用计算任务占用的总计算与存储资源,同时获取得到相应的功耗及利用率等其他参量,使用软件分析比较各个专用子运算任务组合的整体性能、资源占用,功耗高低,资源利用率等参量,结合部署神经网络的CPU的相关参数,对专用子运算任务组合形式进行反馈优化,调整专用子运算任务数量及计算复杂度,使得特定参量达到要求效果,得到专用计算任务的子运算优化拆分结果,再进行通用计算任务的具体拆分。
具体以模式识别标定算法SSD算法为例,拆解模块将算法前面各层的卷积、池化、激活等计算任务部署在专用硬件加速单元上;对浮点卷积、Softmax、非极大值抑制、候选框取舍、物体打框显示等专用计算任务下放到ARM处理器中完成,
分解划分模块根据算法特性,对所述的专用计算任务进行并行分解,将各专用计算任务分别拆分成可同时进行的子运算任务,各子运算任务间不存在数据依赖,即某个子运算的输出不会用于其他子运算的输入;
根据子运算任务处理数据的数量及计算复杂度,划分成多种子运算任务组合形式,如可划分成少量子运算任务组合,各子运算本身计算复杂度较高;也可划分成大量子运算任务组合,各子运算本身计算复杂度较低;也可划分成适量子运算任务组合,各子运算计算复杂度适中;
可将SSD算法按6层金字塔浮点卷积处理进行划分,分别用6个线程进行各自处理,同时使能多核CPU对算法控制指令进行收发控制,使能新线程完成数据整形及OpenCV处理等功能,
加速模块对子运算任务进行CPU级加速优化,分别给各划分组合的子运算任务分配计算与存储资源,收集模块将各子运算任务组合使用的计算存储资源累加,得到完成神经网络专用计算任务占用的总计算与存储资源,同时得到功耗及利用率等其他参量;
分解划分模块使用软件分析比较各个划分组合的整体性能、资源占用,功耗高低,资源利用率等参量,结合部署神经网络的CPU的相关参数,对子运算组合形式进行反馈优化,调整子运算任务数量及计算复杂度,使得特定参量达到要求效果,得到专用计算任务的子运算任务拆分结果;
分析SSD算法的当前划分结果的速度、资源、功耗等参量,对6层浮点卷积进一步划分优化,分出候选框及置信度卷积处理,并行流水完成算法后续计算,即根据拆分后的神经网络专用计算任务的形式,对所述通用计算任务进行拆分优化,使得拆分后的通用计算的子运算,分别对应所述专用计算任务的输入,加速模块在硬件加速层面对神经网络算法进行进一步并行加速;分解拆分模块对通用计算子运算任务的资源功耗消耗进行分析,作为参量反馈到专用计算任务的子运算划分,进一步优化定制神经网络算法的专用子运算任务组合和通用子运算任务的划分,完成整个算法的拆分加速。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。

Claims (6)

1.一种软硬件协同加速神经网络算法的方法,其特征是将神经网络算法任务拆解成通用计算任务和专用计算任务,
将专用计算任务根据算法特性,进行计算任务并行分解,分解成可同时进行且数据不互相依赖的专用子计算任务,
根据专用子运算任务处理数据的数量及计算复杂度,将专用子运算任务划分成不同的专用子运算任务组合,
分别对专用子运算任务组合进行软件处理加速,收集各专用子运算任务组合执行任务时使用的计算与存储资源及相应的其他参量,
根据专用子运算任务组合,将通用计算任务分解为通用子运算任务,并对应专用子运算任务组合利用硬件对通用子运算任务进行处理加速,收集通用子运算任务执行任务时使用的计算与存储资源及相应的其他参量,结合专用子运算任务组合的计算与存储资源及其他参量,
进一步优化专用子运算任务组合及其对应的通用子运算任务的划分,完成神经网络算法的加速,其中划分通用子运算任务前,处理器针对专用子运算任务组合执行任务时使用的计算与存储资源及其他参量进行分析比较,调整专用子运算任务组合中专用子运算任务数量及计算复杂度,获得优化的专用子运算任务组合;分别给专用子运算任务组合分配计算与存储资源,累加各专用子运算任务组合执行任务时使用的计算与存储资源,同时获取相应的其他参量,分析比较各专用子运算任务组合使用的计算与存储资源及其他参量,结合处理器的相关参数,调整专用子运算任务组合中专用子运算任务数量及计算复杂度。
2.根据权利要求1所述的一种软硬件协同加速神经网络算法的方法,其特征是对专用子运算任务组合利用处理器进行软件处理加速。
3.一种软硬件协同加速神经网络算法的系统,其特征是包括拆解模块、分解划分模块、加速模块及收集模块,
拆解模块将专用计算任务根据算法特性,进行计算任务并行分解,分解成可同时进行且数据不互相依赖的专用子计算任务,
分解划分模块将专用计算任务并行分解成专用子运算任务,根据专用子运算任务处理数据的数量及计算复杂度,将专用子运算任务划分成不同的专用子运算任务组合,
加速模块分别对专用子运算任务组合进行软件处理加速,收集模块收集各专用子运算任务组合执行任务时使用的计算与存储资源及相应的其他参量,
分解划分模块根据专用子运算任务组合,将通用计算任务分解为通用子运算任务,加速模块对应专用子运算任务组合利用硬件对通用子运算任务进行处理加速,收集模块收集通用子运算任务执行任务时使用的计算与存储资源及相应的其他参量,加速模块结合专用子运算任务组合的计算与存储资源及其他参量,
分解划分模块进一步优化专用子运算任务组合及其对应的通用子运算任务的划分,完成神经网络算法的加速,其中划分通用子运算任务组合前,分解划分模块利用处理器针对专用子运算任务组合执行任务时使用的计算与存储资源及其他参量进行分析比较,调整专用子运算任务组合中专用子运算任务数量及计算复杂度,获得优化的专用子运算任务组合,分别给专用子运算任务组合分配计算与存储资源,累加各专用子运算任务组合执行任务时使用的计算与存储资源,同时获取相应的其他参量,分析比较各专用子运算任务组合使用的计算与存储资源及其他参量,结合处理器的相关参数,调整专用子运算任务组合中专用子运算任务数量及计算复杂度。
4.根据权利要求3所述的一种软硬件协同加速神经网络算法的系统,其特征是加速模块对专用子运算任务组合利用处理器进行软件处理加速。
5.一种计算机设备,其特征在是包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1或2所述一种软硬件协同加速神经网络算法的方法的步骤。
6.一种计算机可读存储介质,其特征在是所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现如权利要求1或2所述的一种软硬件协同加速神经网络算法的方法。
CN202010405663.7A 2020-05-14 2020-05-14 一种软硬件协同加速神经网络算法的方法及系统 Active CN111598221B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010405663.7A CN111598221B (zh) 2020-05-14 2020-05-14 一种软硬件协同加速神经网络算法的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010405663.7A CN111598221B (zh) 2020-05-14 2020-05-14 一种软硬件协同加速神经网络算法的方法及系统

Publications (2)

Publication Number Publication Date
CN111598221A CN111598221A (zh) 2020-08-28
CN111598221B true CN111598221B (zh) 2023-07-25

Family

ID=72185498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010405663.7A Active CN111598221B (zh) 2020-05-14 2020-05-14 一种软硬件协同加速神经网络算法的方法及系统

Country Status (1)

Country Link
CN (1) CN111598221B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579286B (zh) * 2020-12-16 2021-08-06 全芯智造技术有限公司 用于光源掩模优化的方法、设备和存储介质
CN113190352B (zh) * 2021-05-12 2024-02-06 北京中科通量科技有限公司 一种面向通用cpu的深度学习计算加速方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108090560A (zh) * 2018-01-05 2018-05-29 中国科学技术大学苏州研究院 基于fpga的lstm递归神经网络硬件加速器的设计方法
CN108280514A (zh) * 2018-01-05 2018-07-13 中国科学技术大学 基于fpga的稀疏神经网络加速系统和设计方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11501130B2 (en) * 2016-09-09 2022-11-15 SK Hynix Inc. Neural network hardware accelerator architectures and operating method thereof
KR20190136431A (ko) * 2018-05-30 2019-12-10 삼성전자주식회사 뉴럴 네트워크 시스템, 이를 포함하는 어플리케이션 프로세서 및 뉴럴 네트워크 시스템의 동작방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108090560A (zh) * 2018-01-05 2018-05-29 中国科学技术大学苏州研究院 基于fpga的lstm递归神经网络硬件加速器的设计方法
CN108280514A (zh) * 2018-01-05 2018-07-13 中国科学技术大学 基于fpga的稀疏神经网络加速系统和设计方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
冯辅周 ; 罗坤 ; 邱绵浩 ; 江鹏程 ; 陈强 ; .通装机液检测试验平台综合测控系统设计与实现.装甲兵工程学院学报.2008,(04),全文. *
白瑞林 ; 沈宪明 ; 庄车 ; .FCMAC网络的软硬件协同设计与实现.计算机工程.2008,(01),全文. *

Also Published As

Publication number Publication date
CN111598221A (zh) 2020-08-28

Similar Documents

Publication Publication Date Title
CN110941667B (zh) 一种移动边缘计算网络中的计算卸载方法及系统
CN111459628B (zh) 基于改进量子蚁群算法的Spark平台任务调度方法
CN111598221B (zh) 一种软硬件协同加速神经网络算法的方法及系统
CN104317658A (zh) 一种基于MapReduce的负载自适应任务调度方法
CN108270805B (zh) 用于数据处理的资源分配方法及装置
CN106815070B (zh) 一种用于图像分析的高性能计算框架方法及系统
CN114610474B (zh) 一种异构超算环境下多策略的作业调度方法及系统
CN106650925A (zh) 一种基于MIC集群的深度学习框架Caffe系统及算法
CN108304925A (zh) 一种池化计算装置及方法
CN114237869B (zh) 基于强化学习的Ray双层调度方法、装置和电子设备
CN112580943B (zh) 一种应用于无人机集群的任务分解与能力匹配方法
CN110535700B (zh) 一种多用户多边缘服务器场景下的计算卸载方法
CN114996001A (zh) 一种分布式机器学习任务gpu资源调度分配方法及系统
CN109684088B (zh) 云平台资源约束的遥感大数据快速处理任务调度方法
CN108399105B (zh) 一种基于改进头脑风暴算法的软硬件划分方法
CN106293947B (zh) 虚拟化云环境下gpu-cpu混合资源分配系统和方法
CN111611062A (zh) 云边协同分层计算方法及云边协同分层计算系统
CN109598250A (zh) 特征提取方法、装置、电子设备和计算机可读介质
CN113128681A (zh) 一种多边缘设备辅助的通用cnn推理加速系统
CN115543624A (zh) 异构算力编排调度方法、系统、设备及存储介质
CN114327811A (zh) 一种任务调度方法、装置、设备及可读存储介质
CN112434785B (zh) 一种面向超级计算机的分布式并行深度神经网络性能评测方法
CN114217688B (zh) 一种基于神经网络结构的npu功耗优化系统和方法
CN112598112B (zh) 一种基于图神经网络的资源调度方法
CN112134812B (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
TA01 Transfer of patent application right

Effective date of registration: 20230627

Address after: 250100 building S02, No. 1036, Langchao Road, high tech Zone, Jinan City, Shandong Province

Applicant after: Shandong Inspur Scientific Research Institute Co.,Ltd.

Address before: 250100 First Floor of R&D Building 2877 Kehang Road, Sun Village Town, Jinan High-tech Zone, Shandong Province

Applicant before: JINAN INSPUR HIGH-TECH TECHNOLOGY DEVELOPMENT Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant