执行转数提前的集成电路装置的制作方法

文档序号:26883779发布日期:2021-10-09 11:32阅读:106来源:国知局
执行转数提前的集成电路装置的制作方法

1.本发明一般地涉及神经网络领域。更具体地,本发明涉及执行转数提前的集成电路装置。


背景技术:

2.近年来,神经网络算法作为人工智能算法中的一个分支类别,在越来越多的领域展现了良好的适配性和优越的性能表现,如:图像识别、目标检测、自然语言处理等,成为了学术界和工业界的研究热点。
3.然而,神经网络算法的计算量大(可达100亿数量级运算量),且模型训练需要反向传播过程,消耗大量的硬件资源,传统的通用处理器为了兼顾通用性,无法满足智能应用场景的需求,因此高性能且低功耗的神经网络加速器成为了近年来体系结构领域的研究热点之一。
4.由于加速器的架构各异,对数据的摆放、分块、搬移、运算等方面有着不同的约束,所以对相应的编程系统需要考虑底层的硬件实现细节,以生成指令。特别是神经网络模型中卷积和全连接算子,其占用了绝大部分的运算资源,易导致硬件算力不足以至于运行效率降低。
5.因此一种针对神经网络模型的编译优化方案是迫切需要的。


技术实现要素:

6.为了至少部分地解决背景技术中提到的技术问题,本发明的方案提供了一种执行转数提前的集成电路装置。
7.在一个方面中,本发明揭露一种在神经网络模型中执行转数提前的集成电路装置,所述神经网络模型包括第一层及第二层,第一层及第二层分别包括加载阶段、计算阶段及存储阶段,第二层的计算阶段包括量化操作及低精度运算操作。集成电路装置包括处理装置及计算装置。处理装置用以将量化操作提前到第一层的计算阶段与存储阶段间;计算装置用以在第一层执行第一层的加载阶段、计算阶段、量化操作及第一层的存储阶段,而在第二层执行第二层的加载阶段、低精度运算操作及第二层的存储阶段。
8.在另一个方面,本发明揭露一种在神经网络模型的算子中执行转数提前的集成电路装置,所述算子包括加载阶段及计算阶段,加载阶段及计算阶段分别包括前处理操作及后处理操作,计算阶段的前处理操作包括量化操作。集成电路装置包括:处理装置,用以将量化操作提前到加载阶段的后处理操作;以及计算装置,用以在加载阶段的后处理操作中执行量化操作。
9.本发明提出了一种转数提前的方案,可以满足神经网络算子中按照算法对于计算逻辑的循环划分,以及计算层级内部的数据切片的循环划分,节省层间数据搬移量,减少硬件的带宽占用量,提升性能。
附图说明
10.通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,并且相同或对应的标号表示相同或对应的部分其中:
11.图1是示出本发明实施例的板卡的结构图;
12.图2是示出本发明实施例的集成电路装置的结构图;
13.图3是示出本发明实施例的计算装置的内部结构示意图;
14.图4是示出本发明实施例的处理器核的内部结构示意图;
15.图5是示出本发明实施例的执行树的示意图;
16.图6是示出本发明实施例解析遍历执行树的示意图;
17.图7是示出本发明实施例基于执行树进行量化的流程图;以及
18.图8是示出本发明实施例的卷积及全连接层进行转数提前的示意图。
具体实施方式
19.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
20.应当理解,本发明的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本发明的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
21.还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本发明。如在本发明说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本发明说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
22.如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。
23.下面结合附图来详细描述本发明的具体实施方式。
24.图1示出本发明实施例的一种板卡10的结构示意图。如图1所示,板卡10包括芯片101,其是一种系统级芯片(system on chip,soc),或称片上系统,集成有一个或多个组合处理装置,组合处理装置是一种人工智能运算单元,用以支持各类深度学习和机器学习算法,满足计算机视觉、语音、自然语言处理、数据挖掘等领域复杂场景下的智能处理需求。特别是深度学习技术大量应用在云端智能领域,云端智能应用的一个显著特点是输入数据量大,对平台的存储能力和计算能力有很高的要求,此实施例的板卡10适用在云端智能应用,具有庞大的片外存储、片上存储和强大的计算能力。
25.芯片101通过对外接口装置102与外部设备103相连接。外部设备103例如是服务器、计算机、摄像头、显示器、鼠标、键盘、网卡或wifi接口等。待处理的数据可以由外部设备
103通过对外接口装置102传递至芯片101。芯片101的计算结果可以经由对外接口装置102传送回外部设备103。根据不同的应用场景,对外接口装置102可以具有不同的接口形式,例如pcie接口等。
26.板卡10还包括用于存储数据的存储器件104,其包括一个或多个存储单元105。存储器件104通过总线与控制器件106和芯片101进行连接和数据传输。板卡10中的控制器件106配置用于对芯片101的状态进行调控。为此,在一个应用场景中,控制器件106可以包括单片机(micro controller unit,mcu)。
27.图2是示出此实施例的芯片101中的组合处理装置的结构图。如图2中所示,组合处理装置20包括计算装置201、接口装置202、处理装置203和dram 204。
28.计算装置201配置成执行用户指定的操作,主要实现为单核智能处理器或者多核智能处理器,用以执行深度学习或机器学习的计算,其可以通过接口装置202与处理装置203进行交互,以共同完成用户指定的操作。
29.接口装置202用于在计算装置201与处理装置203间传输数据和控制指令。例如,计算装置201可以经由接口装置202从处理装置203中获取输入数据,写入计算装置201片上的存储装置。进一步,计算装置201可以经由接口装置202从处理装置203中获取控制指令,写入计算装置201片上的控制缓存中。替代地或可选地,接口装置202也可以读取计算装置201的存储装置中的数据并传输给处理装置203。
30.处理装置203作为通用的处理装置,执行包括但不限于数据搬运、对计算装置201的开启和/或停止等基本控制。根据实现方式的不同,处理装置203可以是中央处理器(central processing unit,计算类u)、图形处理器(graphics processing unit,gpu)或其他通用和/或专用处理器中的一种或多种类型的处理器,这些处理器包括但不限于数字信号处理器(digital signal processor,dsp)、专用集成电路(applicat输入输出类n specific integrated circuit,asic)、现场可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,并且其数目可以根据实际需要来确定。如前所述,仅就本发明的计算装置201而言,其可以视为具有单核结构或者同构多核结构。然而,当将计算装置201和处理装置203整合共同考虑时,二者视为形成异构多核结构。
31.dram 204用以存储待处理的数据,为ddr内存,大小通常为16g或更大,用于保存计算装置201和/或处理装置203的数据。
32.图3示出了计算装置201的内部结构示意图。计算装置201用以处理计算机视觉、语音、自然语言、数据挖掘等输入数据,图中的计算装置201采用多核分层结构设计,计算装置201作为一个片上系统,其包括多个集群(cluster),每个集群又包括多个处理器核,换言之,计算装置201是以片上系统

