CN109978160B - 人工智能处理器的配置装置、方法及相关产品 - Google Patents

人工智能处理器的配置装置、方法及相关产品 Download PDF

Info

Publication number
CN109978160B
CN109978160B CN201910226686.9A CN201910226686A CN109978160B CN 109978160 B CN109978160 B CN 109978160B CN 201910226686 A CN201910226686 A CN 201910226686A CN 109978160 B CN109978160 B CN 109978160B
Authority
CN
China
Prior art keywords
unit
parameter
power consumption
surface area
parameters
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
CN201910226686.9A
Other languages
English (en)
Other versions
CN109978160A (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.)
Cambricon Technologies Corp Ltd
Original Assignee
Cambricon Technologies Corp 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 Cambricon Technologies Corp Ltd filed Critical Cambricon Technologies Corp Ltd
Priority to CN201910226686.9A priority Critical patent/CN109978160B/zh
Publication of CN109978160A publication Critical patent/CN109978160A/zh
Application granted granted Critical
Publication of CN109978160B publication Critical patent/CN109978160B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Power Sources (AREA)

Abstract

本申请提供了一种人工智能处理器的配置装置、方法及相关产品,该人工智能处理器包括控制器单元、存储单元和运算单元,其中,该运算单元包括X个处理电路,该X个处理电路中包括一个主处理电路和(X‑1)个从处理电路,或多个主处理电路和多个从处理电路。本申请提供的装置具有设计周期短、过程简单的优点。

Description

