CN114691457A - 一种确定硬件性能的方法、装置、存储介质以及电子设备 - Google Patents
一种确定硬件性能的方法、装置、存储介质以及电子设备 Download PDFInfo
- Publication number
- CN114691457A CN114691457A CN202011596201.4A CN202011596201A CN114691457A CN 114691457 A CN114691457 A CN 114691457A CN 202011596201 A CN202011596201 A CN 202011596201A CN 114691457 A CN114691457 A CN 114691457A
- Authority
- CN
- China
- Prior art keywords
- instruction
- hardware
- instruction sequence
- target
- sequence
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3414—Workload generation, e.g. scripts, playback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Neurology (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供一种确定硬件性能的方法、装置、存储介质以及电子设备,该方法包括:获取多个指令序列,所述多个指令序列与所述硬件的至少一个第一性能参数之间存在映射关系;根据所述映射关系对训练模型进行训练,得到目标训练模型;根据所述目标训练模型,确定目标指令序列对应的目标性能参数。本申请通过生成与给定硬件对等性能的目标训练模型来自动确定指令序列对应的性能参数,从而可以高效地得到硬件的性能参数。
Description
技术领域
本申请涉及处理器技术领域,尤其涉及一种确定硬件性能的方法、装置、存储介质以及电子设备。
背景技术
在对硬件代码进行编写之前,需要提前评估硬件设计的性能可靠性,目前通常是采用systemc、C++、systemverilog等语言进行硬件模型建模,以完成对硬件性能的初步评估。然而现在的硬件设备的复杂度、需求变更的频率都朝着更高的方向发展。硬件性能模拟器的开发难度逐渐增大,开发速度和节奏已经难以适应如今的硬件更新频率,并且复杂硬件的性能模拟器的开发,会消耗大量的人力和物理资源。因此,如何快速开发满足用户需求的硬件性能模拟器是现今急需解决的问题。
发明内容
本申请实施例提供了一种确定硬件性能的方法、装置、存储介质以及电子设备,能够高效地得到硬件的性能参数。
第一方面,本申请实施例提供一种确定硬件性能的方法,所述方法包括:
获取多个指令序列,所述多个指令序列与所述硬件的至少一个第一性能参数之间存在映射关系;
根据所述映射关系对训练模型进行训练,得到目标训练模型;
根据所述目标训练模型,确定目标指令序列对应的目标性能参数。
第二方面,本申请实施例提供一种确定硬件性能的装置,所述装置包括:
获取单元,用于获取多个指令序列,所述多个指令序列与所述硬件的至少一个第一性能参数之间存在映射关系;
训练单元,用于根据所述映射关系对训练模型进行训练,得到目标训练模型;
确定单元,用于根据所述目标训练模型,确定目标指令序列对应的目标性能参数。
第三方面,本发明实施例提供了一种组合处理装置,该组合处理装置包括如第二方面所述的确定硬件性能的装置、通用互联接口,和其他处理装置。该确定硬件性能的装置与上述其他处理装置进行交互,共同完成用户指定的操作。该组合处理装置还可以包括存储装置,该存储装置分别与所述确定硬件性能的装置和所述其他处理装置连接,用于保存所述确定硬件性能的装置和所述其他处理装置的数据。
第四方面,本实施例提供了一种神经网络芯片,该神经网络芯片包括上述第二方面所述的确定硬件性能的装置、或者上述第三方面所述的组合处理装置。
第五方面,本申请实施例提供了一种神经网络芯片封装结构,该神经网络芯片封装结构包括上述第四方面所述的神经网络芯片。
第六方面,本申请实施例提供了一种板卡,该板卡包括存储器件、接口装置和控制器件以及上述第四方面所述的神经网络芯片;其中,所述神经网络芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;所述存储器件,用于存储数据;所述接口装置。用于实现所述芯片与外部设备之间的数据传输;所述控制器件,用于对所述芯片的状态进行监控。
第七方面,本申请实施例提供一种电子设备,所述电子设备包括存储器、处理器、通信总线和通信接口,其中,所述处理器、通信接口存储器通过通信总线完成相互间的通信;所述存储器用于存放计算机程序;所述处理器用于执行所述存储器上所存放的程序时,实现如上述第一方面所描述的部分或全部步骤。
第八方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质包括存储用于数据交换的计算机程序,所述计算机程序被处理器执行时实现如本申请实施例第一方面所描述的部分或全部步骤。
第九方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
本申请实施例提供一种确定硬件性能的方法及装置,通过获取多个指令序列,所述多个指令序列与所述硬件的至少一个第一性能参数之间存在映射关系;根据所述映射关系对训练模型进行训练,得到目标训练模型;根据所述目标训练模型,确定目标指令序列对应的目标性能参数。本申请通过已有的硬件参数对训练模型进行训练,得到目标训练模型,根据目标训练模型可以得到任一指令序列对应的性能参数,避免了时间开销大的硬件仿真流程,从而可以高效地得到硬件的性能参数。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种电子设备的结构示意图;
图2是本申请实施例提供的一种确定硬件性能的方法的流程示意图;
图3a是本申请实施例提供的一种指令序列的分割示意图;
图3b是本申请实施例提供的另一种指令序列的分割示意图;
图4是本申请实施例提供的一种信号转化成指令序列的示意图;
图5是本申请实施例提供的另一种确定硬件性能的方法的流程示意图;
图6a是本申请实施例提供的一种确定硬件性能的装置的功能单元组成框图;
图6b是本申请实施例提供的另一种确定硬件性能的装置的功能单元组成框图;
图7是本申请实施例提供的一种组合处理装置的结构图;
图8是本申请实施例提供的一种板卡的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
下面结合具体实施例,对本申请进行详细说明
请参阅图1,图1是本申请实施例提供的一种电子设备的结构示意图,如图1所示,该电子设备包括存储器、输入设备、输出设备和处理器,其中,该电子设备还可以包括通信总线,处理器、输入设备、输出设备和存储器之间可以通过总线相互连接。可选地,上述电子设备还可以包括指令存储单元,该指令存储单元临近处理器设置。进一步可选地,指令存储单元与处理器集成为一体,即该指令存储单元是处理器的片上存储单元。这样,当处理器需要执行存储器中程序时,电子设备首先将存储器中的程序加载至指令存储单元,之后,处理器可以访问上述的指令存储单元,以执行指令存储单元中的程序。
其中,上述处理器,用于执行所述存储器上所存放的程序时,实现以下步骤:
从存储器中获取多个指令序列,所述多个指令序列与所述硬件的至少一个第一性能参数之间存在映射关系;根据所述映射关系对训练模型进行训练,得到目标训练模型;根据所述目标训练模型,确定目标指令序列对应的目标性能参数。
进一步地,上述处理器可以是中央处理器(Central Processing Unit,CPU)、智能处理器(Intelligence Processing Unit,NPU)、图形处理器(Graphics Processing Unit,GPU)或图象处理器(Image Processing Unit),本申请对此不做限定。根据处理器的不同,本申请实施例提出的确定硬件性能的方法可以应用于图像识别处理、深度学习处理、计算机视觉处理、智能机器人处理、自然语言处理等人工智能应用领域,执行人工智能领域中的复杂功能程序。
请参阅图2,图2是本申请实施例提供的一种确定硬件性能的方法的流程示意图,该方法应用于电子设备处理器。如图2所示,该方法包括如下步骤:
S210、获取多个指令序列,所述多个指令序列与所述硬件的至少一个第一性能参数之间存在映射关系。
具体实施中,计算机程序由至少包含一个指令的指令序列以及数据组成,其存储在存储器中。电子设备根据存储器中的指令序列调用对应的硬件执行相应的操作。其中,指令序列中的指令为二进制指令。映射关系是指令序列与第一性能参数的映射关系,多个指令序列可对应一个或多个第一性能参数。
可选的,所述至少一个第一性能参数是所述多个指令序列分别输入目标硬件中得到的性能参数。
在本申请实施例中,在对训练模型进行训练前,还需构建训练集。该训练集包括多个硬件的指令序列。将该多个硬件的指令序列分别输入到给定的硬件中进行执行,该给定的硬件为已经设计好的硬件,然后对硬件执行该多个指令序列的过程进行仿真、硬件测试等技术手段,得到指令序列对应的硬件性能参数。其中,硬件的性能参数可以包括运行时间、能耗、时延、吞吐量、字长、频率等。将每条指令序列分别与输入该条指令序列而得到的硬件性能参数进行一一绑定,得到指令序列与第一性能参数的映射关系,从而构建训练模型的训练集。
其中,该多个指令序列可对应一个或多个第一性能参数,示例性地,将多个指令序列分别输入到目标硬件中,若该多个指令序列均为同一操作的指令序列或同一运算指令时,则可能得到一个第二性能参数,;若该多个指令序列用于执行不同的操作或不同的运算,则可能得到多个第二性能参数。
进一步地,上述给定的硬件的具体形式可以根据用户需求确定。可选的,给定的硬件可以包括但不限于绕过内存和中央处理器(Central Processing Unit,CPU)的硬件、内存以及CPU中的一种或多种。绕过内存和CPU的硬件为不与内存和CPU发生数据交互的硬件,比如,高性能网卡、远程直接数据存取(Remote Direct Memory Access,RDMA)、智能硬件等。示例性地,绕过内存和CPU的硬件可以为PCI(Peripheral Component Interconnect)标准的硬件,也可以为其他标准的硬件,本申请实施例不做具体限定。
在一种可能的实现方式中,所述方法还包括:将第一指令序列的数据长度与预设长度进行比较,若所述第一指令序列的数据长度大于所述预设长度,将所述第一指令序列分割成多个子指令序列,其中,所述第一指令序列为所述多个指令序列中的任一指令序列和/或所述目标指令序列。
在本申请实施例中,输入的指令序列越长,指令序列的输入很大、其复杂度也很高,并且对硬件的性能要求也越高,而硬件的指令序列可以根据指令信息进行初步的简化,因此为了降低硬件仿真输和入输出的复杂度,对一个较长的指令序列进行拆分,拆分得到的每个子序列的性能参数的总和等于整个指令序列的总性能参数。
在构建训练集时,将多个指令序列中的每个指令序列的数据长度与设置的预设长度进行比较,如果多个指令序列中有指令序列的数据长度大于预设长度,即单次输入的指令序列过长,将数据长度大于预设长度对应的指令序列分割成多个子指令序列。
其中,对指令序列进行分割不影响指令序列对应的性能参数,即将分割得到的多个子指令序列对应的性能参数进行累加得到完整指令序列额对应的性能参数。
可选的,所述将所述第一指令序列分割成多个子指令序列,包括:将所述第一指令序列等长分割成所述多个子指令序列;或者,基于所述第一指令序列中的同步指令,将所述第一指令序列分割成所述多个子指令序列,所述同步指令用于指示硬件之间进行同步。
其中,对指令序列进行分割可以有多种方式,例如,将指令序列进行等长分割,如图3a所示,将第一指令序列分割成相同数据长度的多个子指令序列。所述分割额子指令序列的数量或数据长度可以根据实际情况进行设置。
示例性地,可以根据指令信息对指令序列进行分割,将执行相同或相似操作的指令信息分割到同一子指令序列中。其中,指令信息包括操作码和操作数,该操作码用于指示指令的功能,操作数用于标识执行该操作的数据,根据指令的操作码将执行相同或相似操作的指令分割到同一子指令序列中。部分现有的指令集中存在同步指令,硬件在执行指令序列时根据同步指令进行时间同步。其中不同语义的指令序列之间通过同步指令作为标识来进行区分,通过同步指令将相同语义的指令序列分割到一起,所述相同语义的指令序列为包括执行相同或相似操作的指令信息的指令序列。例如,在利用神经网络模型的进行计算时,将指令序列中的用于卷积运算的指令分割到一子指令序列中,将指令序列中用于池化运算的指令分割到另一子指令序列中。
可选的,所述基于所述第一指令序列中的同步指令,将所述第一指令序列分割成所述多个子指令序列,包括:查找所述第一指令序列中的同步指令;以每个所述同步指令为分割点,将所述第一指令序列分割成所述多个子指令序列。
具体地,如图3b所示,第一指令序列中包括多个同步指令,构建指令集时,若第一指令序列的数据长度大于预设长度,则查找第一指令序列中的所有同步指令,以第一指令序列中每个同步指令为分割点,将第一指令序列分割成多个子指令序列。其中,子指令序列的数量依据第一指令序列中的同步指令的数量,子指令序列中最后一个指令为同步指令。
其中,若子指令序列的数据长度仍大于预设长度时,还可以继续对子指令序列进行分割。示例性地,可以将子指令序列如上述第一指令序列一样进行等长分割;也可以根据预设长度对子指令序列进行分割,即以预设长度作为分割的数据长度对子指令序列进行分割。例如,子指令序列的数据长度为250bits,预设长度为64bits,根据预设长度分割时可以将该子指令序列再分割成4个子指令序列,其数据长度分别为64bits、64bits、64bits和58bits。
在一种可能的实现方式中,在所述第一指令序列为信号组的情况下,其中,所述信号组包括信号标识和第一信号,所述信号标识用于指示所述第一信号在当前时刻是否有效;
所述方法还包括:在所述信号标识指示所述第一信号在当前时刻有效时,将所述第一信号转化成所述指令序列。
在实际应用中,对于输入非指令序列形式的硬件,例如片上网络(Network onChip,NoC),其输入端口可以有多组,每组可以输入多组信号组。每组信号组包括信号标识和第一信号,第一信号中包括指令序列中的部分或全部指令信息。由于每组信号组中可能包括一些指令信息,硬件可能需要多组信号组中的指令信息一起来执行任务。在信号组中的信号标识指示所述第一信号在当前时刻有效时,通过预处理将多组信号组中的指令信息转化成指令序列,方便智能算法计算其硬件性能参数。
可选的,所述将所述第一信号转化成所述指令序列,包括:从多组所述信号组的所述第一信号中提取出指令信息;将所述指令信息转化成与所述指令序列格式相同的二进制串。
具体地,如图4所示,所述硬件包括N组输入端口,每组输入端口输入一组信号组,因此该硬件的输入为N组信号组,在第1组信号组中的信号标识Valid1指示信号Signals1为当前时刻有效、第2组信号组中的信号标识Valid2指示信号Signals2为当前时刻有效、…、第N组信号组中的信号标识Valid N指示信号Signals N为当前时刻有效时,可以将该N组信号组中的Signals1、Signals2、…、Signals N通过预处理转换成一组与指令序列格式相同的二进制串。其中,预处理可以包括哈希算法、压缩算法、拼接算法等。
S220、根据所述映射关系对训练模型进行训练,得到目标训练模型。
在本申请实施例中,训练模型可以是输入为指令序列或子指令序列、输出为硬件性能参数的智能算法。该智能算法可以是用于分类的机器学习算法,例如K_means算法、K最近邻(KNN,K-Nearest Neighbor)分类算法、决策树等,也可以是神经网络算法,例如循环神经网络(Recurrent Neural Network,RNN)、卷积神经网络(Convolutional NeuralNetworks,CNN)、长短期记忆网络(Long Short-Term Memory,LSTM)及各种变式神经网络算法等。
其中,训练模型的训练利用构建好的训练集训练整个智能算法的参数,直至训练到智能算法收敛,智能算法收敛是智能算法在迭代时间趋于无穷的假设下得到问题的全局最优解,即智能算法在多次迭代后,更新了参数的智能算法输出的第二性能参数与输入智能算法的多个指令序列对应的第一性能参数之间的差别小于阈值设,从而使得收敛后的智能算法能够输出有效的性能参数。训练过程可以使用多种算法加速硬件或软件平台,如CPU多线程加速、GPU加速和专用硬件加速器加速等,CPU中的多个任务中,数据没有交互,可以并行执行,因此可使用CPU多线程来并行处理任务,加速智能算法的处理速度。GPU是由一个由数以千计的更小、更高效的核心(专为同时处理多重任务而设计)组成的大规模并行计算架构,因此也可使用GPU执行并行计算,加速智能算法的处理速度。所述专用硬件加速器是通过增加硬件模块来替代软件算法以充分利用硬件所固有的快速特性,从而提高智能算法的处理速度。
可选的,所述根据所述映射关系对训练模型进行训练,包括:将所述多个指令序列输入所述训练模型,输出至少一个第二性能参数;依据所述映射关系获取所述多个指令序列对应的所述至少一个第一性能参数;根据所述至少一个第一性能参数和所述至少一个第二性能参数对所述训练模型的参数进行更新。
具体地,将上述构建的训练集中的多个指令序列输入到智能算法中,得到该多个指令序列对应的至少一个第二性能参数。然后将至少一个第二性能参数与多个指令序列绑定的至少一个第一性能参数进行比较,构建该智能算法的损失函数。根据所述损失函数对智能算法的参数进行更新,从而得到目标训练模型。
其中,在训练模型的过程中,因为希望模型的输出尽可能的接近真正想要预测的值,所以可以通过比较当前模型的预测值和真正想要的目标值,再根据两者之间的差异情况来更新智能算法的权重向量,比如,如果模型的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到模型能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。损失函数是用于衡量预测值和目标值的差异的重要方程。例如,损失函数的输出值(loss)越高表示差异越大,那么模型的训练就变成了尽可能缩小这个loss的过程,最终将损失函数最小所对应的参数确定为训练模型的参数。
示例性地,将多个指令序列分别输入到智能算法中,若该多个指令序列均为同一操作的指令序列或同一运算时,则可能得到一个第一性能参数,例如,该多个指令序列为卷积神经网络中的卷积指令,将每个指令序列分别输入该卷积神经网络,其得到的第一性能参数是一样的,因此该多个指令序列对应一个第一性能参数;若该多个指令序列用于执行不同的操作或不同的运算,则可能得到多个第一性能参数。S230、根据所述目标训练模型,确定目标指令序列对应的目标性能参数。
具体实施中,在训练得到目标训练模型后,可以根据训练好的智能算法得到任意的指令序列对应的硬件性能参数。
示例性地,在通过目标训练模型对目标指令序列进行计算时,可以使用多种算法加速硬件或软件平台,如CPU多线程加速、GPU加速和专用硬件加速器加速等,从而减少智能算法的执行时间,更高效地得到硬件的性能参数。
下面以目标训练模型为LSTM为例,详细描述本申请实施例的方法。LSTM是一种解决长时依赖问题的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,LSTM适合于处理和预测时间序列中间隔和延迟长的任务。
如图5所示,图5为本申请实施例提供的另一种确定硬件性能的方法的流程示意图。其中,LSTM 500的输入为一串不定长指令序列、输出为性能参数。首先利用已有的目标硬件A510构建训练集,该目标硬件A510可以是硬件实物,也可以是设计阶段的寄存器传输级代码或门级网表等形式。将N个指令序列520作为输入,N为正整数,该N个指令序列的格式为512bit二进制码,通过仿真、硬件测试等技术手段得到该N个指令序列对应的性能参数530。将性能参数530与该N个指令序列520进行绑定,一起构成了LSTM 500的训练集。然后利用得到的训练集对LSTM 500进行训练,得到训练后的LSTM 540。训练过程可以使用已有的智能算法加速硬件或软件平台进行加速。训练后的LSTM 540可进入实际的使用过程。针对新指令序列550,直接通过训练后的LSTM 540计算,得到新指令序列550的性能参数560。
可以看出,本申请实施例的确定硬件性能的方法,通过获取多个指令序列,所述多个指令序列与所述硬件的至少一个第一性能参数之间存在映射关系;根据所述映射关系对训练模型进行训练,得到目标训练模型;根据所述目标训练模型,确定目标指令序列对应的目标性能参数。本申请通过生成与给定硬件对等性能的目标训练模型来自动确定指令序列对应的性能参数,从而可以高效地得到硬件的性能参数。
例如,本申请提出的确定硬件性能的方法应用于图像识别处理时,处理器从存储器中获取图像识别的多个指令序列,所述多个指令序列与图像识别硬件的至少一个第一性能参数之间存在映射关系;根据所述映射关系对训练模型进行训练,得到目标训练模型;根据所述目标训练模型,确定图像识别的目标指令序列对应的目标性能参数。本申请通过生成与给定图像识别硬件对等性能的目标训练模型来自动确定图像识别的指令序列对应的性能参数,从而可以高效地得到图像识别硬件的性能参数。
进一步,本申请提出的确定硬件性能的方法应用于深度学习时,处理器从存储器中获取应用于深度学习的多个指令序列,所述多个指令序列与深度学习硬件的至少一个第一性能参数之间存在映射关系;根据所述映射关系对训练模型进行训练,得到目标训练模型;根据所述目标训练模型,确定应用于深度学习的目标指令序列对应的目标性能参数。本申请通过生成与给定深度学习硬件对等性能的目标训练模型来自动确定应用于深度学习的指令序列对应的性能参数,从而可以高效地得到图像识别硬件的性能参数。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
请参阅图6a,图6a是本申请实施例提供的一种确定硬件性能的装置600的功能单元组成框图,如图6a所示,该确定硬件性能的装置600包括获取单元610、训练单元620和确定单元630,其中,
所述获取单元610,用于获取多个指令序列,所述多个指令序列与所述硬件的至少一个第一性能参数之间存在映射关系;
所述训练单元620,用于根据所述映射关系对训练模型进行训练,得到目标训练模型;
所述确定单元630,用于根据所述目标训练模型,确定目标指令序列对应的目标性能参数。
可以看出,本申请实施例提供一种确定硬件性能的装置,获取单元获取多个指令序列,所述多个指令序列与所述硬件的至少一个第一性能参数之间存在映射关系;训练单元根据所述映射关系对训练模型进行训练,得到目标训练模型;确定单元根据所述目标训练模型,确定目标指令序列对应的目标性能参数。本申请通过生成与给定硬件对等性能的目标训练模型来自动确定指令序列对应的性能参数,从而可以高效地得到硬件的性能参数。
可选的,所述至少一个第一性能参数是所述多个指令序列分别输入目标硬件中得到的性能参数;所述训练单元620具体用于:
将所述多个指令序列输入所述训练模型,输出至少一个第二性能参数;依据所述映射关系获取所述多个指令序列对应的所述至少一个第一性能参数;根据所述至少一个第一性能参数和所述至少一个第二性能参数对所述训练模型的参数进行更新。
可选的,如图6b所示,是本申请实施例提供的另一种确定硬件性能的装置600的功能单元组成框图,所述装置600还包括:分割单元640;
所述分割单元640,用于将第一指令序列的数据长度与预设长度进行比较,若所述第一指令序列的数据长度大于所述预设长度,将所述第一指令序列分割成多个子指令序列,其中,所述第一指令序列为所述多个指令序列中的任一指令序列和/或所述目标指令序列。
可选的,在将所述第一指令序列分割成多个子指令序列方面,所述分割单元640具体用于:将所述第一指令序列等长分割成所述多个子指令序列;或者,
基于所述第一指令序列中的同步指令,将所述第一指令序列分割成所述多个子指令序列,所述同步指令用于指示硬件之间进行同步。
可选的,在基于所述第一指令序列中的同步指令,将所述第一指令序列分割成所述多个子指令序列方面,所述分割单元640具体用于:查找所述第一指令序列中的同步指令;以每个所述同步指令为分割点,将所述第一指令序列分割成所述多个子指令序列。
可选的,所述装置600还包括转化单元650,其中,
在所述第一指令序列为信号组的情况下,其中,所述信号组包括信号标识和第一信号,所述信号标识用于指示所述第一信号在当前时刻是否有效;
所述转化单元650,用于在所述信号标识指示所述第一信号在当前时刻有效时,将所述第一信号转化成所述指令序列。
可选的,所述转化单元650具体用于:从多组所述信号组的所述第一信号中提取出指令信息;将所述指令信息转化成与所述指令序列格式相同的二进制串。
可以理解的是,本申请实施例的确定硬件性能的装置的各程序模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
图7是示出根据本披露实施例的一种组合处理装置700的结构图。如图7中所示,该组合处理装置700包括计算处理装置702、接口装置704、其他处理装置706和存储装置708。根据不同的应用场景,计算处理装置中可以包括一个或多个计算装置710,该计算装置可以配置用于执行本文结合附图2所描述的操作。
在不同的实施例中,本披露的计算处理装置可以配置成执行用户指定的操作。在示例性的应用中,该计算处理装置可以实现为单核人工智能处理器或者多核人工智能处理器。类似地,包括在计算处理装置内的一个或多个计算装置可以实现为人工智能处理器核或者人工智能处理器核的部分硬件结构。当多个计算装置实现为人工智能处理器核或人工智能处理器核的部分硬件结构时,就本披露的计算处理装置而言,其可以视为具有单核结构或者同构多核结构。
在示例性的操作中,本披露的计算处理装置可以通过接口装置与其他处理装置进行交互,以共同完成用户指定的操作。根据实现方式的不同,本披露的其他处理装置可以包括中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics ProcessingUnit,GPU)、人工智能处理器等通用和/或专用处理器中的一种或多种类型的处理器。这些处理器可以包括但不限于数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,并且其数目可以根据实际需要来确定。如前所述,仅就本披露的计算处理装置而言,其可以视为具有单核结构或者同构多核结构。然而,当将计算处理装置和其他处理装置共同考虑时,二者可以视为形成异构多核结构。
在一个或多个实施例中,该其他处理装置可以作为本披露的计算处理装置(其可以具体化为人工智能例如神经网络运算的相关运算装置)与外部数据和控制的接口,执行包括但不限于数据搬运、对计算装置的开启和/或停止等基本控制。在另外的实施例中,其他处理装置也可以和该计算处理装置协作以共同完成运算任务。
在一个或多个实施例中,该接口装置可以用于在计算处理装置与其他处理装置间传输数据和控制指令。例如,该计算处理装置可以经由所述接口装置从其他处理装置中获取输入数据,写入该计算处理装置片上的存储装置(或称存储器)。进一步,该计算处理装置可以经由所述接口装置从其他处理装置中获取控制指令,写入计算处理装置片上的控制缓存中。替代地或可选地,接口装置也可以读取计算处理装置的存储装置中的数据并传输给其他处理装置。
附加地或可选地,本披露的组合处理装置还可以包括存储装置。如图中所示,该存储装置分别与所述计算处理装置和所述其他处理装置连接。在一个或多个实施例中,存储装置可以用于保存所述计算处理装置和/或所述其他处理装置的数据。例如,该数据可以是在计算处理装置或其他处理装置的内部或片上存储装置中无法全部保存的数据。
在一些实施例里,本披露还公开了一种神经网络芯片(例如图8中示出的芯片802)。在一种实现中,该芯片是一种系统级芯片(System on Chip,SoC),并且集成有一个或多个如图7中所示的组合处理装置。该芯片可以通过对外接口装置(如图8中示出的对外接口装置806)与其他相关部件相连接。该相关部件可以例如是摄像头、显示器、鼠标、键盘、网卡或wifi接口。在一些应用场景中,该芯片上可以集成有其他处理单元(例如视频编解码器)和/或接口模块(例如DRAM接口)等。在一些实施例中,本披露还公开了一种芯片封装结构,其包括了上述芯片。在一些实施例里,本披露还公开了一种板卡,其包括上述的芯片封装结构。下面将结合图8对该板卡进行详细地描述。
图8是示出根据本披露实施例的一种板卡800的结构示意图。如图8中所示,该板卡包括用于存储数据的存储器件804,其包括一个或多个存储单元810。该存储器件可以通过例如总线等方式与控制器件808和上文所述的芯片802进行连接和数据传输。进一步,该板卡还包括对外接口装置806,其配置用于芯片(或芯片封装结构中的芯片)与外部设备812(例如服务器或计算机等)之间的数据中继或转接功能。例如,待处理的数据可以由外部设备通过对外接口装置传递至芯片。又例如,所述芯片的计算结果可以经由所述对外接口装置传送回外部设备。根据不同的应用场景,所述对外接口装置可以具有不同的接口形式,例如其可以采用标准PCIE接口等。
在一个或多个实施例中,本披露板卡中的控制器件可以配置用于对所述芯片的状态进行调控。为此,在一个应用场景中,该控制器件可以包括单片机(Micro ControllerUnit,MCU),以用于对所述芯片的工作状态进行调控。
根据上述结合图7和图8的描述,本领域技术人员可以理解本披露也公开了一种电子设备或装置,其可以包括一个或多个上述板卡、一个或多个上述芯片和/或一个或多个上述组合处理装置。
根据不同的应用场景,本披露的电子设备或装置可以包括服务器、云端服务器、服务器集群、数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、PC设备、物联网终端、移动终端、手机、行车记录仪、导航仪、传感器、摄像头、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、视觉终端、自动驾驶终端、交通工具、家用电器、和/或医疗设备。所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。本披露的电子设备或装置还可以被应用于互联网、物联网、数据中心、能源、交通、公共管理、制造、教育、电网、电信、金融、零售、工地、医疗等领域。进一步,本披露的电子设备或装置还可以用于云端、边缘端、终端等与人工智能、大数据和/或云计算相关的应用场景中。在一个或多个实施例中,根据本披露方案的算力高的电子设备或装置可以应用于云端设备(例如云端服务器),而功耗小的电子设备或装置可以应用于终端设备和/或边缘端设备(例如智能手机或摄像头)。在一个或多个实施例中,云端设备的硬件信息和终端设备和/或边缘端设备的硬件信息相互兼容,从而可以根据终端设备和/或边缘端设备的硬件信息,从云端设备的硬件资源中匹配出合适的硬件资源来模拟终端设备和/或边缘端设备的硬件资源,以便完成端云一体或云边端一体的统一管理、调度和协同工作。
需要说明的是,为了简明的目的,本披露将一些方法及其实施例表述为一系列的动作及其组合,但是本领域技术人员可以理解本披露的方案并不受所描述的动作的顺序限制。因此,依据本披露的公开或教导,本领域技术人员可以理解其中的某些步骤可以采用其他顺序来执行或者同时执行。进一步,本领域技术人员可以理解本披露所描述的实施例可以视为可选实施例,即其中所涉及的动作或模块对于本披露某个或某些方案的实现并不一定是必需的。另外,根据方案的不同,本披露对一些实施例的描述也各有侧重。鉴于此,本领域技术人员可以理解本披露某个实施例中没有详述的部分,也可以参见其他实施例的相关描述。
在具体实现方面,基于本披露的公开和教导,本领域技术人员可以理解本披露所公开的若干实施例也可以通过本文未公开的其他方式来实现。例如,就前文所述的电子设备或装置实施例中的各个单元来说,本文在考虑了逻辑功能的基础上对其进行划分,而实际实现时也可以有另外的划分方式。又例如,可以将多个单元或组件结合或者集成到另一个系统,或者对单元或组件中的一些特征或功能进行选择性地禁用。就不同单元或组件之间的连接关系而言,前文结合附图所讨论的连接可以是单元或组件之间的直接或间接耦合。在一些场景中,前述的直接或间接耦合涉及利用接口的通信连接,其中通信接口可以支持电性、光学、声学、磁性或其它形式的信号传输。
在本披露中,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元示出的部件可以是或者也可以不是物理单元。前述部件或单元可以位于同一位置或者分布到多个网络单元上。另外,根据实际的需要,可以选择其中的部分或者全部单元来实现本披露实施例所述方案的目的。另外,在一些场景中,本披露实施例中的多个单元可以集成于一个单元中或者各个单元物理上单独存在。
在一些实现场景中,上述集成的单元可以采用软件程序模块的形式来实现。如果以软件程序模块的形式实现并作为独立的产品销售或使用时,所述集成的单元可以存储在计算机可读取存储器中。基于此,当本披露的方案以软件产品(例如计算机可读存储介质)的形式体现时,该软件产品可以存储在存储器中,其可以包括若干指令用以使得计算机设备(例如个人计算机、服务器或者网络设备等)执行本披露实施例所述方法的部分或全部步骤。前述的存储器可以包括但不限于U盘、闪存盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
在另外一些实现场景中,上述集成的单元也可以采用硬件的形式实现,即为具体的硬件电路,其可以包括数字电路和/或模拟电路等。电路的硬件结构的物理实现可以包括但不限于物理器件,而物理器件可以包括但不限于晶体管或忆阻器等器件。鉴于此,本文所述的各类装置(例如计算装置或其他处理装置)可以通过适当的硬件处理器来实现,例如CPU、GPU、FPGA、DSP和ASIC等。进一步,前述的所述存储单元或存储装置可以是任意适当的存储介质(包括磁存储介质或磁光存储介质等),其例如可以是可变电阻式存储器(Resistive Random Access Memory,RRAM)、动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)、增强动态随机存取存储器(Enhanced Dynamic Random Access Memory,EDRAM)、高带宽存储器(High Bandwidth Memory,HBM)、混合存储器立方体(Hybrid Memory Cube,HMC)、ROM和RAM等。
依据以下条款可更好地理解前述内容:
条款A1.一种确定硬件性能的方法,包括:
获取多个指令序列,所述多个指令序列与所述硬件的至少一个第一性能参数之间存在映射关系;
根据所述映射关系对训练模型进行训练,得到目标训练模型;
根据所述目标训练模型,确定目标指令序列对应的目标性能参数。
A2.根据A1所述的方法,所述至少一个第一性能参数是所述多个指令序列分别输入目标硬件中得到的性能参数;
所述根据所述映射关系对训练模型进行训练,包括:
将所述多个指令序列输入所述训练模型,输出至少一个第二性能参数;
依据所述映射关系获取所述多个指令序列对应的所述至少一个第一性能参数;
根据所述至少一个第一性能参数和所述至少一个第二性能参数对所述训练模型的参数进行更新。
A3.根据A1或A2所述的方法,还包括:
将第一指令序列的数据长度与预设长度进行比较,若所述第一指令序列的数据长度大于所述预设长度,将所述第一指令序列分割成多个子指令序列,其中,所述第一指令序列为所述多个指令序列中的任一指令序列和/或所述目标指令序列。
A4.根据A3所述的方法,所述将所述第一指令序列分割成多个子指令序列,包括:
将所述第一指令序列等长分割成所述多个子指令序列;或者,
基于所述第一指令序列中的同步指令,将所述第一指令序列分割成所述多个子指令序列,所述同步指令用于指示硬件之间进行同步。
A5.根据A4所述的方法,所述基于所述第一指令序列中的同步指令,将所述第一指令序列分割成所述多个子指令序列,包括:
查找所述第一指令序列中的同步指令;
以每个所述同步指令为分割点,将所述第一指令序列分割成所述多个子指令序列。
A6.根据A4或A5所述的方法,在所述第一指令序列为信号组的情况下,其中,所述信号组包括信号标识和第一信号,所述信号标识用于指示所述第一信号在当前时刻是否有效;
所述方法还包括:在所述信号标识指示所述第一信号在当前时刻有效时,将所述第一信号转化成所述指令序列。
A7.根据A6所述的方法,所述将所述第一信号转化成所述指令序列,包括:
从多组所述信号组的所述第一信号中提取出指令信息;
将所述指令信息转化成与所述指令序列格式相同的二进制串。
A8.一种确定硬件性能的装置,包括:
获取单元,用于获取多个指令序列,所述多个指令序列与所述硬件的至少一个第一性能参数之间存在映射关系;
训练单元,用于根据所述映射关系对训练模型进行训练,得到目标训练模型;
确定单元,用于根据所述目标训练模型,确定目标指令序列对应的目标性能参数。
A9.根据A8所述的装置,所述至少一个第一性能参数是所述多个指令序列分别输入目标硬件中得到的性能参数;所述训练单元具体用于:
将所述多个指令序列输入所述训练模型,输出至少一个第二性能参数;依据所述映射关系获取所述多个指令序列对应的所述至少一个第一性能参数;根据所述至少一个第一性能参数和所述至少一个第二性能参数对所述训练模型的参数进行更新。
A10.根据A8或A9所述的装置,所述装置还包括分割单元;
所述分割单元,用于将第一指令序列的数据长度与预设长度进行比较,若所述第一指令序列的数据长度大于所述预设长度,将所述第一指令序列分割成多个子指令序列,其中,所述第一指令序列为所述多个指令序列中的任一指令序列和/或所述目标指令序列。
A11.根据A10所述的装置,在将所述第一指令序列分割成多个子指令序列方面,所述分割单元具体用于:将所述第一指令序列等长分割成所述多个子指令序列;或者,
基于所述第一指令序列中的同步指令,将所述第一指令序列分割成所述多个子指令序列,所述同步指令用于指示硬件之间进行同步。
A12.根据A11所述的装置,在基于所述第一指令序列中的同步指令,将所述第一指令序列分割成所述多个子指令序列方面,所述分割单元具体用于:查找所述第一指令序列中的同步指令;以每个所述同步指令为分割点,将所述第一指令序列分割成所述多个子指令序列。
A13.根据A10-A12所述的装置,所述装置还包括转化单元,其中,
在所述第一指令序列为信号组的情况下,其中,所述信号组包括信号标识和第一信号,所述信号标识用于指示所述第一信号在当前时刻是否有效;
所述转化单元,用于在所述信号标识指示所述第一信号在当前时刻有效时,将所述第一信号转化成所述指令序列。
A14.根据A13所述的装置,所述转化单元具体用于:从多组所述信号组的所述第一信号中提取出指令信息;将所述指令信息转化成与所述指令序列格式相同的二进制串。
B1.一种神经网络芯片,包括用于执行如条款A1-A7中任一项所述的方法。
C1.一种计算机可读存储介质,包括存储用于数据交换的计算机程序,所述计算机程序被处理器执行时实现如条款A1-A7中任一项所述的方法。
D1.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行如条款A1至A7中任意一项所述的方法。
虽然本文已经示出和描述了本披露的多个实施例,但对于本领域技术人员显而易见的是,以上实施例只是以示例的方式来提供。本领域技术人员可以在不偏离本披露思想和精神的情况下想到许多更改、改变和替代的方式。应当理解的是在实践本披露的过程中,可以采用对本文所描述的本披露实施例的各种替代方案。所附权利要求书旨在限定本披露的保护范围,并因此覆盖这些权利要求范围内的等同或替代方案。
Claims (11)
1.一种确定硬件性能的方法,其特征在于,所述方法包括:
获取多个指令序列,所述多个指令序列与所述硬件的至少一个第一性能参数之间存在映射关系;
根据所述映射关系对训练模型进行训练,得到目标训练模型;
根据所述目标训练模型,确定目标指令序列对应的目标性能参数。
2.根据权利要求1所述的方法,其特征在于,所述至少一个第一性能参数是所述多个指令序列分别输入目标硬件中得到的性能参数;
所述根据所述映射关系对训练模型进行训练,包括:
将所述多个指令序列输入所述训练模型,输出至少一个第二性能参数;
依据所述映射关系获取所述多个指令序列对应的所述至少一个第一性能参数;
根据所述至少一个第一性能参数和所述至少一个第二性能参数对所述训练模型的参数进行更新。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
将第一指令序列的数据长度与预设长度进行比较,若所述第一指令序列的数据长度大于所述预设长度,将所述第一指令序列分割成多个子指令序列,其中,所述第一指令序列为所述多个指令序列中的任一指令序列和/或所述目标指令序列。
4.根据权利要求3所述的方法,其特征在于,所述将所述第一指令序列分割成多个子指令序列,包括:
将所述第一指令序列等长分割成所述多个子指令序列;或者,
基于所述第一指令序列中的同步指令,将所述第一指令序列分割成所述多个子指令序列,所述同步指令用于指示硬件之间进行同步。
5.根据权利要求4所述的方法,其特征在于,所述基于所述第一指令序列中的同步指令,将所述第一指令序列分割成所述多个子指令序列,包括:
查找所述第一指令序列中的同步指令;
以每个所述同步指令为分割点,将所述第一指令序列分割成所述多个子指令序列。
6.根据权利要求3-5任一项所述的方法,其特征在于,在所述第一指令序列为信号组的情况下,其中,所述信号组包括信号标识和第一信号,所述信号标识用于指示所述第一信号在当前时刻是否有效;
所述方法还包括:在所述信号标识指示所述第一信号在当前时刻有效时,将所述第一信号转化成所述指令序列。
7.根据权利要求6所述的方法,其特征在于,所述将所述第一信号转化成所述指令序列,包括:
从多组所述信号组的所述第一信号中提取出指令信息;
将所述指令信息转化成与所述指令序列格式相同的二进制串。
8.一种确定硬件性能的装置,其特征在于,所述装置包括:
获取单元,用于获取多个指令序列,所述多个指令序列与所述硬件的至少一个第一性能参数之间存在映射关系;
训练单元,用于根据所述映射关系对训练模型进行训练,得到目标训练模型;
确定单元,用于根据所述目标训练模型,确定目标指令序列对应的目标性能参数。
9.一种神经网络芯片,其特征在于,所述神经网络芯片用于执行如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储用于数据交换的计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
11.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行权利要求1至7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011596201.4A CN114691457A (zh) | 2020-12-28 | 2020-12-28 | 一种确定硬件性能的方法、装置、存储介质以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011596201.4A CN114691457A (zh) | 2020-12-28 | 2020-12-28 | 一种确定硬件性能的方法、装置、存储介质以及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114691457A true CN114691457A (zh) | 2022-07-01 |
Family
ID=82132412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011596201.4A Pending CN114691457A (zh) | 2020-12-28 | 2020-12-28 | 一种确定硬件性能的方法、装置、存储介质以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114691457A (zh) |
-
2020
- 2020-12-28 CN CN202011596201.4A patent/CN114691457A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11698786B2 (en) | Processing apparatus and processing method | |
CN110298443B (zh) | 神经网络运算装置及方法 | |
WO2018171715A1 (zh) | 适用神经网络处理器的自动化设计方法及系统 | |
WO2018171717A1 (zh) | 面向神经网络处理器的自动化设计方法和系统 | |
CN113505883A (zh) | 一种神经网络训练方法以及装置 | |
CN114707650B (zh) | 一种提高仿真效率的仿真实现方法 | |
CN112070202B (zh) | 一种融合图的生成方法、生成装置和计算机可读存储介质 | |
CN114692823A (zh) | 一种算子融合的方法、装置、存储介质及电子设备 | |
US11775808B2 (en) | Neural network computation device and method | |
CN115129460A (zh) | 获取算子硬件时间的方法、装置、计算机设备和存储介质 | |
CN113469326B (zh) | 在神经网络模型中执行剪枝优化的集成电路装置及板卡 | |
CN114691457A (zh) | 一种确定硬件性能的方法、装置、存储介质以及电子设备 | |
CN115469931A (zh) | 一种循环程序的指令优化方法、装置、系统、设备及介质 | |
CN112766475A (zh) | 处理部件及人工智能处理器 | |
CN114692824A (zh) | 一种神经网络模型的量化训练方法、装置和设备 | |
CN114692865A (zh) | 一种神经网络量化训练方法、装置及相关产品 | |
WO2022134688A1 (zh) | 数据处理电路、数据处理方法及相关产品 | |
CN113469327B (zh) | 执行转数提前的集成电路装置 | |
CN113780553B (zh) | 一种基于高层次综合工具的深度学习模型优化方法及系统 | |
CN114596184A (zh) | 一种累加图像数据的方法、装置以及存储介质 | |
CN115204351A (zh) | 神经网络模型训练的装置以及方法 | |
Boyang | Research on Constructional Neural Network Accelerator Based on FPGA | |
CN114691561A (zh) | 数据处理电路、数据处理方法及相关产品 | |
CN114691559A (zh) | 数据处理电路、数据处理方法及相关产品 | |
CN114691931A (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 |