集群

处理器核的层次所构成的。
33.以片上系统的层级来看,如图3所示,计算装置201包括外部存储控制器301、外设通信模块302、片上互联模块303、同步模块304以及多个集群305。
34.外部存储控制器301可以有多个,在图中示例性地展示2个,其用以响应处理器核发出的访问请求,访问外部存储设备,例如图2中的dram204,从而自片外读取数据或是将数据写入。外设通信模块302用以通过接口装置202接收来自处理装置203的控制信号,启动计算装置201执行任务。片上互联模块303将外部存储控制器301、外设通信模块302及多个集
群305连接起来,用以在各个模块间传输数据和控制信号。同步模块304是一种全局同步屏障控制器(global barrier controller,gbc),用以协调各集群的工作进度,确保信息的同步。多个集群305是计算装置201的计算核心,在图中示例性地展示4个,随着硬件的发展,本发明的计算装置201还可以包括8个、16个、64个、甚至更多的集群305。集群305用以高效地执行深度学习算法。
35.以集群的层级来看,如图3所示,每个集群305包括多个处理器核(ipu core)306及一个存储核(mem core)307。
36.处理器核306在图中示例性地展示4个,本发明不限制处理器核306的数量。其内部架构如图4所示。每个处理器核306包括三大模块:控制模块41、运算模块42及存储模块43。
37.控制模块41用以协调并控制运算模块42和存储模块43的工作,以完成深度学习的任务,其包括取指单元(instruct输入输出类n fetch unit,ifu)411及指令译码单元(instruct输入输出类n decode unit,idu)412。取指单元411用以获取来自处理装置203的指令,指令译码单元412则将获取的指令进行译码,并将译码结果作为控制信息发送给运算模块42和存储模块43。
38.运算模块42包括向量运算单元421及矩阵运算单元422。向量运算单元421用以执行向量运算,可支持向量乘、加、非线性变换等复杂运算;矩阵运算单元422负责深度学习算法的核心计算,即矩阵乘及卷积。
39.存储模块43用来存储或搬运相关数据,包括神经元存储单元(neuron ram,nram)431、权值存储单元(weight ram,wram)432、输入/输出直接内存访问模块(input/output direct memory access,输入输出类dma)433、搬运直接内存访问模块(move direct memory access,mvdma)434。nram 431用以存储供处理器核306计算的特征图及计算后的中间结果;wram 432则用以存储深度学习网络的权值;输入输出类dma 433通过广播总线309控制nram 431/wram 432与dram 204的访存;mvdma 434则用以控制nram 431/wram 432与sram 308的访存。
40.回到图3,存储核307主要用以存储和通信,即存储处理器核306间的共享数据或中间结果、以及执行集群305与dram 204之间的通信、集群305间彼此的通信、处理器核306间彼此的通信等。在其他实施例中,存储核307具有标量运算的能力,用以执行标量运算。
41.存储核307包括共享存储单元(sram)308、广播总线309、集群直接内存访问模块(cluster direct memory access,cdma)310及全局直接内存访问模块(global direct memory access,gdma)311。sram 308承担高性能数据中转站的角色,在同一个集群305内不同处理器核306之间所复用的数据不需要通过处理器核306各自向dram 204获得,而是经sram 308在处理器核306间中转,存储核307只需要将复用的数据从sram 308迅速分发给多个处理器核306即可,以提高核间通讯效率,亦大大减少片上片外的输入/输出访问。
42.广播总线309、cdma 310及gdma 311则分别用来执行处理器核306间的通信、集群305间的通信和集群305与dram 204的数据传输。以下将分别说明。
43.广播总线309用以完成集群305内各处理器核306间的高速通信,此实施例的广播总线309支持核间通信方式包括单播、多播与广播。单播是指点对点(即单一处理器核至单一处理器核)的数据传输,多播是将一份数据从sram 308传输到特定几个处理器核306的通信方式,而广播则是将一份数据从sram 308传输到所有处理器核306的通信方式,属于多播
的一种特例。
44.cdma 310用以控制在同一个计算装置201内不同集群305间的sram 308的访存。
45.gdma 311与外部存储控制器301协同,用以控制集群305的sram 308到dram 204的访存,或是将数据自dram 204读取至sram 308中。从前述可知,dram 204与nram 431或wram 432间的通信可以经由2个渠道来实现。第一个渠道是通过输入输出类dam 433直接联系dram 204与nram 431或wram 432;第二个渠道是先经由gdma 311使得数据在dram 204与sram 308间传输,再经过mvdma 434使得数据在sram 308与nram 431或wram 432间传输。虽然表面上看来第二个渠道需要更多的元件参与,数据流较长,但实际上在部分实施例中,第二个渠道的带宽远大于第一个渠道,因此dram 204与nram 431或wram 432间的通信通过第二个渠道可能更有效率。本发明的实施例可根据本身硬件条件选择数据传输渠道。
46.在其他实施例中,gdma 311的功能和输入输出类dma 433的功能可以整合在同一部件中。本发明为了方便描述,将gdma 311和输入输出类dma 433视为不同部件,对于本领域技术人员来说,只要其实现的功能以及达到的技术效果与本发明类似,即属于本发明的保护范围。进一步地,gdma 311的功能、输入输出类dma 433的功能、cdma 310的功能、mvdma 434的功能亦可以由同一部件来实现。
47.此实施例适用的神经网络框架预定义了一系列的神经网络层或算子接口。开发者通过调用神经网络框架的应用编程接口(api),设置每一层的层参数,链接数据与层之间的依赖关系,以搭建神经网络模型结构。在网络模型训练过程后,模型参数和权值数据被保存在结构化的模型文件中,储存在dram 204中。在部署运行时,处理装置203调用框架的api,加载训练好的网络模型,使用实际的输入数据,在计算装置201上执行网络模型的正向推理过程,得到网络的最终输出结果。而由于正向推理过程中模型结构和参数都是已知的,此实施例利用这些信息进行加速。
48.此实施例提出了一种树状的神经网络算子编程方法,称之为执行树。图5示出此实施例的执行树的示意图。执行树的节点是一个迭代的数据结构,由一个根节点501连接一个子树而成,子树可以包含任意多层及任意多个子节点,子节点又分为非叶子节点及叶子节点。非叶子节点位于子树的中间层,图5中示例性地显示2个非叶子节点502及503。叶子节点位于子树的最后一层,图5中示例性地显示2个叶子节点504及505。子树的层数与子节点数根据算子的需要而定,此实施例不做限制。
49.根节点和子节点的操作的执行逻辑相同,包括:初始操作、前处理操作、主体操作、后处理操作及结束操作。根节点和子节点还包括循环操作(未示出),用以记录该节点需要重复执行的次数。
50.初始操作在同级的执行树中是最先执行的部分,并且只执行一次,不随循环重复执行,是属于一次性初始化指令,例如寄存器初始化、激活操作配置等指令。前处理操作在初始操作之后执行,根据循环操作重复执行至少一次,负责主体操作之前的前处理,例如在scale算子中,短向量右操作数对应循环分段数据的取数操作等。主体操作在前处理操作之后执行,同样根据循环操作重复执行至少一次,负责算子主体循环的计算部分。如果是根节点或非叶子节点,主体操作只用于切割数据并分配任务给下一层的子节点;如果是叶子节点,其主体操作是执行树的运算核心部分,例如进行累积加法运算。后处理操作在主体操作之后,同样根据循环操作重复执行至少一次,负责运算之后的后处理操作,包括复用数据的
搬移、寄存器偏移等操作。结束操作只执行一次,用以输出计算结果。
51.上述各操作的执行次数与时机,是处理装置203基于神经网络算子在计算装置201上的运行指令的循环分析而创建的,而非执行树的功能限制。当需要循环操作时,循环的部分为前处理操作、主体操作及后处理操作。
52.在此实施例中,神经网络算子的执行大体可以分为3个阶段:加载阶段、计算阶段和存储阶段,故处理装置203将神经网络算子的执行树划分为加载、计算、存储三种树,每个算子的执行树都由加载、计算、存储树的根节点及其子树构成,即一个算子所有的执行树均属于这3个树中其中一种,每种树都拥有图5的结构。
53.在运行神经网络模型时,一个算子的3个执行树就能实现神经网络算子在计算装置201上运行所需的所有指令。首先,计算装置201执行加载树的一个叶子节点的相应执行顺序的操作的所有指令,再执行计算树的一个叶子节点,最后执行存储树的叶子节点,循环往复,直至所有的节点均执行完毕。
54.更详细来说,在编译阶段,处理装置203在解析遍历一个执行树时,是按照前序优先遍历的顺序,先执行根节点的初始、前处理操作,再遍历其子树的主体操作里的所有节点,最后执行根节点的后处理、结束。其中前处理、主体和后处理在循环时重复执行。
55.为了实现循环操作,当需要重复执行时,在需要重复执行的节点的后处理操作之后插入同步指令。计算装置201在运行时,如果接收到同步指令,便会回到该节点的前处理操作,再次执行前处理操作、主体操作与后处理操作,直到循环操作的循环次数被满足,才会执行该节点的结束操作。
56.图6示出此实施例解析遍历执行树的示意图。此简化的执行树包括一个根节点601、第一叶子节点602及第二叶子节点603。假设根节点601的循环操作记录根节点601的循环次数为3次,第一叶子节点602的循环操作记录第一叶子节点602的循环次数为5次,第二叶子节点603的循环操作记录第二叶子节点603的循环次数为1次。处理装置203在遍历此执行树时,先执行根节点601的初始和前处理操作,根据其子树的前后链接顺序,接着执行第一叶子节点602的初始、前处理、主体、后处理操作,此时接收到同步指令604,同步指令604的循环信息记录需要重复执行5次。由于第一叶子节点602只执行了一次,故重复执行第一叶子节点602的前处理、主体、后处理操作,直到循环了5次,最后执行第一叶子节点602的结束操作。至此第一叶子节点602的子树的所有操作全部遍历完毕。
57.接着处理装置203遍历执行第二叶子节点603的子树。由于第二叶子节点603只需要循环一次,故在第二叶子节点603中不需要插入同步指令,直接执行初始、前处理、主体、后处理、结束操作,便回到根节点601。
58.继续遍历根节点601,即执行根节点601的后处理操作。由于根节点601需要被执行3次,因此根节点601的后处理操作之后设有同步指令605,同步指令605的循环信息记录需要重复执行3次。此时处理装置203回到根节点601的前处理操作重复执行,接着是如前所述其所有子树的全部操作流程,再执行根节点601的后处理操作,直到循环了3次,最后执行根节点601的结束操作,以完成根节点601树中所有操作的执行。
59.图6的例子是作为单个执行树的遍历顺序而言,由上述可知,计算装置201在计算算子时,是按照执行树的节点基于加载

