CN110490300A - 一种基于深度学习的运算加速方法、装置及系统 - Google Patents

一种基于深度学习的运算加速方法、装置及系统 Download PDF

Info

Publication number
CN110490300A
CN110490300A CN201910681089.5A CN201910681089A CN110490300A CN 110490300 A CN110490300 A CN 110490300A CN 201910681089 A CN201910681089 A CN 201910681089A CN 110490300 A CN110490300 A CN 110490300A
Authority
CN
China
Prior art keywords
deep learning
accelerator card
carries out
accelerator
layer
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.)
Granted
Application number
CN201910681089.5A
Other languages
English (en)
Other versions
CN110490300B (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 Wave Intelligent Technology Co Ltd
Original Assignee
Suzhou Wave Intelligent 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 Wave Intelligent Technology Co Ltd filed Critical Suzhou Wave Intelligent Technology Co Ltd
Priority to CN201910681089.5A priority Critical patent/CN110490300B/zh
Publication of CN110490300A publication Critical patent/CN110490300A/zh
Application granted granted Critical
Publication of CN110490300B publication Critical patent/CN110490300B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • 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
    • 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

Landscapes

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

Abstract

本发明为了解决现有技术中存在的问题,创新提出了一种基于深度学习的运算加速方法,包括:统计深度学习中AI算法中每个运算层的运算时间;每个加速卡针对至少一个运算层进行加速运算,当前加速卡的运算结果作为输入,传递到下一个加速卡进行加速运算;本发明还提出了一种基于深度学习的运算加速装置及系统,有效解决由于单一加速卡处理深度学习中AI算法中所有运算层带来的时间缓慢的问题,有效的提高的运算效率,而且每个加速卡进行加速运算的时间均相同,有效解决如果不同加速卡进行加速运算的时间不同容易造成运算拥堵的问题。

Description

一种基于深度学习的运算加速方法、装置及系统
技术领域
本发明涉及深度学习领域,尤其是涉及一种一种基于深度学习的运算加速方法、装置及系统。
背景技术
目前深度学习为AI技术的主流,其算法是许多不同的运算层所组合的,如图1所示,当数据进入AI算法,会先在运算层1进行处理,并将运算层1的运算结果输出到运算层2当作输入,依次类推。
由于每一层都含有大量的矩阵乘法运算,若是只用CPU运算会花费相当大的时间,因此都会利用其他加速卡如GPU或FPGA进行矩阵乘法运算加速,以便能得到更短的输出延迟。其原理为,将矩阵乘法运算拆分成许多独立的小乘法运算,并利用加速卡中大量的处理单元并行处理每个小乘法运算,因此能更快地将该层内的运算处理完毕。
因为深度学习的特性为每一层的输入为上一层的输出,因此加速卡必须先将上一层运算完毕后才可以对这一层进行运算。现有的深度学习推论加速架构中,是将不同层依次放到同一加速卡上进行加速运算,当这一层运算完毕后,将其输出当成下一层的输入,并开始对下一层进行加速运算,当所有层都运算结束后便得到推论结果。如图2所示,每一笔数据都需经过3个运算层也就是3个推论步骤才会得到结果,这种方法运算时间较慢,不利于提高运算效率。
发明内容
本发明为了解决现有技术中存在的问题,创新提出了一种基于深度学习的运算加速方法,有效解决由于单一加速卡处理深度学习中AI算法中所有运算层带来的时间缓慢的问题,有效的提高的运算效率。
本发明第一方面提供了一种基于深度学习的运算加速方法,包括:
统计深度学习中AI算法中每个运算层的运算时间;
每个加速卡针对至少一个运算层进行加速运算,当前加速卡的运算结果作为输入,传递到下一个加速卡进行加速运算。
结合第一方面,在第一方面第一种可能的实现方式中,统计深度学习中AI算法中每个运算层的运算时间的具体实现方式为:通过计时器分别统计深度学习中AI算法中每个运算层的运算时间。
结合第一方面,在第一方面第二种可能的实现方式中,每个加速卡针对至少一个运算层进行加速运算,且进行加速运算的时间均相同。
进一步地,当每个运算层的运算时间均相同,则每个加速卡针对一个运算层进行加速运算;当每个运算层的运算时间不同,则每个加速卡针对两个以上的运算层进行加速运算。
本发明第二方面提供了一种基于深度学习的运算加速装置,包括:
统计模块,统计深度学习中AI算法中每个运算层的运算时间;
加速运算模块,每个加速卡针对至少一个运算层进行加速运算,当前加速卡的运算结果作为输入,传递到下一个加速卡进行加速运算。
结合第二方面,在第二方面第一种可能的实现方式中,加速运算模块中每个加速卡针对至少一个运算层进行加速运算,且进行加速运算的时间均相同。
结合第二方面,在第二方面第二种可能的实现方式中,所述加速卡为CPU、GPU、FPGA、ASIC中的任意一种。
结合第二方面,在第二方面第三种可能的实现方式中,所述加速卡之间通过PCIe接口或Ethernet接口通讯。
本发明第三方面提供了一种基于深度学习的运算加速系统,包括:
若干个串联的加速卡,每个加速卡针对深度学习中AI算法中至少一个运算层进行加速运算;每个加速卡进行加速运算的时间均相同,当前加速卡的运算结果作为输入,传递到下一个加速卡进行加速运算。
本发明采用的技术方案包括以下技术效果:
1、有效解决由于单一加速卡处理深度学习中AI算法中所有运算层带来的时间缓慢的问题,有效的提高的运算效率。
2、每个加速卡进行加速运算的时间均相同,有效解决如果不同加速卡进行加速运算的时间不同容易造成运算拥堵的问题,提高了运算效率。
应当理解的是以上的一般描述以及后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
为了更清楚说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见的,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中深度学习算法架构的示意图;
图2为现有技术中深度学习推论运算流程示意图;
图3为本发明方案中实施例一方法流程示意图;
图4为本发明方案中实施例一不同加速卡运算处理示意图;
图5为本发明方案中实施例二装置结构示意图;
图6为本发明方案中实施例三系统结构示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
实施例一
如图3所示,本发明提供了一种基于深度学习的运算加速方法,包括:
S1,统计深度学习中AI算法中每个运算层的运算时间;
S2,每个加速卡针对至少一个运算层进行加速运算,当前加速卡的运算结果作为输入,传递到下一个加速卡进行加速运算。
统计深度学习中AI算法中每个运算层的运算时间的具体实现方式可以为:通过计时器分别统计深度学习中AI算法中每个运算层的运算时间,也可以通过其他方式进行统计,本发明在此不做限制。每个加速卡只处理特定运算层的加速运算,其他运算层的加速运算由其他加速卡来进行,当前加速卡处理完之后,会给下一加速卡再进行相应加速运算。
优选地,每个加速卡针对至少一个运算层进行加速运算,且进行加速运算的时间均相同。如图4所示,本发明以深度学习中AI算法中包括3个运算层为例进行说明,当有连续的输入资料如影片,便可以利用本发明的方法达到更低延迟的运算。其原理为在第1个时间点得到第1笔数据,并将其输出到加速卡1作为运算层1的输入进行加速运算。在第2个时间点,第1笔数据的运算层1已运算完毕,并将运算结果输出到加速卡2作为运算层2的输入进行加速运算;同时间加速卡1得到第2笔数据,再次进行加速运算,第2个时间点与第1 个时间点的差值即为加速卡1减速运算层1的运算时间。在第3个时间点,第1笔数据的运算层2加速卡2已运算完毕,并将运算结果输出到加速卡3作为运算层3的输入进行加速运算;同时,第2笔数据的层1已运算完毕,并将运算结果输出到加速卡2作为运算层2的输入进行加速运算;同时,得到第3笔数据,并将其输出到加速卡1作为运算层1的输入进行加速运算。之后每个时间点都会有一笔数据得到推论结果,相较于传统只用一个加速卡进行加速运算,其每三个时间点才可以得到一笔推论结果,本发明架构将运算延迟时间有效减少,而且每个加速卡进行加速运算的时间均相同,有效避免了因为不同加速卡进行加速运算的时间不同的造成运算拥堵,提高了运算效率。考虑到每个运算层加速运算的时间不同,本发明实施例规定,首先统计每个运算层的运算时间,例如执行一含有四运算层的AI模型,其第一运算层运算时间为10s,第二运算层运算时间为3s,第三运算层运算时间为7s,第四层运算时间为10s。如果使用四张加速卡来分别运行这四层,由于第二层只需要3s的运算时间,造成不匹配的运算浪费。优选的分配应该是使用三张加速卡进行运算,第一张加速卡运行第一运算层,第二张加速卡运行第二、三运算层,第三张加速卡运行第四运算层,当然本发明对加速卡的数量不做限制,只要每个加速卡进行加速运算的时间相同,每个加速卡内包含的运算层的数量可以不限,但是为保证加速效果,在每个加速卡进行加速运算的时间相同的基础上,每个加速卡内包含的层数尽量少一些。
本发明实施例中,加速卡可以为CPU、GPU、FPGA、ASIC中的任意一种,也可以是其他类型的加速卡,本发明在此不做限制。加速卡之间可以通过PCIe接口或Ethernet接口通讯,也可以通过其他接口通讯,本发明在此同样不做限制。
本发明实施例通过提出一种基于深度学习的运算加速方法,有效解决由于单一加速卡处理深度学习中AI算法中所有运算层带来的时间缓慢的问题,有效的提高的运算效率。每个加速卡进行加速运算的时间均相同,有效解决如果不同加速卡加速运算的时间不同容易造成运算拥堵的问题,提高了运算效率。
实施例二
如图5所示,本发明技术方案还提供了一种基于深度学习的运算加速装置,包括:
统计模块101,统计深度学习中AI算法中每个运算层的运算时间;
加速运算模块102,每个加速卡针对至少一个运算层进行加速运算,当前加速卡的运算结果作为输入,传递到下一个加速卡进行加速运算。
本发明实施例中,加速运算模块102中每个加速卡进行加速运算的时间均相同;加速卡可以为CPU、GPU、FPGA、ASIC中的任意一种,也可以是其他类型的加速卡,本发明在此不做限制。加速卡之间可以通过PCIe接口或Ethernet接口通讯,也可以通过其他接口通讯,本发明在此同样不做限制。
本发明实施例通过提出一种基于深度学习的运算加速装置,有效解决由于单一加速卡处理深度学习中AI算法中所有运算层带来的时间缓慢的问题,有效的提高的运算效率。每个加速卡进行加速运算的时间均相同,有效解决如果不同加速卡进行加速运算的时间不同容易造成运算拥堵的问题,提高了运算效率。
实施例三
如图6所示,本发明技术方案还提供了一种基于深度学习的运算加速系统,包括:
若干个串联的加速卡,每个加速卡针对深度学习中AI算法中至少一个运算层进行加速运算;每个加速卡进行加速运算的时间均相同,当前加速卡的运算结果作为输入,传递到下一个加速卡进行加速运算。
本发明实施例通过提出一种基于深度学习的运算加速系统,有效解决由于单一加速卡处理深度学习中AI算法中所有运算层带来的时间缓慢的问题,有效的提高的运算效率。每个加速卡进行加速运算的时间均相同,有效解决如果不同加速卡进行加速运算的时间不同容易造成运算拥堵的问题,提高了运算效率。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

Claims (9)

1.一种基于深度学习的运算加速方法,其特征是,包括:
统计深度学习中AI算法中每个运算层的运算时间;
每个加速卡针对至少一个运算层进行加速运算,当前加速卡的运算结果作为输入,传递到下一个加速卡进行加速运算。
2.根据权利要求1所述的基于深度学习的运算加速方法,其特征是,统计深度学习中AI算法中每个运算层的运算时间的具体实现方式为:通过计时器分别统计深度学习中AI算法中每个运算层的运算时间。
3.根据权利要求1所述的基于深度学习的运算加速方法,其特征是,每个加速卡针对至少一个运算层进行加速运算,且进行加速运算的时间均相同。
4.根据权利要求3所述的基于深度学习的运算加速方法,其特征是,当每个运算层的运算时间均相同,则每个加速卡针对一个运算层进行加速运算;当每个运算层的运算时间不同,则每个加速卡针对两个以上的运算层进行加速运算。
5.一种基于深度学习的运算加速装置,其特征是,包括:
统计模块,统计深度学习中AI算法中每个运算层的运算时间;
加速运算模块,每个加速卡针对至少一个运算层进行加速运算,当前加速卡的运算结果作为输入,传递到下一个加速卡进行加速运算。
6.根据权利要求5所述的基于深度学习的运算加速装置,其特征是,加速运算模块中每个加速卡针对至少一个运算层进行加速运算,且进行加速运算的时间均相同。
7.根据权利要求5或6所述的基于深度学习的运算加速装置,其特征是,所述加速卡为CPU、GPU、FPGA、ASIC中的任意一种。
8.根据权利要求7所述的基于深度学习的运算加速装置,其特征是,所述加速卡之间通过PCIe接口或Ethernet接口通讯。
9.一种基于深度学习的运算加速系统,其特征是,包括:
若干个串联的加速卡,每个加速卡针对深度学习中AI算法中至少一个运算层进行加速运算;每个加速卡进行加速运算的时间均相同,当前加速卡的运算结果作为输入,传递到下一个加速卡进行加速运算。
CN201910681089.5A 2019-07-26 2019-07-26 一种基于深度学习的运算加速方法、装置及系统 Active CN110490300B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910681089.5A CN110490300B (zh) 2019-07-26 2019-07-26 一种基于深度学习的运算加速方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910681089.5A CN110490300B (zh) 2019-07-26 2019-07-26 一种基于深度学习的运算加速方法、装置及系统

Publications (2)

Publication Number Publication Date
CN110490300A true CN110490300A (zh) 2019-11-22
CN110490300B CN110490300B (zh) 2022-03-15

Family

ID=68547679

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910681089.5A Active CN110490300B (zh) 2019-07-26 2019-07-26 一种基于深度学习的运算加速方法、装置及系统

Country Status (1)

Country Link
CN (1) CN110490300B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104331858A (zh) * 2014-11-24 2015-02-04 厦门美图之家科技有限公司 一种同时利用cpu和gpu进行图像处理的加速方法
CN106020425A (zh) * 2016-05-27 2016-10-12 浪潮(北京)电子信息产业有限公司 一种fpga异构加速计算系统
CN107341127A (zh) * 2017-07-05 2017-11-10 西安电子科技大学 基于OpenCL标准的卷积神经网络加速方法
CN108665059A (zh) * 2018-05-22 2018-10-16 中国科学技术大学苏州研究院 基于现场可编程门阵列的卷积神经网络加速系统
CN108985449A (zh) * 2018-06-28 2018-12-11 中国科学院计算技术研究所 一种对卷积神经网络处理器的控制方法及装置
CN109213601A (zh) * 2018-09-12 2019-01-15 华东师范大学 一种基于cpu-gpu的负载均衡方法及设备
CN109284250A (zh) * 2017-09-11 2019-01-29 南京弹跳力信息技术有限公司 一种基于大规模fpga芯片的计算加速系统及其加速方法
CN109522185A (zh) * 2018-11-19 2019-03-26 江苏镭博智能科技有限公司 一种模型分割提高运算速度的方法
CN109919310A (zh) * 2019-01-15 2019-06-21 中国科学院信息工程研究所 一种面向深度学习训练任务的gpu内存优化方法及系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104331858A (zh) * 2014-11-24 2015-02-04 厦门美图之家科技有限公司 一种同时利用cpu和gpu进行图像处理的加速方法
CN106020425A (zh) * 2016-05-27 2016-10-12 浪潮(北京)电子信息产业有限公司 一种fpga异构加速计算系统
CN107341127A (zh) * 2017-07-05 2017-11-10 西安电子科技大学 基于OpenCL标准的卷积神经网络加速方法
CN109284250A (zh) * 2017-09-11 2019-01-29 南京弹跳力信息技术有限公司 一种基于大规模fpga芯片的计算加速系统及其加速方法
CN108665059A (zh) * 2018-05-22 2018-10-16 中国科学技术大学苏州研究院 基于现场可编程门阵列的卷积神经网络加速系统
CN108985449A (zh) * 2018-06-28 2018-12-11 中国科学院计算技术研究所 一种对卷积神经网络处理器的控制方法及装置
CN109213601A (zh) * 2018-09-12 2019-01-15 华东师范大学 一种基于cpu-gpu的负载均衡方法及设备
CN109522185A (zh) * 2018-11-19 2019-03-26 江苏镭博智能科技有限公司 一种模型分割提高运算速度的方法
CN109919310A (zh) * 2019-01-15 2019-06-21 中国科学院信息工程研究所 一种面向深度学习训练任务的gpu内存优化方法及系统

Also Published As

Publication number Publication date
CN110490300B (zh) 2022-03-15

Similar Documents

Publication Publication Date Title
CN105900064B (zh) 调度数据流任务的方法和装置
CN103546288B (zh) Sm2数字签名生成算法的实现方法及装置
WO2019153735A1 (zh) 数据处理方法、装置和系统
CN106951926A (zh) 一种混合架构的深度学习系统方法及装置
CN106506670B (zh) 一种云平台虚拟资源高速调度方法与系统
CN103049241B (zh) 一种提高cpu+gpu异构装置计算性能的方法
CN105162628A (zh) 快速确定网络合理告警阈值的系统和方法
CN109376843A (zh) 基于fpga的脑电信号快速分类方法、实现方法及装置
CN103914531B (zh) 数据的处理方法及装置
CN106789138A (zh) 一种网络告警关联分析的方法及装置
US20210056416A1 (en) Distributed Deep Learning System
EP4287074A1 (en) Mixture-of-experts model implementation method and system, electronic device, and storage medium
Behzad et al. Queue based job scheduling algorithm for cloud computing
CN110278104A (zh) 用于优化的服务质量加速的技术
CN103927433A (zh) 基于流控制的多源点多出口人群应急疏散调度方法
GB2611621A (en) Method of federated learning, electronic device, and storage medium
CN106648905A (zh) 一种电力大数据分布控制系统及其构建方法
CN110490300A (zh) 一种基于深度学习的运算加速方法、装置及系统
CN106293947A (zh) 虚拟化云环境下gpu‑cpu混合资源分配系统和方法
CN108958942A (zh) 一种分布式系统分配任务方法、调度器和计算机设备
CN106874083B (zh) 一种数采系统人机接口任务调度方法
CN104375883B (zh) 一种cfs调度器
CN115757120A (zh) 压力测试方法、装置、电子设备及可读存储介质
CN110502337A (zh) 针对Hadoop MapReduce中混洗阶段的优化系统及方法
CN104917692B (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