人工智能处理器的配置装置、方法及相关产品
技术领域
本申请涉及人工智能技术领域,具体涉及一种配置人工智能处理器参数的装置、方法及相关产品。
背景技术
人工智能处理器广泛的应用到各种神经网络中,以减轻神经网络的工作负载,但是,目前人工智能处理器的设计较长,主要是因为在设计人工智能处理器时,需要考虑人工智能处理器的硬件架构在性能、功耗和表面积方面的平衡,需要不断的调整人工智能处理器中的相关参数,使其性能、功耗和表面积达到平衡,得到最终的设计方案。所以,对人工智能处理器的设计过程复杂、周期长。
发明内容
本申请实施例提供了一种人工智能处理器的配置装置、方法及相关产品,通过输入约束条件,自动输出对人工智能处理器的设计方案,简化人工智能处理器的设计过程。
第一方面,本申请实施例提供一种配置人工智能处理器参数的装置,所述装置包括:模板配置单元和评估单元;
所述模板配置单元,用于接收输入的约束条件,根据所述约束条件对参数配置表中的参数进行赋值,根据赋值后的参数确定人工智能处理器的硬件架构以及工作模式;
所述评估单元,用于评估所述人工智能处理器的硬件架构以及工作模式,判断所述人工智能处理器的硬件架构以及工作模式是否满足所述约束条件。
可选的,所述人工智能处理器包括控制器单元、存储单元和运算单元,在根据所述约束条件对参数配置表中的参数进行赋值时,所述模板配置单元具体用于:
确定所述参数配置表中与所述运算单元对应的M个参数,根据所述约束条件对M个参数进行赋值;
确定所述参数配置表中与所述存储单元对应的N个参数,根据所述约束条件对N个参数进行赋值;
确定所述参数配置表中与所述控制器单元对应的P个参数,根据所述约束条件对P个参数进行赋值;
其中,M、N和P均为大于或者等于1的整数。
可选的,所述运算单元包括处理电路,所述根据所述约束条件对M个参数进行赋值时,所述模板配置单元具体用于:
提取所述约束条件中对所述运算单元的性能、功耗以及表面积约束条件;
根据对所述运算单元的性能约束条件确定处理电路的数量X,将M个参数中第一参数赋值为X,该第一参数用于表示处理电路的数量;
对M个参数中第二参数进行赋值,确定每次赋值时运算单元的功耗和表面积,将满足运算单元的功耗以及表面积约束条件的赋值作为对该第二参数的最终赋值,该第二参数用于表示主从处理电路的互联方式,该第二参数为大于或者等于1的整数。
可选的,所述X个处理电路中包括一个主处理电路和(X-1)个从处理电路,或多个主处理电路和多个从处理电路。
可选的,所述存储单元包括:输入神经元缓存、权值缓存和输出神经元缓存,所述在根据所述约束条件对N个参数进行赋值时,所述模板配置单元具体用于:
提取所述约束条件中对所述存储单元的表面积以及功耗约束条件;
根据运算单元中处理电路的数量、存储单元的表面积以及功耗约束条件分别对N个参数中第一参数、第二参数和第三参数进行赋值,该第一参数用于表示输入神经元缓存的规模、第二参数用于表示权值缓存的规模、第三参数用于表示输出神经元缓存的规模,单位均为KB;
获取所述约束条件中对数据的复用策略,根据所述复用策略对N个参数中第四参数、第五参数和第六参数进行赋值,该第四参数用于表示输入神经元缓存的缓存模式、第五参数用于表示权值缓存的缓存模式、第六参数用于表示输出神经元缓存的缓存模式。
可选的,所述控制器单元包括指令缓存单元、指令处理单元、依赖关系处理单元、存储队列单元,所述根据所述约束条件对P个参数进行赋值时,所述模板配置单元具体用于:
提取所述约束条件中对所述控制器单元的表面积以及功耗约束条件;
根据运算单元中处理电路的数量、控制器单元的表面积以及功耗约束条件对P个参数中第一参数、第二参数进行赋值,该第一参数用于表示指令处理单元的规模,单位为KB,该第二参数用于表示存储队列单元的队列长度;
根据控制器单元的表面积和功耗以及控制器单元的表面积以及功耗约束条件对P个参数中第三参数、第四参数进行赋值,该第三参数用于表示指令缓存单元的缓存模式,该第四参数用于表示依赖关系处理单元是否存在。
可选的,所述约束条件包括对运算单元的性能、功耗以及表面积约束条件、对存储单元的表面积以及功耗约束条件、对控制器单元的表面积以及功耗约束条件,所述评估单元包括性能评估单元、功耗评估单元和表面积评估单元;
所述性能评估单元,用于评估运算单元的性能是否满足对所述运算单元的性能约束条件;评估存储单元的规模以及控制器单元的规模是否能够使运算单元满负荷运行;
所述功耗评估单元,用于分别评估运算单元的功耗、存储单元的功耗以及控制器单元的功耗是否满足运算单元的功耗约束条件、存储单元的功耗约束条件以及控制器单元的功耗约束条件;
所述面积评估单元,用于分别评估运算单元的表面积、存储单元的表面积以及控制器单元的表面积是否满足对运算单元的表面积约束条件、存储单元的表面积约束条件以及控制器单元的表面积约束条件。
第二方面,本申请实施例还提供一种配置人工智能处理器参数的方法,该方法应用于配置人工智能处理器参数的装置,所述装包括模板配置单元和评估单元,所述方法包括:
所述模板配置单元接收输入的约束条件,根据所述约束条件对参数配置表中的参数进行赋值,根据赋值后的参数确定人工智能处理器的硬件架构以及工作模式;
所述评估单元评估所述人工智能处理器的硬件架构以及工作模式,判断所述人工智能处理器的硬件架构以及工作模式是否满足所述约束条件。
可选的,述人工智能处理器包括控制器单元、存储单元和运算单元,所述根据所述约束条件对参数配置表中的参数进行赋值具体包括:
确定所述参数配置表中与所述运算单元对应的M个参数,根据所述约束条件对M个参数进行赋值;
确定所述参数配置表中与所述存储单元对应的N个参数,根据所述约束条件对N个参数进行赋值;
确定所述参数配置表中与所述控制器单元对应的P个参数,根据所述约束条件对P个参数进行赋值;
其中,M、N和P均为大于或者等于1的整数。
可选的,所述运算单元包括处理电路,所述根据所述约束条件对与所述存储单元对应的多个参数进行赋值时,具体包括:
提取所述约束条件中对所述运算单元的性能、功耗以及表面积约束条件;
根据对所述运算单元的性能约束条件确定处理电路的数量X,将M个参数中第一参数赋值为X,该第一参数用于表示处理电路的数量;
对M个参数中第二参数进行赋值,确定每次赋值时运算单元的功耗和表面积,将满足运算单元的功耗以及表面积约束条件的赋值作为对该第二参数的最终赋值,该第二参数用于表示主从处理电路的互联方式,该第二参数为大于或者等于1的整数。
可选的,所述X个处理电路中包括一个主处理电路和(X-1)个从处理电路,或多个主处理电路和多个从处理电路。
可选的,所述存储单元包括:输入神经元缓存、权值缓存和输出神经元缓存,所述根据所述约束条件对与所述存储单元对应的多个参数进行赋值时,具体包括:
提取所述约束条件中对所述存储单元的表面积以及功耗约束条件;
根据运算单元中处理电路的数量、存储单元的表面积以及功耗约束条件分别对N个参数中第一参数、第二参数和第三参数进行赋值,该第一参数用于表示输入神经元缓存的规模、第二参数用于表示权值缓存的规模、第三参数用于表示所述输出神经元缓存的规模,单位均为KB;
获取所述约束条件中对数据的复用策略,根据所述复用策略对N个参数中第四参数、第五参数和第六参数进行赋值,该第四参数用于表示输入神经元缓存的缓存模式、第五参数用于表示权值缓存的缓存模式、第六参数用于表示输出神经元缓存的缓存模式。
可选的,所述控制器单元包括指令缓存单元、指令处理单元、依赖关系处理单元、存储队列单元,所述根据所述约束条件对与所述控制器单元对应的多个参数进行赋值具体包括:
提取所述约束条件中对所述控制器单元的表面积以及功耗约束条件;
根据运算单元中处理电路的数量、控制器单元的表面积以及功耗约束条件对P个参数中第一参数、第二参数进行赋值,该第一参数用于表示指令处理单元的规模,单位为KB,该第二参数用于表示存储队列单元的队列长度;
根据控制器单元的表面积和功耗以及控制器单元的表面积以及功耗约束条件对P个参数中第三参数、第四参数进行赋值,该第三参数用于表示指令缓存单元的缓存模式,该第四参数用于表示依赖关系处理单元是否存在。
可选的,所述约束条件包括对运算单元的性能、功耗以及表面积约束条件、对存储单元的表面积以及功耗约束条件、对控制器单元的表面积以及功耗约束条件,所述评估单元包括性能评估单元、功耗评估单元和表面积评估单元;
所述性能评估单元评估运算单元的性能是否满足对所述运算单元的性能约束条件和评估存储单元的规模以及控制器单元的规模是否能够使运算单元满负荷运行;
所述功耗评估单元分别评估运算单元的功耗、存储单元的功耗以及控制器单元的功耗是否分别满足运算单元的功耗约束条件、存储单元的功耗约束条件以及控制器单元的功耗约束条件;
所述面积评估单元分别评估运算单元的表面积、存储单元的表面积以及控制器单元的表面积是否满足对运算单元的表面积约束条件、存储单元的表面积约束条件以及控制器单元的表面积约束条件。
实施本申请实施例,具有如下有益效果:
可以看出,在本申请实施例中,根据输入的约束条件,自动对参数配置表中的参数进行,根据参数与硬件架构的映射关系,确定人工智能处理器的硬件架构以及硬件架构的工作模式,从而得到对人工智能处理器的设计方案,避免人工反复调试参数,简化了对人工智能处理器的设计过程,缩短了设计周期。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A为本申请实施例提供的一种人工智能处理器的配置装置的结构示意图;
图1B本申请一个实施例提供的一种人工智能处理器的配置装置的结构示意图;
图1C本申请一个实施例提供的一种人工智能处理器的结构示意图;
图1D本申请一个实施例提供的另一种人工智能处理器的结构示意图;
图1E本申请一个实施例提供的另一种人工智能处理器的结构示意图;
图1F本申请实施例提供提供的树型模块的结构示意图;
图1G本申请的另一种人工智能处理器的结构示意图;
图2为本申请实施例提供的一种配置人工智能处理器参数的方法的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结果或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
参阅图1A,图1A为本申请实施例提供的一种人工智能处理器的配置装置,该装置包括:模板配置单元10和评估单元20;
模板配置单元10,用于接收输入的约束条件,根据所述约束条件对参数配置表中的参数进行赋值,根据赋值后的参数确定人工智能处理器的硬件架构以及工作模式;
评估单元20,用于评估所述人工智能处理器的硬件架构以及工作模式,判断所述人工智能处理器的硬件架构以及工作模式是否满足所述约束条件。
其中,该人工智能处理器包括机器学习处理器,所述机器学习处理器可以为神经网络加速器。
可选的,在判断所述人工智能处理器的硬件架构以及工作模式满足所述约束条件时,评估单元20,具体用于依据赋值后的参数得到对人工智能处理器的硬件架构以及工作模式的设计方案,将设计方案输出,在所述人工智能处理器的硬件架构以及硬件架构的工作模式不满足所述约束条件时,评估单元20,具体用于依据赋值后的参数得到评估结果,以提示用户根据所述评估结果调整约束条件,重新输入约束条件。
可以看出,在本申请实施例中,装置接收输入约束条件,根据该约束条件自动对参数配置表中的参数进行赋值,根据赋值后的参数设计人工智能处理器的硬件架构以及工作模式,无需人工反复调节参数,即可使人工智能处理器的性能、功耗和表面积之间达到平衡,缩短了人工智能处理器的设计周期,简化了设计过程,实现自动化、智能化设计人工智能处理器。
如图1B所示,评估单元20包括:性能评估单元210、功耗评估单元220和面积评估单元230。
可选的,在评估所述人工智能处理器的硬件架构以及工作模式时,性能评估单元210,用于评估运算单元130的性能是否满足对运算单元的性能约束条件,得到对运算单元的性能评估结果;以及用于评估存储单元110的规模以及控制器单元120的规模是否能够使运算单元130满负荷运行,得到对存储单元110和控制器单元的性能评估单元;
功耗评估单元220,用于评估运算单元130的功耗、存储单元110的功耗以及控制器单元120的功耗是否分别满足对运算单元130的功耗约束条件、对存储单元110的功耗约束条件以及对控制器单元120的功耗约束条件,得到对运算单元130、存储单元110和控制器单元120的功耗评估结果;
面积评估单元230,用于评估运算单元130的表面积、存储单元110的表面积以及控制器单元120的表面积是否分别满足对运算单元130的表面积约束条件、对存储单元110的表面积约束条件以及对控制器单元120的表面积约束条件,得到对运算单元130、存储单元110和控制器单元120的表面积评估结果。
进一步地,性能评估单元210,具体用于综合对运算单元130、存储单元110以及控制器单元120的性能评估结果,得到对人工智能处理器的性能评估结果;功耗评估单元220,具体用于综合对运算单元130、存储单元110以及控制器单元120的功耗评估结果,得到对人工智能处理器的功耗评估结果;面积评估单元230,具体用于综合对运算单元130、存储单元110以及控制器单元120的面积评估结果,得到对人工智能处理器的面积评估结果;
进一步地,评估单元20,用于根据性能评估单元210的性能评估结果、功耗评估单元220的功耗评估结果以及面积评估单元230的面积评估结果判断人工智能处理器的硬件架构以及工作模式是否满足约束条件。
举例来说,在判断人工智能处理器的硬件架构以及工作模式是否满足约束条件可以为:依据参数配置表中的赋值后的参数设计人工智能处理器,向设计好的人工智能处理器输入数据,以使该人工智能处理器进行运算,在运算时对人工智能处理器进行硬件检测,获取该人工智能处理器的性能、功耗以及表面积,并获取硬件的工作模式,判断性能、功耗和表面积以及工作模式是否满足约束条件如是,则确定该人工智能处理器的硬件架构和工作模式满足约束条件。
如图1C所示,人工智能处理器包括:存储单元110、控制器单元120和运算单元130,其中,所述约束条件包括对存储单元110的性能、功耗以及表面积的约束条件,对控制器单元120的性能、功耗以及表面积的约束条件以及对运算单元130的性能、功耗以及表面积的约束条件。
可选的,在根据所述约束条件对参数配置表中的参数进行赋值时,模板配置单元10具体用于:确定参数配置表中与运算单元130对应的M个参数,根据所述约束条件对M个参数进行赋值;确定参数配置表中与存储单元110对应的N个参数,根据所述约束条件对N个参数进行赋值;确定参数配置表中与控制器单元120对应的P个参数,根据所述约束条件对P个参数进行赋值。
在一可能的示例中,如图1C所示,人工智能处理器还包括直接内存访问单元140,用于从存储单元110中读取或存储数据;存储单元110包括输入神经元缓存111、权值缓存112和输出神经元缓存113;控制器单元120包括:指令缓存单元121、指令处理单元122、依赖关系处理单元123和存储队列单元124;运算单元130包括处理电路,其中,处理电路中包括一个主处理电路131和多个从处理电路132,或多个主处理电路131和多个从处理电路132,本申请中仅以一个主处理电路131和多个从处理电路132为例做具体说明,当然不限定主处理电路和从处理电路的具体数量以及连接结构。
可选的,在根据所述约束条件对M个参数进行赋值时,模板配置单元10,具体用于:提取所述约束条件中对运算单元130的性能、功耗以及表面积约束条件;以及用于根据对运算单元130的性能约束条件确定所述运算单元中处理电路的数量X,将M个参数中第一参数赋值为X,所述第一参数用于表示处理电路的数量,所述第一参数为大于1的整数,其中,所述X个处理电路中包括一个主处理电路和(X-1)个从处理电路,或多个主处理电路和多个从处理电路;以及用于对M个参数中第二参数进行赋值,确定每次赋值时主处理电路131与多个从处理电路132(即一个主处理电路和多个从处理电路)的互联方式,获取每种互联方式下运算单元130的功耗和表面积,确定满足运算单元130的功耗以及表面积约束条件时对所述第二参数的赋值作为所述第二参数的最终赋值,所述第二参数为大于或者等于1的整数。
举例来说,如对运算单元130的性能约束条件为约束运算单元130的峰值为aGOP/s,运行频率为bGHz,则根据性能约束条件确定运算单元130中处理电路的数目为a*b,故将运算单元130中的第一参数赋值为a*b,如对运算单元130的功耗和表面积约束条件为功率小于dmW、表面积小于cmm2,对运算单元130中的第二参数依次赋值,确定每种互联方式下的功耗和表面积,如对第二参数赋值为2时(即图1E中的互联方式),运算单元130的功耗和表面积分别小于dmW和cmm2,则将第二参数最终赋值为2,即确定该人工智能处理器中主处理电路131和从处理电路132采用图1E中所示的互联方式。
在一可能的示例中,如在对第二参数赋值为1时,如图1D所示,确定主处理电路131与多个从处理电路132的互联方式为:每个从处理电路132与相邻的其他从处理电路132连接,主处理电路131连接多个从处理电路132中的k个从处理电路,所述k个从处理电路为:第1行的n个从处理电路、第m行的n个从处理电路以及第1列的m个从处理电路,其中:
K个从处理电路,用于在主处理电路131以及多个从处理电路132之间的数据以及运算指令的转发;
主处理电路131,用于确定输入神经元为广播数据,权值为分发数据,将一个分发数据分配成多个数据块,将所述多个数据块中的至少一个数据块以及多个运算指令中的至少一个运算指令发送给K个从处理电路;
K个从处理电路,用于转换主处理电路131与多个从处理电路132之间的数据;
多个从处理电路132,用于依据该运算指令对接收到的数据执行运算得到中间结果,并将运算结果传输给K个从处理电路;
主处理电路131,用于将K个从处理电路发送的中间结果进行后续处理得到该计算指令的结果,将该计算指令的结果发送给控制器单元120。
在一可能的示例中,如对第二参数的赋值为2时,如图1E所示,运算单元130还包括:树型模块133,树型模块133包括:一个根端口和多个支端口,树型模块133,用于转发主处理电路131与多个从处理电路132之间的数据块、权值以及运算指令,确定主处理电路131与多个从处理电路132的互联方式为:树型模块133的根端口连接主处理电路131,树型模块133的多个支端口分别连接多个从处理电路132中的一个从处理电路。
可选的,树型模块133为人工智能处理器的可选择结果,其可以包括至少1层节点,该节点为具有转发功能的线结构,该节点本身可以不具有计算功能。如树型模块具有零层节点,即无需树型模块。
可选的,该树型模块133可以为n叉树结构,例如,如图1F所示的二叉树结构,当然也可以为三叉树结构,该n可以为大于等于2的整数。本申请不限制上述n的具体取值,上述层数也可以为2,从处理电路可以连接除倒数第二层节点以外的其他层的节点,例如,可以连接如图1F所示的倒数第一层的节点。
在一可能的示例中,在对第二参数赋值为3时,如图1G所示,运算单元130还包括一个或多个分支处理电路134,确定主处理电路131与多个从处理电路132的互联方式为:每个分支处理电路连接至少一个从处理电路132;分支处理电路134和主处理电路131连接,其中:
主处理电路131,用于确定输入神经元为广播数据,权值为分发数据块,将一个分发数据分配成多个数据块,将所述多个数据块中的至少一个数据块、广播数据以及多个运算指令中的至少一个运算指令发送给分支处理电路134;
分支处理电路134,用于转发主处理电路131与多个从处理电路132之间的数据块、广播数据以及运算指令;
多个从处理电路132,用于依据该运算指令对接收到的数据块以及广播数据执行运算得到中间结果,并将中间结果传输给分支处理电路134;
主处理电路131,用于将分支处理电路134发送的中间结果进行后续处理得到该计算指令的结果,将该计算指令的结果发送给控制器单元120。
可以理解的是,本申请中对第二参数的赋值仅为举例说明,并不对第二参数的赋值范围和每个赋值下主从电路的互联方式做唯一限定,例如,当对第二参数赋值为其他值时,其互联方式可以为无拓扑结构/无互联(即各个处理电路独立并行工作)、环形互联、网格状互联,等等。
如图1D、图1E和图1G所示,存储单元110包括输入神经元缓存111、权值缓存112和输出神经元缓存113;其中,神经元缓存单元111,用于缓存从处理电路132计算过程中需要的输入神经元数据;权值缓存112,用于缓存从处理电路132计算过程中需要的权值数据;输出神经元缓存113,用于缓存主处理电路132计算过程中的输出神经元数据。
可选的,在根据所述约束条件对N个参数进行赋值时,模板配置单元10具体用于:提取所述约束条件中对存储单元110的表面积以及功耗约束条件;以及用于根据运算单元130中处理电路的数量、对存储单元110的表面积以及功耗约束条件对N个参数中的第一参数、第二参数和第三参数进行赋值,该第一参数用于表示输入神经元缓存111的规模、第二参数用于表示权值缓存112的规模、第三参数用于表示输出神经元缓存113的规模,单位均为KB。
举例来说,在确定输入神经元缓存111、权值缓存112和输出神经元缓存113规模时,即对第一参数、第二参数和第三参数赋值时,为了保证运算单元130的满负荷运转,输入神经元缓存111、权值缓存112和输出神经元缓存113规模需不少于运算单元130中的处理电路数量的x1倍,y1倍和z1倍,同时,为了保证存储单元110的面积和功率分别满足面积和功率约束条件,则输入神经元缓存111、权值缓存112和输出神经元缓存113规模不超过运算单元130中的处理电路数目的x2倍,y2倍,z2倍,如运算单元130中处理电路数目为m,则输入神经元缓存111、权值缓存112和输出神经元缓存113规模分别为S1、S2和S3,m*x1≤S1≤m*x2,m*y1≤S1≤m*y2,m*z1≤S1≤m*z2,其中x1,y1,z1,x2,y2,z2均为实数,x1≤x2,y1≤y2,z1≤z2
模板配置单元10,还用于获取所述约束条件中对数据的复用策略,根据所述复用策略对N个参数中第四参数、第五参数和第六参数进行赋值,该第四参数用于表示输入神经元缓存111的缓存模式、第五参数用于表示权值缓存112的缓存模式、第六参数用于表示输出神经元缓存113的缓存模式,该第四参数、第五参数和第六参数均为大于或者等于1的整数。
具体来讲,接收用户输入的对数据复用策略优先设定对数据的缓存模式,如设定人工智能处理器的数据复用策略为复用输入神经元,优选的,设定输入神经元缓存111采用cache模式,权值缓存112和输出神经元缓存113采用Scratchpad Memory模式,同理,如设定数据复用策略为复用权值,优选的,权值缓存采用cache模式,输入神经元缓存111和输出神经元缓存113采用Scratchpad Memory模式,如设定数据复用策略为复用输出神经元,优选的,输出神经元缓存113采用cache模式,输入神经元缓存111和权值缓存112采用Scratchpad Memory模式。
在一可能的示例中,当对第四参数、第五参数和第六参数赋值为1时,输入神经元缓存111、权值缓存112以及输出神经元缓存113缓存模式为cache模式,对存储单元110的第四参数、第五参数、第六参数赋值2时,输入神经元缓存111、权值缓存112以及输出神经元缓存113缓存模式均为便笺存储器Scartchpad Memory模式。
进一步地,cache模式无需用户手动缓存数据,但会引入额外的面积和功耗,Scartchpad Memory模式需用户手动缓存数据,但面积和功耗较cache模式较少,故在未优先设置对数据的复用策略时,可根据对存储单元110的面积和功耗约束条件确定输入神经元缓存111、权值缓存112以及输出神经元缓存113的缓存模式,即当对存储单元110的面积和功耗约束条件范围较大时,可采用cache模式,反之,采用Scartchpad Memory模式。
如图1D、图1E和图1G所示,控制器单元120包括指令缓存单元121、指令处理单元122、依赖关系处理单元123、存储队列单元124;
指令缓存单元121,用于存储与人工智能处理器运算关联的计算指令;
指令处理单元122,用于对所述计算指令解析得到多个运算指令;
存储队列单元123,用于存储指令队列,该指令队列包括:按该队列的前后顺序待执行的多个运算指令或计算指令;
依赖关系处理单元124,用于确定第一运算指令与所述第一运算指令之前的第零运算指令是否存在关联关系,如所述第一运算指令与所述第零运算指令存在关联关系,将所述第一运算指令缓存在所述指令缓存单元内,在所述第零运算指令执行完毕后,从所述指令缓存单元提取所述第一运算指令传输至所述运算单元;其中,确定该第一运算指令与第一运算指令之前的第零运算指令是否存在关联关系包括:依据所述第一运算指令提取所述第一运算指令中所需数据的第一存储地址区间,依据所述第零运算指令提取所述第零运算指令中所需数据的第零存储地址区间,如所述第一存储地址区间与所述第零存储地址区间具有重叠的区域,确定所述第一运算指令与所述第零运算指令具有关联关系,如所述第一存储地址区间与所述第零存储地址区间不具有重叠的区域,确定所述第一运算指令与所述第零运算指令不具有关联关系。
可选的,在根据所述约束条件对与所述控制器单元对应的多个参数进行赋值时,模板配置单元10具体用于:提取所述约束条件中对控制器单元120的表面积以及功耗约束条件;根据运算单元中处理电路的数量、控制器单元120的表面积以及功耗约束条件对P个参数中第一参数、第二参数进行赋值,该第一参数用于表示指令处理单元122的规模,单位为KB,该第二参数用于表示存储队列单元123的队列长度;根据控制器单元的表面积和功耗以及控制器单元的表面积以及功耗约束条件对P个参数中第三参数、第四参数进行赋值,该第三参数用于表示指令缓存单元121的缓存模式,该第四参数用于表示依赖关系处理单元124是否存在。
举例来说,如控制器单元120的性能约束条件为使运算单元130满负荷运转、面积约束条件为小于amm2、功率约束条件为小于bmW,在满足性能约束条件时,即运算单元130满负荷运转时,指令处理单元122和存储队列单元124规模需大于运算单元130中处理电路数目(假设为m)的J1倍和K1倍,如在满足面积和功耗约束条件时,即使控制器单元120的功率和面积分别小于bmW和amm2时,指令处理单元122和存储队列单元124的规模需小于运算单元130中处理电路数目的J2倍和K2倍,故对第一参数和第二参数的赋值为:J1*m≤第一参数≤J2*m,K1*m≤第二参数≤K2*m,其中J1,J2,K1,K2为实数;
在一可能的示例中,对第三参数赋值1时,指令缓存单元121的缓存模式为cache模式,对第三参数赋值为2时,指令缓存单元121的缓存模式为Scartchpad Memory模式;对第四参数赋值为0时,表示依赖关系处理单元不存在,对第二参数赋值赋值为1时,表示关系处理单元存在。
具体来讲,第三参数和第四参数的赋值受限于控制器单元的面积和功耗,故在对第三参数和第四参数赋值之前,获取控制器单元的当前面积和功耗,在当前面积和功耗满足对控制器单元120的面积和功率约束条件时,优选的,将指令缓存单元121的缓存模式设置为cache模式(可将第三参数赋值为1),设置依赖关系处理单元124存在(可将第四参数赋值为1),否则,将指令缓存单元121的缓存模式设置为Scartchpad Memory模式(可将第三参数赋值为2),设置依赖关系处理单元124不存在(可将第四参数赋值为0)。
本申请中所涉及的对存储单元110、控制器单元120和运算单元130中参数的赋值方式,均为示例性说明,本申请不对赋值方式做唯一限定。
参阅图2,图2为本申请实施例提供的一种人工智能处理器的配置方法的流程示意图,该方法应用于人工智能处理器的配置装置,该装置包括模板配置单元和评估单元,该方法包括如步骤S201~S202中所示的内容:
步骤S201、所述模板配置单元接收输入的约束条件,根据所述约束条件对参数配置表中的参数进行赋值,根据赋值后的参数确定人工智能处理器的硬件架构以及工作模式。
步骤S202、所述评估所述人工智能处理器的硬件架构以及工作模式,判断所述人工智能处理器的硬件架构以及工作模式是否满足所述约束条件。
可选的,所述人工智能处理器包括控制器单元、存储单元和运算单元,所述根据所述约束条件对参数配置表中的参数进行赋值具体包括:确定所述参数配置表中与所述运算单元对应的M个参数,根据所述约束条件对M个参数进行赋值;确定所述参数配置表中与所述存储单元对应的N个参数,根据所述约束条件对N个参数进行赋值;确定所述参数配置表中与所述控制器单元对应的P个参数,根据所述约束条件对P个参数进行赋值;其中,M、N和P均为大于或者等于1的整数。
可选的,所述运算单元包括处理电路,所述根据所述约束条件对M个参数进行赋值时,具体包括:提取所述约束条件中对所述运算单元的性能、功耗以及表面积约束条件;根据对所述运算单元的性能约束条件确定处理电路的数量X,将M个参数中第一参数赋值为X,该第一参数为大于1的整数;对M个参数中第二参数进行赋值,确定每次赋值时主处理电路与多个从处理电路的互联方式,获取每种互联方式下运算单元的功耗和表面积,将满足运算单元的功耗以及表面积约束条件的赋值作为该第二参数的最终赋值,该第二参数为大于或者等于1的整数。
可选的,所述X个处理电路中包括一个主处理电路和(X-1)个从处理电路,或多个主处理电路和多个从处理电路。
可选的,所述存储单元包括:输入神经元缓存、权值缓存和输出神经元缓存,所述根据所述约束条件对N个参数进行赋值时,具体包括:提取所述约束条件中对所述存储单元的表面积以及功耗约束条件;根据运算单元中处理电路的数量、所述存储单元的表面积以及功耗约束条件分别对N个参数中第一参数、第二参数和第三参数进行赋值,该第一参数用于表示输入神经元缓存的规模、第二参数用于表示权值缓存的规模、第三参数用于表示所述输出神经元缓存的规模,单位均为KB;获取所述约束条件中对数据的复用策略,根据所述复用策略对N个参数中第四参数、第五参数和第六参数进行赋值,该第四参数用于表示输入神经元缓存的缓存模式、第五参数用于表示权值缓存的缓存模式、第六参数用于表示输出神经元缓存的缓存模式,该第四参数、第五参数和第六参数均为大于或者等于1的整数。
可选的,所述控制器单元包括指令缓存单元、指令处理单元、依赖关系处理单元、存储队列单元,所述根据所述约束条件对P个参数进行赋值,具体包括:提取所述约束条件中对所述控制器单元的表面积以及功耗约束条件;获取所述约束条件中对数据的复用策略,根据所述复用策略对P个参数中第一参数进行赋值,该第一参数用于表示指令缓存单元的缓存模式,该第一参数为大于等于1的整数;根据运算单元中处理电路的数量、控制器单元的表面积以及功耗约束条件对P个参数的第二参数进行赋值,该第二参数用于表示指令处理单元的规模,单位为KB;根据对控制器单元的表面积以及功耗约束条件对P个参数中的第三参数进行赋值,该第三参数用于表示该依赖关系处理单元是否存在;根据运算单元中处理电路的数量、对所述控制器单元的表面积以及功耗约束条件对P个参数中第四参数进行赋值,该第四参数用于表示存储队列单元的队列长度,为大于1的整数。
可选的,所述约束条件包括对运算单元的性能、功耗以及表面积约束条件、对存储单元的表面积以及功耗约束条件、对控制器单元的表面积以及功耗约束条件,所述评估单元包括性能评估单元、功耗评估单元和表面积评估单元;所述性能评估单元评估运算单元的性能是否满足对所述运算单元的性能约束条件和评估存储单元的规模以及控制器单元的规模是否能够使运算单元满负荷运行;所述功耗评估单元分别评估运算单元的功耗、存储单元的功耗以及控制器单元的功耗是否分别满足运算单元的功耗约束条件、存储单元的功耗约束条件以及控制器单元的功耗约束条件;所述面积评估单元分别评估运算单元的表面积、存储单元的表面积以及控制器单元的表面积是否满足对运算单元的表面积约束条件、存储单元的表面积约束条件以及控制器单元的表面积约束条件。
可以看出,在本申请实施例中,通过本申请中的装置接收输入约束条件,根据该约束条件自动对参数配置表中的参数进行赋值,根据赋值后的参数设计人工智能处理器的硬件架构以及工作模式,无需人工反复调节参数,即可使人工智能处理器的性能、功耗和表面积之间达到平衡,缩短了人工智能处理器的设计周期,简化了设计过程,实现自动化、智能化设计人工智能处理器。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (12)