计算

存储

加载

计算

存储的链状循环重复遍历完成。
60.处理装置203在编译执行树时,是基于神经网络算子的具体算法来分析,得出计算的循环层级,构建相应的执行树层级,链接子树关系。再由每次输入、输出、常数等数据块在片上资源(主要是nram 431内存空间)的占用比例或实际大小,得出每次计算循环内最大输入(或输出)的数据量,由具体计算循环层级的输入数据量除以单次循环的最大输入数据量,得出数据切片的循环层级,以链接子树关系。在各子树中,按照实际循环时的数据量,在合适的操作中,进行内存分配与释放。最后在各子树的合适的操作中,填充相应的加载片外数据、搬移复用数据、计算、存储输出数据等指令,以完成算子编译工作。
61.由于卷积层及全连接层在全网络中占据了大部分的计算量,需要针对这些计算进行优化,以提升全网络性能。此实施例考虑到由于卷积层及全连接层中的权值数据的参数量较大,有一定的冗余性,基于对精度完全无损或在允许范围内的精度损失的情况下,采取低精度的计算方式。换言之,为了节省硬件资源的使用,此实施例利用量化将高精度的浮点数转换成低精度的定点数来加速神经网络运算。例如矩阵运算单元422仅支持8位定点数(int8)的乘累加操作,在进行矩阵运算前,要将输入数据和权值数据都转换为int8数据类型的定点数,再导入至矩阵运算单元422进行的计算。
62.在这两种层中,权值数据可以使用离线预处理量化的方法,提前转换完成。权值数据是离线保存在模型中的,可以在编译时预处理,按照对应的数据类型转换权值数据,保存在新的网络模型文件中,并修改相应的网络模型结构描述文件,标记对应神经网络层的运算数据类型,添加相应的量化所需参数。在编译时,按照量化后的网络模型参数,生成计算装置201的指令序列。在运行时,计算装置201通过生成的指令序列,按照对应计算数据类型的位宽,加载所需的权值数据到wram 432上,进行卷积及全连接层的运算,以实现网络加速。
63.然而,卷积及全连接算子的输入数据在网络中可能是来源于其他神经网络层的输出结果,无法在编译时提前转换数据类型,需要在片上使用相应的指令序列,完成数据类型转换操作。上述指令均是计算类指令,将在算子的计算阶段进行。
64.图7示出此实施例基于执行树进行量化的流程图。如前所述,执行树的叶子节点是根据加载

