CN116991792B - 应用于人工智能芯片的计算处理方法、装置及芯片 - Google Patents
应用于人工智能芯片的计算处理方法、装置及芯片 Download PDFInfo
- Publication number
- CN116991792B CN116991792B CN202311211387.0A CN202311211387A CN116991792B CN 116991792 B CN116991792 B CN 116991792B CN 202311211387 A CN202311211387 A CN 202311211387A CN 116991792 B CN116991792 B CN 116991792B
- Authority
- CN
- China
- Prior art keywords
- configuration
- stream
- data stream
- parameter configuration
- parameter
- 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
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 100
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000012545 processing Methods 0.000 claims abstract description 36
- 238000000034 method Methods 0.000 claims abstract description 22
- 230000004044 response Effects 0.000 claims abstract description 15
- 238000013473 artificial intelligence Methods 0.000 claims description 21
- 238000012986 modification Methods 0.000 claims description 12
- 230000004048 modification Effects 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 5
- 238000013528 artificial neural network Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/781—On-chip cache; Off-chip memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Advance Control (AREA)
Abstract
本发明是关于应用于人工智能芯片的计算处理方法、装置及芯片。其中,该方法包括:响应于接收到指令流,从所述指令流中解析出第一指示信息,所述第一指示信息用于指示配置流缓存单元中的目标配置流;其中,配置流缓存单元中存储了多个配置流,每个配置流包括一套对计算单元的配置参数的可选参数配置;控制计算单元基于目标配置流的可选参数配置对数据流进行计算处理。本发明通过独立于数据流和配置流之外的指令流,从已经下发的多套可选参数配置中指定参数配置,从而使芯片的计算单元可以快速进行参数配置的切换以配合数据流的计算。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及应用于人工智能芯片的计算处理方法、装置及芯片。
背景技术
现有技术中,用于检测任务、计算任务的人工智能芯片方案主要分为两类,一类是通用处理器,如CPU(Central Processing Unit,中央处理器)、FPGA(Field ProgrammableGate Array,现场可编程门阵列)等,通过软件实现人工智能计算;另一类是专门针对人工神经网络的加速处理器,如Nvidia的GPU(Graphics Processing Unit,图形处理器)、Google的TPU(Tensor Processing Units,张量处理器)等。这些芯片方案在不同场景下有其优劣势,但是对于多任务自分配和调度的问题,需要在软硬件结合的设计上做更多的优化和创新。
传统的人工神经网络处理器中,面临着算力不足、功耗过大、时延较长等问题,严重影响人工智能芯片在更多场景中的普及和使用。例如,在现有方案中,芯片内部的计算单元需要遵循先配置后计算的原则,这种方式往往会带来不必要的时延和很多冗余的计算。如何进一步提升人工智能芯片计算能力,成为亟待解决的问题。
发明内容
为克服相关技术中存在的问题,本发明的实施例提供一种应用于人工智能芯片的计算处理方法、装置及芯片。技术方案如下:
根据本发明的实施例的第一方面,提供一种应用于人工智能芯片的计算处理方法,包括:
响应于接收到指令流,从所述指令流中解析出第一指示信息,所述第一指示信息用于指示配置流缓存单元中的目标配置流;其中,配置流缓存单元中存储了多个配置流,每个配置流包括一套对计算单元的配置参数的可选参数配置;
控制计算单元基于目标配置流的可选参数配置对数据流进行计算处理。
在本申请一实施例中,所述第一指示信息还用于指示数据流缓存单元中的目标数据流;
所述控制计算单元基于目标配置流的可选参数配置对数据流进行计算处理,包括:控制计算单元基于目标配置流的可选参数配置对目标数据流进行计算处理。
在本申请一实施例中,所述方法还包括:
响应于接收到指令流,从所述指令流中解析出第二指示信息,所述第二指示信息用于直接指示对计算单元的配置参数的参数配置;
控制计算单元基于目标配置流的可选参数配置以及指令流直接指示的参数配置对数据流进行计算处理,其中,所述指令流直接指示的参数配置比目标配置流的可选参数配置具有更高优先级。
在本申请一实施例中,所述方法还包括:
检测数据流中包括的参数配置信息;
确定检测到的参数配置信息对应的数据流参数配置;
控制计算单元基于目标配置流的可选参数配置以及所述数据流参数配置对数据流进行计算处理,其中,所述数据流参数配置比目标配置流的可选参数配置具有更高优先级。
在本申请一实施例中,所述检测数据流中包括的参数配置信息,包括以下方式中的至少一种:
检测数据流中预留指定区域存在的参数配置信息;
检测数据流的数据分类属性,将数据分类属性作为参数配置信息。
根据本发明的实施例的第二方面,提供一种应用于人工智能芯片的计算处理装置,包括:
解析模块,用于响应于接收到指令流,从所述指令流中解析出第一指示信息,所述第一指示信息用于指示配置流缓存单元中的目标配置流;其中,配置流缓存单元中存储了多个配置流,每个配置流包括一套对计算单元的配置参数的可选参数配置;
控制模块,用于控制计算单元基于目标配置流的可选参数配置对数据流进行计算处理。
在本申请一实施例中,所述第一指示信息还用于指示数据流缓存单元中的目标数据流;
所述控制模块还用于:控制计算单元基于目标配置流的可选参数配置对目标数据流进行计算处理。
在本申请一实施例中,所述解析模块还用于:响应于接收到指令流,从所述指令流中解析出第二指示信息,所述第二指示信息用于指示对计算单元的配置参数的修改信息;
所述控制模块还用于:控制计算单元基于目标配置流的可选参数配置以及所述修改信息对数据流进行计算处理,其中,所述修改信息比目标配置流的可选参数配置具有更高优先级。
在本申请一实施例中,所述装置还包括:
检测模块,用于检测数据流中包括的参数配置信息;
确定模块,用于确定检测到的参数配置信息对应的数据流参数配置;
所述控制模块还用于:控制计算单元基于目标配置流的可选参数配置以及所述数据流参数配置对数据流进行计算处理,其中,所述数据流参数配置比目标配置流的可选参数配置具有更高优先级;
在本申请一实施例中,所述检测模块检测数据流中包括的参数配置信息,包括:
检测数据流中预留指定区域存在的参数配置信息;或者,
检测数据流的数据分类属性,将数据分类属性作为参数配置信息。
根据本发明的实施例的第三方面,一种人工智能芯片,包括上述第二方面中任一项所述的应用于人工智能芯片的计算处理装置。
根据本发明的实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现本发明的实施例的第一方面中任一项方法的步骤。
本发明的实施例提供的技术方案,可以为芯片的计算单元预先配置多套可选参数配置,并以多个配置流的形式下发到配置流缓存单元中,在芯片进行计算需要更改计算单元的参数配置时,通过独立于数据流和配置流之外的指令流,在指令流中使用指示信息从已经下发的多套可选参数配置中指定一套参数配置,从而使计算单元可以快速进行参数配置的切换以配合数据流的计算。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的用于人工智能芯片的计算处理方法的流程图。
图2是根据一示例性实施例示出的人工智能芯片的架构示意图。
图3是根据一示例性实施例示出的用于人工智能芯片的计算处理方法的流程图。
图4是根据一示例性实施例示出的用于人工智能芯片的计算处理方法的流程图。
图5是根据一示例性实施例示出的用于人工智能芯片的计算处理装置的框图。
图6是根据一示例性实施例示出的用于人工智能芯片的计算处理装置的框图。
图7是根据一示例性实施例示出的用于人工智能芯片的计算处理装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在现有方案中,芯片内部的计算单元的配置和对数据进行计算之间,需要遵循先配置后计算的原则,这种方式往往会带来不必要的时延和很多冗余的计算。本发明的实施例提供了一种应用于人工智能芯片的计算处理方法,如图1所示,包括以下步骤S101-S102:
在步骤S101中,响应于接收到指令流,从所述指令流中解析出第一指示信息,所述第一指示信息用于指示配置流缓存单元中的目标配置流;其中,配置流缓存单元中存储了多个配置流,每个配置流包括一套对计算单元的配置参数的可选参数配置。
在步骤S102中,控制计算单元基于目标配置流的可选参数配置对数据流进行计算处理。
本申请提出的应用于人工智能芯片的计算处理方法,可以为计算单元预先配置多套可选参数配置,并以多个配置流的形式下发到配置流缓存单元中,在芯片进行计算需要更改计算单元的参数配置时,通过独立于数据流和配置流之外的指令流,在指令流中使用指示信息从已经下发的多套可选参数配置中指定一套参数配置,从而使计算单元可以快速进行参数配置的切换以配合数据流的计算。例如,当指令流的第一指示信息指示配置流缓存单元中的配置流1时,控制计算单元快速载入配置流1即使用配置流1的参数配置进行计算并将计算结果进行输出,当指令流的第一指示信息指示配置流缓存单元中的配置流2时,控制计算单元快速载入配置流2即使用配置流2的参数配置进行计算并将计算结果进行输出,因此,本申请通过独立于配置流和数据流之外的指令流实现了计算单元的配置参数的快速调整。
在本申请一实施例中,芯片中还可以设置数据流缓存单元,用于存储多个数据流,所述第一指示信息还用于指示数据流缓存单元中的目标数据流;在这种情况下,步骤S102控制计算单元基于目标配置流的可选参数配置对数据流进行计算处理,还可以包括:控制计算单元基于目标配置流的可选参数配置对目标数据流进行计算处理。
例如,芯片中数据流缓存单元包括第一数据流和第二数据流,用以分别指示计算所需的第一数据对象和第二数据对象;同时,配置流缓存单元中包括第一配置流和第二配置流,用以分别指示计算所需的第一可选参数配置和第二可选参数配置;在芯片的第一工作时间收到第一个指令流,所述指令流用以使用第一指示信息控制实际需要的数据流和配置流;例如,第一个指令流的第一指示信息指示第一数据流和第二配置流以完成计算任务;在第二工作时间收到第二个指令流,第二个指令流的第一指示信息指示第二数据流和第一配置流以完成计算任务;其中,第一和第二工作时间不相同。
本实施例通过构建指令流以实现多个数据流和配置流的灵活映射,实现了计算单元对计算数据及参数配置的灵活切换,达到快速灵活的人工神经网络处理,来实现更加智能化的人工神经网络加速计算。
在本申请一实施例中,配置流和指令流遵循不同的下发通道和方案,例如为配置流和指令流分配和设置不同的总线,两者的总线类型可以不同,其中配置流可以使用高带宽的总线和协议,而指令流只需要使用小带宽的总线即可。
上述实施例通过指令流实现了快速切换参数配置,通过配置流配置大多数的参数,这种方式适用于较大参数调整的计算变更。除此之外,本申请还可以对计算单元的配置参数中的小部分进行修改和微调。在本申请一实施例中,所述方法还包括步骤A1-步骤A2:
在步骤A1中,响应于接收到指令流,从所述指令流中解析出第二指示信息,所述第二指示信息用于直接指示对计算单元的配置参数的参数配置;
在步骤A2中,控制计算单元基于目标配置流的可选参数配置以及指令流直接指示的参数配置对数据流进行计算处理,其中,所述指令流直接指示的参数配置比目标配置流的可选参数配置具有更高优先级。
在这种情况下,需要定义指令流直接指示的参数配置比目标配置流的可选参数配置具有更高优先级,即指令流中的参数配置优先被使用。芯片在执行计算之前需要检查配置流中的可选参数配置和指令流直接指示的参数配置,并优先使用指令流直接指示的参数配置进行对应的计算。更进一步的,在本申请一实施例中,还可以在计算输出结果中,指示当前采用了配置流的参数配置还是指令流的参数配置,以便于后续模块遵循相应的配置流或是指令流的参数配置。
上述实施例通过指令流实现了快速切换参数配置,或者通过指令流实现了配置参数的修改,在本申请一实施例中,还同时提出一种配置参数切换方案,在数据流内部设置参数配置信息,从而使计算单元进行参数调整。具体的,所述方法还包括步骤B1-步骤B3:
在步骤B1中,检测数据流中包括的参数配置信息。
在步骤B2中,确定检测到的参数配置信息对应的数据流参数配置。
在本申请一实施例中,可以根据预先设置的参数配置信息和多套数据流参数配置的对应关系,来确定检测到的参数配置信息对应的数据流参数配置。其中,预先配置的多套数据流参数配置可以预先存入芯片中;其中,数据流参数配置可以是一整套对计算单元的配置参数的参数配置,也可以是对计算单元的少数配置参数的修改和微调。
在步骤B3中,控制计算单元基于目标配置流的可选参数配置以及所述数据流参数配置对数据流进行计算处理,其中,所述数据流参数配置比目标配置流的可选参数配置具有更高优先级。
在本申请一实施例中,上述步骤B1检测数据流中包括的参数配置信息,可以包括以下方式中的至少一种:
方式一、检测数据流中预留指定区域存在的参数配置信息;
方式二、检测数据流的数据分类属性,将数据分类属性作为参数配置信息。
方式一是显式设置参数配置信息,即在数据流中预留指定区域给参数配置信息,当预留指定区域为空时则认为数据流没有携带参数配置信息,当预留指定区域为非空时,则将预留指定区域的数据作为参数配置信息。
方式二是隐式设置参数配置信息,即利用数据本身的分类属性,在芯片内部自定义关联不同的参数配置,以实现更加智能化的灵活切换。例如,在进行人脸识别算法时,参数较多的大型图片进行大型CNN卷积网络计算,参数较少的图片采用小型CNN卷积网络计算;那么,当数据流的数据分类属性表明是大型图片时,则相应的数据流参数配置为大型CNN卷积网络计算的参数配置,当数据流的数据分类属性表明是参数较少的图片时,则相应的数据流参数配置为小型CNN卷积网络计算的参数配置。
下面通过实施例详细介绍实现过程。
本实施例提供的计算处理方法可以由人工智能芯片(AI芯片)来执行,上述的AI芯片可以是集成电路芯片,具有数据处理能力,例如可以是通用处理器,包括CPU、FPGA、DSP(Digital Signal Processor,数字信号处理器) 、ASIC(Application SpecificIntegrated Circuit,专用集成电路)等,也可以是专用处理器,例如可以是GPU、TPU等。更具体的,可以由人工智能芯片中的控制单元来执行。
图2所示为示例性的AI芯片的架构示意图。如图2所示,AI芯片的整体架构可以包括:控制单元201、计算单元202、存储单元203,其中存储单元203可以包括权重缓冲模块(WB)、输入缓冲模块(IB)和输出缓冲模块(BF)等,以上缓冲模块用于存储各种缓冲数据。计算单元202可以同时包含多个PE(Processing Element,阵列的最小处理单元)阵列,每个PE阵列包含多条PE线(peline),单个PE线具有多个PE,每个PE中可以包括乘加单元、少量寄存器以及少量控制逻辑,执行相应的浮点操作如相加和卷积。控制单元用于根据不同的计算任务需要,对计算单元中PE进行调度和对存储单元的数据输入、输出进行控制,计算任务类型包括训练任务、推理任务和训练推理同步进行任务。本申请可以在输入缓冲模块(IB)中设置数据流缓存单元和配置流缓存单元。
图3是根据一示例性实施例示出的应用于人工智能芯片的计算处理方法的示意性流程图。可以将该人工智能芯片应用于神经网络的训练和推断。训练神经网络的主要工作就是不断调整权重,使得网络推断(或者预测)误差最小化的过程;而推断过程则是指对新的数据,使用这些能力完成特定任务(如分类、识别等)的过程。神经网络包含至少一个神经网络层,可以是层1、层2和层3中的任意一层或多层,本申请不做限制,人工神经网络处理器需要对不同层的数据依次进行计算,每一层网络的卷积计算,需要依次进行。如图3所示,该方法包括以下步骤:
在步骤S301中,控制计算单元基于初始参数配置对数据流进行计算。
该步骤即人工神经网络处理器的常规计算,当当前层数据进行计算之前,需要预先设置好相应的配置参数,即PE阵列和PE线需要进行计算的PE参数。此时可以先基于预先设置的初始参数配置对数据流进行计算。
在步骤S302中,接收配置流并缓存入配置流缓存单元。
该步骤用于完成多套配置参数的配置,并分别以多个配置流下发存入芯片的配置流缓存单元。
在步骤S303中,响应于接收到指令流,从指令流中解析出第一指示信息,所述第一指示信息用于指示配置流缓存单元中的目标配置流。
本方案涉及的指令流从芯片IO端口输入,由芯片外部的控制系统或组件生成,按照芯片与外部系统约定的指令组成方式形成特定格式的指令。
在步骤S304中,控制计算单元基于目标配置流的可选参数配置对数据流进行计算处理。
芯片进入计算模式之后,可以通过独立于数据流和配置流之外的指令流通过较短的字节信息来进行参数配置切换以配合数据流计算,即当指令流指示使用目标配置流1的配置进行计算,则控制计算单元快速载入目标配置流1并将计算结果进行输出,当下一个指令流指示使用目标配置流2的配置进行计算,则控制计算单元快速载入目标配置流2并将计算结果进行输出;这种方式特别适用于较大参数调整的计算变更。
在步骤S305中,响应于接收到指令流,从所述指令流中解析出第二指示信息,所述第二指示信息用于直接指示对计算单元的配置参数的参数配置。
在步骤S306中,控制计算单元基于目标配置流的可选参数配置以及指令流直接指示的参数配置对数据流进行计算处理,其中,所述指令流直接指示的参数配置比目标配置流的可选参数配置具有更高优先级。
通过上述步骤S303-S304,已经通过指令流指定目标配置流配置计算单元的大多数参数,步骤S305-S306则是通过指令流直接对计算单元中的部分参数进行修改和微调。
配置流和指令流遵循不同的下发通道和方案,例如为配置流和指令流分配和设置不同的总线,甚至于两者的总线类型可以不同,其中配置流可以使用高带宽的总线和协议,而指令流只需要使用小带宽的总线即可。
当前层数据送入计算单元并进行相应的计算,根据相关指令流和配置流指示和激活对应的计算单元的计算,并将计算结果送出。将上述状态不断循环,最终实现PE阵列内每个PE计算的参数灵活调整,指令流和配置流相结合,才能得到最终使用的参数配置情况,以实现快速灵活地参数部署。所有的网络计算完成之后,可以向上层控制模块发出计算完成的指示,并将指令流和配置流数据进行清零。
图4是根据一示例性实施例示出的应用于人工智能芯片的计算处理方法的示意性流程图。如图4所示,该方法包括以下步骤:
在步骤S401中,控制计算单元基于初始参数配置对数据流进行计算。
在步骤S402中,接收配置流并缓存入配置流缓存单元。
该步骤用于完成多套配置参数的配置,并以多个配置流下发存入芯片。
在步骤S403中,响应于接收到指令流,从指令流中解析出第一指示信息,所述第一指示信息用于指示配置流缓存单元中的目标配置流。
在步骤S404中,控制计算单元基于目标配置流的可选参数配置对数据流进行计算处理。
在步骤S405中,检测数据流中包括的参数配置信息。
在步骤S406中,确定检测到的参数配置信息对应的数据流参数配置。
在步骤S407中,控制计算单元基于目标配置流的可选参数配置以及所述数据流参数配置对数据流进行计算处理,其中,所述数据流参数配置比目标配置流的可选参数配置具有更高优先级。
通过上述步骤S403-S404,已经通过指令流指定目标配置流配置了计算单元的配置参数,步骤S405-S406则是通过数据流中的参数配置信息对计算单元中的参数进行设置或修改。
下述为本发明装置实施例,可以用于执行本发明方法实施例。
图5所示为本申请提出的一种应用于人工智能芯片的计算处理装置,计算处理装置可以为服务器或服务器的一部分,也可以为终端或终端的一部分,计算处理装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图5所示,该计算处理装置包括:
解析模块501,用于响应于接收到指令流,从所述指令流中解析出第一指示信息,所述第一指示信息用于指示配置流缓存单元中的目标配置流;其中,配置流缓存单元中存储了多个配置流,每个配置流包括一套对计算单元的配置参数的可选参数配置;
控制模块502,用于控制计算单元基于目标配置流的可选参数配置对数据流进行计算处理。
在本申请一实施例中,所述第一指示信息还用于指示数据流缓存单元中的目标数据流;
所述控制模块502还用于:控制计算单元基于目标配置流的可选参数配置对目标数据流进行计算处理。
在本申请一实施例中,所述解析模块501还用于:响应于接收到指令流,从所述指令流中解析出第二指示信息,所述第二指示信息用于指示对计算单元的配置参数的修改信息;
所述控制模块502还用于:控制计算单元基于目标配置流的可选参数配置以及所述修改信息对数据流进行计算处理,其中,所述修改信息比目标配置流的可选参数配置具有更高优先级。
在本申请一实施例中,如图6所示,所述装置还包括:
检测模块503,用于检测数据流中包括的参数配置信息;
确定模块504,用于确定检测到的参数配置信息对应的数据流参数配置;
所述控制模块502还用于:控制计算单元基于目标配置流的可选参数配置以及所述数据流参数配置对数据流进行计算处理,其中,所述数据流参数配置比目标配置流的可选参数配置具有更高优先级;
所述检测模块检测数据流中包括的参数配置信息,包括:
检测数据流中预留指定区域存在的参数配置信息;或者,
检测数据流的数据分类属性,将数据分类属性作为参数配置信息。
图7是根据一示例性实施例示出的一种计算处理装置700的框图,该计算处理装置可以为服务器或服务器的一部分,也可以为终端或终端的一部分,计算处理装置包括:
处理器701;
用于存储处理器701可执行指令的存储器702;
其中,处理器701被配置为:
响应于接收到指令流,从所述指令流中解析出第一指示信息,所述第一指示信息用于指示配置流缓存单元中的目标配置流;其中,配置流缓存单元中存储了多个配置流,每个配置流包括一套对计算单元的配置参数的可选参数配置;
控制计算单元基于目标配置流的可选参数配置对数据流进行计算处理。
在示例性实施例中,装置700可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由装置700的处理器701执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置700的处理器执行时,使得装置700能够执行上述计算处理方法,所述方法包括:
响应于接收到指令流,从所述指令流中解析出第一指示信息,所述第一指示信息用于指示配置流缓存单元中的目标配置流;其中,配置流缓存单元中存储了多个配置流,每个配置流包括一套对计算单元的配置参数的可选参数配置;
控制计算单元基于目标配置流的可选参数配置对数据流进行计算处理。
在示例性实施例中,还提供了一种人工智能芯片,包括上述的应用于人工智能芯片的计算处理装置。
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (4)
1.一种应用于人工智能芯片的计算处理方法,其特征在于,包括:
为计算单元预先配置多套可选参数配置,并以多个配置流的形式下发到配置流缓存单元中;每个配置流包括一套对计算单元的大多数配置参数的参数配置;
响应于接收到独立于数据流和配置流之外的指令流,从所述指令流中解析出第一指示信息,所述第一指示信息用于通过短字节信息从配置流缓存单元中的多个配置流中指示目标配置流;所述第一指示信息还用于指示数据流缓存单元中的多个数据流中的目标数据流;
控制计算单元基于目标配置流的可选参数配置对目标数据流进行计算处理;
所述方法还包括:
响应于接收到指令流,从所述指令流中解析出第二指示信息,所述第二指示信息用于直接指示对计算单元的少数配置参数的参数配置;
控制计算单元基于目标配置流的可选参数配置以及指令流直接指示的参数配置对数据流进行计算处理,其中,所述指令流直接指示的参数配置比目标配置流的可选参数配置具有更高优先级;
所述方法还包括:
检测数据流中包括的参数配置信息;
确定检测到的参数配置信息对应的数据流参数配置;
控制计算单元基于目标配置流的可选参数配置以及所述数据流参数配置对数据流进行计算处理,其中,所述数据流参数配置比目标配置流的可选参数配置具有更高优先级;
所述检测数据流中包括的参数配置信息,包括以下方式中的至少一种:
检测数据流中预留指定区域存在的参数配置信息;
检测数据流的数据分类属性,将数据分类属性作为参数配置信息。
2.一种应用于人工智能芯片的计算处理装置,其特征在于,包括:
配置模块,用于为计算单元预先配置多套可选参数配置,并以多个配置流的形式下发到配置流缓存单元中;每个配置流包括一套对计算单元的大多数配置参数的参数配置;
解析模块,用于响应于接收到独立于数据流和配置流之外的指令流,从所述指令流中解析出第一指示信息,所述第一指示信息用于通过短字节信息从配置流缓存单元中的多个配置流中指示目标配置流;所述第一指示信息还用于指示数据流缓存单元中的多个数据流中的目标数据流;
控制模块,用于控制计算单元基于目标配置流的可选参数配置对目标数据流进行计算处理;
所述解析模块还用于:响应于接收到指令流,从所述指令流中解析出第二指示信息,所述第二指示信息用于指示对计算单元的少数配置参数的修改信息;
所述控制模块还用于:控制计算单元基于目标配置流的可选参数配置以及所述修改信息对数据流进行计算处理,其中,所述修改信息比目标配置流的可选参数配置具有更高优先级;
所述装置还包括:
检测模块,用于检测数据流中包括的参数配置信息;
确定模块,用于确定检测到的参数配置信息对应的数据流参数配置;
所述控制模块还用于:控制计算单元基于目标配置流的可选参数配置以及所述数据流参数配置对数据流进行计算处理,其中,所述数据流参数配置比目标配置流的可选参数配置具有更高优先级;
所述检测模块检测数据流中包括的参数配置信息,包括:
检测数据流中预留指定区域存在的参数配置信息;或者,
检测数据流的数据分类属性,将数据分类属性作为参数配置信息。
3.一种人工智能芯片,其特征在于,包括权利要求2所述的应用于人工智能芯片的计算处理装置。
4.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311211387.0A CN116991792B (zh) | 2023-09-20 | 2023-09-20 | 应用于人工智能芯片的计算处理方法、装置及芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311211387.0A CN116991792B (zh) | 2023-09-20 | 2023-09-20 | 应用于人工智能芯片的计算处理方法、装置及芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116991792A CN116991792A (zh) | 2023-11-03 |
CN116991792B true CN116991792B (zh) | 2024-04-16 |
Family
ID=88525003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311211387.0A Active CN116991792B (zh) | 2023-09-20 | 2023-09-20 | 应用于人工智能芯片的计算处理方法、装置及芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116991792B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110727697A (zh) * | 2019-08-29 | 2020-01-24 | 北京奇艺世纪科技有限公司 | 数据的处理方法和装置、存储介质、电子装置 |
CN115460333A (zh) * | 2021-06-08 | 2022-12-09 | Oppo广东移动通信有限公司 | 图像信号处理模块、芯片、电子设备及方法 |
CN116468078A (zh) * | 2023-03-29 | 2023-07-21 | 清华大学 | 面向人工智能芯片的智能引擎处理方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111753994B (zh) * | 2020-06-22 | 2023-11-03 | 深圳鲲云信息科技有限公司 | Ai芯片的数据处理方法、装置和计算机设备 |
-
2023
- 2023-09-20 CN CN202311211387.0A patent/CN116991792B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110727697A (zh) * | 2019-08-29 | 2020-01-24 | 北京奇艺世纪科技有限公司 | 数据的处理方法和装置、存储介质、电子装置 |
CN115460333A (zh) * | 2021-06-08 | 2022-12-09 | Oppo广东移动通信有限公司 | 图像信号处理模块、芯片、电子设备及方法 |
CN116468078A (zh) * | 2023-03-29 | 2023-07-21 | 清华大学 | 面向人工智能芯片的智能引擎处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116991792A (zh) | 2023-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10140123B2 (en) | SIMD processing lanes storing input pixel operand data in local register file for thread execution of image processing operations | |
US10592298B2 (en) | Method for distributing load in a multi-core system | |
US12061564B2 (en) | Network-on-chip data processing based on operation field and opcode | |
CN110750351B (zh) | 多核任务调度器、多核任务调度方法、装置及相关产品 | |
JP2019207458A (ja) | 半導体装置及びメモリアクセス設定方法 | |
GB2604298A (en) | Neural network processing | |
KR102539571B1 (ko) | 네트워크 온칩 데이터 처리 방법 및 장치 | |
JP2019067084A (ja) | 情報処理システム、情報処理装置、及び、転送先決定方法 | |
CN116991792B (zh) | 应用于人工智能芯片的计算处理方法、装置及芯片 | |
KR20200138413A (ko) | 네트워크 온칩 데이터 처리 방법 및 장치 | |
WO2024114728A1 (zh) | 一种异构处理器及相关调度方法 | |
CN113746763A (zh) | 一种数据处理的方法、装置和设备 | |
WO2023151460A1 (zh) | 数据处理方法、装置、芯片及介质 | |
KR20200138414A (ko) | 네트워크 온칩 데이터 처리 방법 및 장치 | |
KR20230169684A (ko) | 프로세싱-인-메모리 컴퓨팅 시스템 및 그의 pim 연산 오프로딩 방법 | |
KR102692866B1 (ko) | 컴퓨팅 자원 분할 운용 방법 및 장치 | |
KR20230059536A (ko) | 프로세스 스케줄링 방법 및 장치 | |
CN113495680B (zh) | 数据迁移方法及装置、存储系统、存储介质 | |
CN113556242B (zh) | 一种基于多处理节点来进行节点间通信的方法和设备 | |
CN111260046B (zh) | 运算方法、装置及相关产品 | |
KR20200139256A (ko) | 네트워크 온칩 데이터 처리 방법 및 장치 | |
CN111767999A (zh) | 数据处理方法、装置及相关产品 | |
US20220005521A1 (en) | Programmable Memory Controller Circuits And Methods | |
CN110647984B (zh) | 芯片、集成处理设备及其操作方法 | |
JPH03158952A (ja) | Dmaコントローラおよび情報処理システム |
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 |