1.一种人工智能处理器的配置装置,其特征在于,所述配置装置包括:模板配置单元和评估单元;
所述模板配置单元,用于接收输入的约束条件,根据所述约束条件对参数配置表中的参数进行赋值,根据赋值后的参数确定人工智能处理器的硬件架构以及工作模式;
所述评估单元,用于评估所述人工智能处理器的硬件架构以及工作模式,判断所述人工智能处理器的硬件架构以及工作模式是否满足所述约束条件;在判断所述人工智能处理器的硬件架构以及工作模式满足所述约束条件时,依据赋值后的参数得到对人工智能处理器的硬件架构以及工作模式的设计方案,将设计方案输出;在所述人工智能处理器的硬件架构以及硬件架构的工作模式不满足所述约束条件时,依据赋值后的参数得到评估结果,以提示用户根据所述评估结果调整约束条件,重新输入约束条件;
所述约束条件包括对运算单元的性能、功耗以及表面积约束条件、对存储单元的表面积以及功耗约束条件、对控制器单元的表面积以及功耗约束条件,所述评估单元包括性能评估单元、功耗评估单元和表面积评估单元;
所述性能评估单元,用于评估运算单元的性能是否满足对所述运算单元的性能约束条件;评估存储单元的规模以及控制器单元的规模是否能够使运算单元满负荷运行;
所述功耗评估单元,用于分别评估运算单元的功耗、存储单元的功耗以及控制器单元的功耗是否满足运算单元的功耗约束条件、存储单元的功耗约束条件以及控制器单元的功耗约束条件;
所述面积评估单元,用于分别评估运算单元的表面积、存储单元的表面积以及控制器单元的表面积是否满足对运算单元的表面积约束条件、存储单元的表面积约束条件以及控制器单元的表面积约束条件。
2.根据权利要求1所述的装置,其特征在于,所述人工智能处理器包括控制器单元、存储单元和运算单元,在根据所述约束条件对参数配置表中的参数进行赋值时,所述模板配置单元具体用于:
确定所述参数配置表中与所述运算单元对应的M个参数,根据所述约束条件对M个参数进行赋值;
确定所述参数配置表中与所述存储单元对应的N个参数,根据所述约束条件对N个参数进行赋值;
确定所述参数配置表中与所述控制器单元对应的P个参数,根据所述约束条件对P个参数进行赋值;
其中,M、N和P均为大于或者等于1的整数。
3.根据权利要求2所述的装置,其特征在于,所述运算单元包括处理电路,所述根据所述约束条件对M个参数进行赋值时,所述模板配置单元具体用于:
提取所述约束条件中对所述运算单元的性能、功耗以及表面积约束条件;
根据对所述运算单元的性能约束条件确定处理电路的数量X,将M个参数中第一参数赋值为X,该第一参数用于表示处理电路的数量,X为大于1的整数;
对M个参数中第二参数进行赋值,确定每次赋值时运算单元的功耗和表面积,将满足运算单元的功耗以及表面积约束条件的赋值作为对该第二参数的最终赋值,该第二参数用于表示主从处理电路的互联方式,该第二参数为大于或者等于1的整数。
4.根据权利要求3所述的装置,其特征在于,X个处理电路中包括一个主处理电路和(X-1)个从处理电路,或多个主处理电路和多个从处理电路。
5.根据权利要求2所述的装置,其特征在于,所述存储单元包括:输入神经元缓存、权值缓存和输出神经元缓存,所述在根据所述约束条件对N个参数进行赋值时,所述模板配置单元具体用于:
提取所述约束条件中对所述存储单元的表面积以及功耗约束条件;
根据运算单元中处理电路的数量、存储单元的表面积以及功耗约束条件分别对N个参数中第一参数、第二参数和第三参数进行赋值,该第一参数用于表示输入神经元缓存的规模、第二参数用于表示权值缓存的规模、第三参数用于表示输出神经元缓存的规模,单位均为KB;
获取所述约束条件中对数据的复用策略,根据所述复用策略对N个参数中第四参数、第五参数和第六参数进行赋值,该第四参数用于表示输入神经元缓存的缓存模式、第五参数用于表示权值缓存的缓存模式、第六参数用于表示输出神经元缓存的缓存模式。
6.根据权利要求2所述的装置,其特征在于,所述控制器单元包括指令缓存单元、指令处理单元、依赖关系处理单元、存储队列单元,所述根据所述约束条件对P个参数进行赋值时,所述模板配置单元具体用于:
提取所述约束条件中对所述控制器单元的表面积以及功耗约束条件;
根据运算单元中处理电路的数量、控制器单元的表面积以及功耗约束条件对P个参数中第一参数、第二参数进行赋值,该第一参数用于表示指令处理单元的规模,单位为KB,该第二参数用于表示存储队列单元的队列长度;
根据控制器单元的表面积和功耗以及控制器单元的表面积以及功耗约束条件对P个参数中第三参数、第四参数进行赋值,该第三参数用于表示指令缓存单元的缓存模式,该第四参数用于表示依赖关系处理单元是否存在。
7.一种人工智能处理器的配置方法,其特征在于,所述方法应用于人工智能处理器的配置装置,所述装置包括模板配置单元和评估单元,所述方法包括:
所述模板配置单元接收输入的约束条件,根据所述约束条件对参数配置表中的参数进行赋值,根据赋值后的参数确定人工智能处理器的硬件架构以及工作模式;
所述评估单元评估所述人工智能处理器的硬件架构以及工作模式,判断所述人工智能处理器的硬件架构以及工作模式是否满足所述约束条件;在判断所述人工智能处理器的硬件架构以及工作模式满足所述约束条件时,依据赋值后的参数得到对人工智能处理器的硬件架构以及工作模式的设计方案,将设计方案输出;在所述人工智能处理器的硬件架构以及硬件架构的工作模式不满足所述约束条件时,依据赋值后的参数得到评估结果,以提示用户根据所述评估结果调整约束条件,重新输入约束条件;
所述约束条件包括对运算单元的性能、功耗以及表面积约束条件、对存储单元的表面积以及功耗约束条件、对控制器单元的表面积以及功耗约束条件,所述评估单元包括性能评估单元、功耗评估单元和表面积评估单元;
所述性能评估单元评估运算单元的性能是否满足对所述运算单元的性能约束条件和评估存储单元的规模以及控制器单元的规模是否能够使运算单元满负荷运行;
所述功耗评估单元分别评估运算单元的功耗、存储单元的功耗以及控制器单元的功耗是否分别满足运算单元的功耗约束条件、存储单元的功耗约束条件以及控制器单元的功耗约束条件;
所述面积评估单元分别评估运算单元的表面积、存储单元的表面积以及控制器单元的表面积是否满足对运算单元的表面积约束条件、存储单元的表面积约束条件以及控制器单元的表面积约束条件。
8.根据权利要求7所述的方法,其特征在于,所述人工智能处理器包括控制器单元、存储单元和运算单元,所述根据所述约束条件对参数配置表中的参数进行赋值具体包括:
确定所述参数配置表中与所述运算单元对应的M个参数,根据所述约束条件对M个参数进行赋值;
确定所述参数配置表中与所述存储单元对应的N个参数,根据所述约束条件对N个参数进行赋值;
确定所述参数配置表中与所述控制器单元对应的P个参数,根据所述约束条件对P个参数进行赋值;
其中,M、N和P均为大于或者等于1的整数。
9.根据权利要求8所述的方法,其特征在于,所述运算单元包括处理电路,所述根据所述约束条件对与所述存储单元对应的多个参数进行赋值时,具体包括:
提取所述约束条件中对所述运算单元的性能、功耗以及表面积约束条件;
根据对所述运算单元的性能约束条件确定处理电路的数量X,将M个参数中第一参数赋值为X,该第一参数用于表示处理电路的数量,X为大于1的整数;
对M个参数中第二参数进行赋值,确定每次赋值时运算单元的功耗和表面积,将满足运算单元的功耗以及表面积约束条件的赋值作为对该第二参数的最终赋值,该第二参数用于表示主从处理电路的互联方式,该第二参数为大于或者等于1的整数。
10.根据权利要求9所述的方法,其特征在于,X个处理电路中包括一个主处理电路和(X-1)个从处理电路,或多个主处理电路和多个从处理电路。
11.根据权利要求8所述的方法,其特征在于,所述存储单元包括:输入神经元缓存、权值缓存和输出神经元缓存,所述根据所述约束条件对与所述存储单元对应的多个参数进行赋值具体包括:
提取所述约束条件中对所述存储单元的表面积以及功耗约束条件;
根据运算单元中处理电路的数量、存储单元的表面积以及功耗约束条件分别对N个参数中第一参数、第二参数和第三参数进行赋值,该第一参数用于表示输入神经元缓存的规模、第二参数用于表示权值缓存的规模、第三参数用于表示所述输出神经元缓存的规模,单位均为KB;
获取所述约束条件中对数据的复用策略,根据所述复用策略对N个参数中第四参数、第五参数和第六参数进行赋值,该第四参数用于表示输入神经元缓存的缓存模式、第五参数用于表示权值缓存的缓存模式、第六参数用于表示输出神经元缓存的缓存模式。
12.根据权利要求8所述的方法,其特征在于,所述控制器单元包括指令缓存单元、指令处理单元、依赖关系处理单元、存储队列单元,所述根据所述约束条件对与所述控制器单元对应的多个参数进行赋值具体包括:
提取所述约束条件中对所述控制器单元的表面积以及功耗约束条件;
根据运算单元中处理电路的数量、控制器单元的表面积以及功耗约束条件对P个参数中第一参数、第二参数进行赋值,该第一参数用于表示指令处理单元的规模,单位为KB,该第二参数用于表示存储队列单元的队列长度;
根据控制器单元的表面积和功耗以及控制器单元的表面积以及功耗约束条件对P个参数中第三参数、第四参数进行赋值,该第三参数用于表示指令缓存单元的缓存模式,该第四参数用于表示依赖关系处理单元是否存在。
CN201910226686.9A 2019-03-25 2019-03-25 人工智能处理器的配置装置、方法及相关产品 Active CN109978160B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910226686.9A CN109978160B (zh) 2019-03-25 2019-03-25 人工智能处理器的配置装置、方法及相关产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910226686.9A CN109978160B (zh) 2019-03-25 2019-03-25 人工智能处理器的配置装置、方法及相关产品