计算

存储的顺序进行的,由于初始操作与结束操作并非量化的关键操作,在图7的相应说明中忽略不提。在步骤701中,执行加载叶子节点的前处理操作;在步骤702中,执行加载叶子节点的主体操作,输入数据及权值此时被载入至nram 431及wram 432;在步骤703中,执行加载叶子节点的后处理操作;在步骤704中,执行计算叶子节点的前处理操作;在步骤705中,执行计算叶子节点的主体操作;在步骤706中,执行计算叶子节点的后处理操作。在计算阶段后,还存在存储阶段的加载

计算

存储操作,在图7的相应说明中同样忽略不提。
65.数据类型转换指令(量化操作)会将nram 431中连续的数据按照对应的数据类型,在向量运算单元421中向量化地执行,理论上会在对应算子的计算树的叶子节点的前处理操作中实现,也就是步骤704中进行量化。而在此实施例中,数据类型转换(量化操作)提前在数据搬移时完成,变成输入输出类指令,在加载树的叶子节点的后处理操作中即可实现,也就是提前到步骤703中进行量化。如此一来,在加载阶段的结束操作中,以及计算阶段的前处理操作中,均可减少数据的搬运量。
66.不仅如此,此实施例还针对卷积及全连接等算子中出现的数据类型转换操作,提
出了一种数据类型转换调度提前的编译优化方法。
67.除了如图7所示的转数提前外,在全网络运算中,卷积及全连接等算子层中的矩阵运算涉及低精度运算,其使用的输入数据类型的位宽(int8),小于其他使用高精度计算的算子层的位宽(fp16),当输入数据块来源为其他数据层的输出时,处理装置203将数据类型转换操作调度至对应的前算子层中的计算阶段中。图8示出此实施例的卷积及全连接层进行转数提前的示意图,图中示例性地显示2层:第一层与第二层。在编译时执行转数提前之前,第一层执行加载801