Publications (2)

Publication Number Publication Date
CN109978160A CN109978160A (zh) 2019-07-05
CN109978160B true CN109978160B (zh) 2021-03-02

Family

ID=67080289

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910226686.9A Active CN109978160B (zh) 2019-03-25 2019-03-25 人工智能处理器的配置装置、方法及相关产品

Country Status (1)

Country Link
CN (1) CN109978160B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104166618A (zh) * 2013-05-16 2014-11-26 郭若杉 一种算法硬件实现方法和系统
CN106970840A (zh) * 2017-02-28 2017-07-21 天津大学 一种结合任务调度的软硬件划分方法
CN109212960A (zh) * 2018-08-30 2019-01-15 周军 基于权值敏感度的二值神经网络硬件压缩方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110188870B (zh) * 2016-04-27 2021-10-12 中科寒武纪科技股份有限公司 用于执行人工神经网络自学习运算的装置和方法
CN106650922B (zh) * 2016-09-29 2019-05-03 清华大学 硬件神经网络转换方法、计算装置、软硬件协作系统
CN107103113B (zh) * 2017-03-23 2019-01-11 中国科学院计算技术研究所 面向神经网络处理器的自动化设计方法、装置及优化方法
CN107016175B (zh) * 2017-03-23 2018-08-31 中国科学院计算技术研究所 适用神经网络处理器的自动化设计方法、装置及优化方法
CN108805271B (zh) * 2017-05-05 2021-03-26 上海寒武纪信息科技有限公司 一种运算装置和方法
EP3579152B1 (en) * 2017-04-20 2022-09-14 Shanghai Cambricon Information Technology Co., Ltd Computing apparatus and related product
KR20190001433A (ko) * 2017-06-27 2019-01-04 포항공과대학교 산학협력단 발화형 뉴런 회로 및 이의 동작 방법
CN108764468A (zh) * 2018-05-03 2018-11-06 中国科学院计算技术研究所 用于智能识别的人工神经网络处理器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104166618A (zh) * 2013-05-16 2014-11-26 郭若杉 一种算法硬件实现方法和系统
CN106970840A (zh) * 2017-02-28 2017-07-21 天津大学 一种结合任务调度的软硬件划分方法
CN109212960A (zh) * 2018-08-30 2019-01-15 周军 基于权值敏感度的二值神经网络硬件压缩方法