计算802

存储803的操作,第二层为卷积或全连接层,执行加载804

量化805

卷积/全连接806

存储807的操作,其中量化805与卷积/全连接806为第二层的计算阶段,由于卷积/全连接806只接受定点数,因此在量化805中先将浮点数转换成定点数。
68.在编译时执行转数提前时,处理装置203将量化805提前到第一层的计算802与存储803间,即在转数提前后,计算装置201在第一层执行加载801

计算802

量化805

存储803的操作,而第二层执行加载804

卷积/全连接806

存储807的操作。如此一来,使得第一层的存储803的输出数据操作与第二层的加载804的输入数据操作中的数据量仅为原数据一半,节省带宽,提升性能。
69.本发明提出了一种转数提前的方案,可以满足神经网络算子中按照算法对于计算逻辑的循环划分,以及计算层级内部的数据切片的循环划分,节省层间数据搬移量,减少硬件的带宽占用量,提升性能。
70.根据不同的应用场景,本发明的电子设备或装置可以包括服务器、云端服务器、服务器集群、数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、pc设备、物联网终端、移动终端、手机、行车记录仪、导航仪、传感器、摄像头、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、视觉终端、自动驾驶终端、交通工具、家用电器、和/或医疗设备。所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、b超仪和/或心电图仪。本发明的电子设备或装置还可以被应用于互联网、物联网、数据中心、能源、交通、公共管理、制造、教育、电网、电信、金融、零售、工地、医疗等领域。进一步,本发明的电子设备或装置还可以用于云端、边缘端、终端等与人工智能、大数据和/或云计算相关的应用场景中。在一个或多个实施例中,根据本发明方案的算力高的电子设备或装置可以应用于云端设备(例如云端服务器),而功耗小的电子设备或装置可以应用于终端设备和/或边缘端设备(例如智能手机或摄像头)。在一个或多个实施例中,云端设备的硬件信息和终端设备和/或边缘端设备的硬件信息相互兼容,从而可以根据终端设备和/或边缘端设备的硬件信息,从云端设备的硬件资源中匹配出合适的硬件资源来模拟终端设备和/或边缘端设备的硬件资源,以便完成端云一体或云边端一体的统一管理、调度和协同工作。
71.需要说明的是,为了简明的目的,本发明将一些方法及其实施例表述为一系列的动作及其组合,但是本领域技术人员可以理解本发明的方案并不受所描述的动作的顺序限制。因此,依据本发明的公开或教导,本领域技术人员可以理解其中的某些步骤可以采用其他顺序来执行或者同时执行。进一步,本领域技术人员可以理解本发明所描述的实施例可以视为可选实施例,即其中所涉及的动作或模块对于本发明某个或某些方案的实现并不一定是必需的。另外,根据方案的不同,本发明对一些实施例的描述也各有侧重。鉴于此,本领
域技术人员可以理解本发明某个实施例中没有详述的部分,也可以参见其他实施例的相关描述。
72.在具体实现方面,基于本发明的公开和教导,本领域技术人员可以理解本发明所公开的若干实施例也可以通过此实施例未公开的其他方式来实现。例如,就前文所述的电子设备或装置实施例中的各个单元来说,此实施例在考虑了逻辑功能的基础上对其进行拆分,而实际实现时也可以有另外的拆分方式。又例如,可以将多个单元或组件结合或者集成到另一个系统,或者对单元或组件中的一些特征或功能进行选择性地禁用。就不同单元或组件之间的连接关系而言,前文结合附图所讨论的连接可以是单元或组件之间的直接或间接耦合。在一些场景中,前述的直接或间接耦合涉及利用接口的通信连接,其中通信接口可以支持电性、光学、声学、磁性或其它形式的信号传输。
73.在本发明中,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元示出的部件可以是或者也可以不是物理单元。前述部件或单元可以位于同一位置或者分布到多个网络单元上。另外,根据实际的需要,可以选择其中的部分或者全部单元来实现本发明实施例所述方案的目的。另外,在一些场景中,本发明实施例中的多个单元可以集成于一个单元中或者各个单元物理上单独存在。
74.在另外一些实现场景中,上述集成的单元也可以采用硬件的形式实现,即为具体的硬件电路,其可以包括数字电路和/或模拟电路等。电路的硬件结构的物理实现可以包括但不限于物理器件,而物理器件可以包括但不限于晶体管或忆阻器等器件。鉴于此,此实施例所述的各类装置(例如计算装置或其他处理装置)可以通过适当的硬件处理器来实现,例如中央处理器、gpu、fpga、dsp和asic等。进一步,前述的所述存储单元或存储装置可以是任意适当的存储介质(包括磁存储介质或磁光存储介质等),其例如可以是可变电阻式存储器(resistive random access memory,rram)、动态随机存取存储器(dynamic random access memory,dram)、静态随机存取存储器(static random access memory,sram)、增强动态随机存取存储器(enhanced dynamic random access memory,edram)、高带宽存储器(high bandwidth memory,hbm)、混合存储器立方体(hybrid memory cube,hmc)、rom和ram等。
75.以上对本发明实施例进行了详细介绍,此实施例中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1