Also Published As

Publication number Publication date
CN109978160A (zh) 2019-07-05

Similar Documents

Publication Publication Date Title
TW202022644A (zh) 一種運算裝置和運算方法
CN108121688A (zh) 一种计算方法及相关产品
CN109615071A (zh) 一种高能效的神经网络处理器、加速系统及方法
CN114492770A (zh) 一种面向循环脉冲神经网络的类脑计算芯片映射方法
CN108320019B (zh) 用于深度卷积神经网络的卷积计算方法及装置
CN108491924B (zh) 一种面向人工智能计算的神经网络数据串行流水处理装置
CN111860853A (zh) 在线预测系统、设备、方法及电子设备
CN114386349A (zh) 系统级数字电路的布线方法及装置、设备、存储介质
CN113449842A (zh) 一种分布式自动微分方法及相关装置
CN111683010B (zh) 基于光缆网光路的双路由的生成方法及装置
CN109978160B (zh) 人工智能处理器的配置装置、方法及相关产品
CN108595149A (zh) 可重构乘加运算装置
CN117595316A (zh) 一种三相不平衡优化方法及系统
CN116167425B (zh) 一种神经网络加速方法、装置、设备及介质
CN109102468A (zh) 图像增强方法、装置、终端设备及存储介质
CN116670660A (zh) 片上网络的仿真模型生成方法、装置、电子设备及计算机可读存储介质
CN116644804A (zh) 分布式训练系统、神经网络模型训练方法、设备和介质
CN109446146B (zh) 一种应用层通信协议的状态转换序列生成方法
WO2023050807A1 (zh) 一种数据处理方法、装置、系统、电子设备及存储介质
CN108737130B (zh) 基于神经网络的网络流量预测装置及方法
CN109032565A (zh) 一种应用于模拟数据中的带区间权重的二叉树随机数生成方法
CN106412125B (zh) 一种基于负载平衡的并序化云监控系统及构建方法
CN114205160A (zh) 基于区块链的数据处理方法、装置及电子设备
CN111563598B (zh) 预估量子计算模拟时间的方法、系统
CN112306675A (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
CB02 Change of applicant information

Address after: 100000 room 644, No. 6, No. 6, South Road, Beijing Academy of Sciences

Applicant after: Zhongke Cambrian Technology Co., Ltd

Address before: 100000 room 644, No. 6, No. 6, South Road, Beijing Academy of Sciences

Applicant before: Beijing Zhongke Cambrian Technology Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant