CN110647984B - 芯片、集成处理设备及其操作方法 - Google Patents

芯片、集成处理设备及其操作方法 Download PDF

Info

Publication number
CN110647984B
CN110647984B CN201911024343.0A CN201911024343A CN110647984B CN 110647984 B CN110647984 B CN 110647984B CN 201911024343 A CN201911024343 A CN 201911024343A CN 110647984 B CN110647984 B CN 110647984B
Authority
CN
China
Prior art keywords
integrated processing
storage unit
processing device
chip
operands
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
CN201911024343.0A
Other languages
English (en)
Other versions
CN110647984A (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.)
Yangtze Delta Region Institute of Tsinghua University Zhejiang
ICLeague Technology Co Ltd
Original Assignee
Yangtze Delta Region Institute of Tsinghua University Zhejiang
ICLeague 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 Yangtze Delta Region Institute of Tsinghua University Zhejiang, ICLeague Technology Co Ltd filed Critical Yangtze Delta Region Institute of Tsinghua University Zhejiang
Priority to CN201911024343.0A priority Critical patent/CN110647984B/zh
Publication of CN110647984A publication Critical patent/CN110647984A/zh
Application granted granted Critical
Publication of CN110647984B publication Critical patent/CN110647984B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Neurology (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Advance Control (AREA)

Abstract

本申请实施例提供一种芯片、集成处理设备及其操作方法。该集成处理设备包括计算单元、耦接于计算单元的第一存储单元和第二存储单元;其中,计算单元适于基于集成处理设备在芯片的不同应用中运行参数的不同需求级别而选择性地从第一存储单元、第二存储单元和位于集成处理设备外部的外部数据源这三者中的二者分别接收操作数,外部数据源存储芯片上多个集成处理设备均可使用的操作数。本申请实施例可以满足集成处理设备中相关运行参数的实现需求,还可以最大化地利用集成处理设备的计算能力。

Description

芯片、集成处理设备及其操作方法
技术领域
本发明涉及芯片领域,尤其涉及芯片、集成处理设备及其操作方法。
背景技术
芯片的应用越来越广泛,例如,随着神经网络技术的发展,人工智能(ArtificialIntelligence,简称为“AI”)芯片需要更加强大的算力,这可以通过在AI芯片上增加更多的计算元件来实现,而更多的计算元件需要大量的数据来计算。
单位时间进入到计算单元中的数据量称为带宽,带宽会限制AI芯片的实际性能。对于每一个AI芯片架构,一个大的挑战是如何确保足够的带宽以使得数据能够被及时地提供到计算单元。通常,在AI架构内,到计算单元的数据通道是固定的;有两条进入到计算单元的数据通道,每条数据通道都向乘法器提供数据(该数据称为乘法器的操作数)。其缺点是,数据通道会固定用于AI芯片架构下的所有神经网络场景,其中两条数据通道的带宽限制了计算单元的效率。
为了提高效率,布置计算单元以最大化地重复利用从两条数据通道进入到计算单元中的数据。但是,重复利用用于多种计算的数据固定了获取这些数据的操作,这限制了操作的灵活性。
发明内容
本发明解决的技术问题是计算单元操作的灵活性受到了限制等。
为解决上述技术问题,本发明实施例提供一种位于芯片上的集成处理设备,包括计算单元、耦接于计算单元的第一存储单元和第二存储单元;其中,计算单元适于基于集成处理设备在芯片的不同应用中运行参数的不同需求级别而选择性地从第一存储单元、第二存储单元和位于集成处理设备外部的外部数据源这三者中的二者分别接收操作数,外部数据源存储芯片上多个集成处理设备均可使用的操作数。
可选地,芯片适于应用于不同的神经网络,运行参数为带宽,计算单元适于基于集成处理设备在不同神经网络的应用中带宽的不同需求级别而选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数。
可选地,计算单元适于基于集成处理设备在神经网络的应用中带宽的低需求级别而从第一存储单元和第二存储单元分别接收操作数。
可选地,计算单元适于基于集成处理设备在神经网络的应用中带宽的高需求级别而从第一存储单元和第二存储单元中的一者、以及外部数据源分别接收操作数。
可选地,芯片适于应用于不同的神经网络,运行参数为运行功率,计算单元适于基于集成处理设备在不同神经网络的应用中运行功率的不同需求级别而选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数。
可选地,计算单元适于基于集成处理设备在神经网络的应用中运行功率的低需求级别而从第一存储单元和第二存储单元分别接收操作数。
可选地,计算单元适于基于集成处理设备在神经网络的应用中运行功率的高需求级别而从第一存储单元和第二存储单元中的一者、以及外部数据源分别接收操作数。
可选地,芯片适于应用于不同的神经网络,运行参数为数据独立性,计算单元适于基于集成处理设备在不同神经网络的应用中数据独立性的不同需求级别而选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数。
可选地,计算单元适于基于集成处理设备在神经网络的应用中数据独立性的高需求级别而从第一存储单元和第二存储单元分别接收操作数。
可选地,计算单元适于基于集成处理设备在神经网络的应用中数据独立性的低需求级别而从第一存储单元和第二存储单元中的一者、以及外部数据源分别接收操作数。
本发明实施例还提供一种芯片,该芯片适于应用于不同的神经网络,芯片包括多个如上的集成处理设备。
本发明实施例还提供一种操作集成处理设备的方法,该集成处理设备位于芯片上,集成处理设备包括计算单元和耦接于计算单元的第一存储单元和第二存储单元,该方法包括:确定集成处理设备在芯片的不同应用中运行参数的不同需求级别;基于不同需求级别计算单元选择性地从第一存储单元、第二存储单元和位于集成处理设备外部的外部数据源这三者中的二者分别接收操作数,其中,外部数据源存储芯片上多个集成处理设备均可使用的操作数。
可选地,芯片适于应用于不同的神经网络,运行参数为带宽,基于不同需求级别计算单元选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数包括基于带宽的不同需求级别计算单元选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数。
可选地,确定集成处理设备在芯片的不同应用中运行参数的不同需求级别包括确定集成处理设备在芯片的应用中带宽的低需求级别;基于不同需求级别计算单元选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数包括基于带宽的低需求级别计算单元从第一存储单元和第二存储单元分别接收操作数。
可选地,确定集成处理设备在芯片的不同应用中运行参数的不同需求级别包括确定集成处理设备在芯片的应用中带宽的高需求级别;基于不同需求级别计算单元选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数包括基于带宽的高需求级别计算单元从第一存储单元和第二存储单元中的一者、以及外部数据源分别接收操作数。
可选地,芯片适于应用于不同的神经网络,运行参数为运行功率,基于不同需求级别计算单元选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数包括基于运行功率的不同需求级别计算单元选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数。
可选地,确定集成处理设备在芯片的不同应用中运行参数的不同需求级别包括确定集成处理设备在芯片的应用中运行功率的低需求级别;基于不同需求级别计算单元选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数包括基于运行功率的低需求级别计算单元从第一存储单元和第二存储单元分别接收操作数。
可选地,确定集成处理设备在芯片的不同应用中运行参数的不同需求级别包括确定集成处理设备在芯片的应用中运行功率的高需求级别;基于不同需求级别计算单元选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数包括基于运行功率的高需求级别计算单元从第一存储单元和第二存储单元中的一者、以及外部数据源分别接收操作数。
可选地,芯片适于应用于不同的神经网络,运行参数为数据独立性,基于不同需求级别计算单元选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数包括基于数据独立性的不同需求级别计算单元选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数。
可选地,确定集成处理设备在芯片的不同应用中运行参数的不同需求级别包括确定集成处理设备在芯片的应用中数据独立性的高需求级别;基于不同需求级别计算单元选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数包括基于数据独立性的高需求级别计算单元从第一存储单元和第二存储单元分别接收操作数。
可选地,确定集成处理设备在芯片的不同应用中运行参数的不同需求级别包括确定集成处理设备在芯片的应用中数据独立性的低需求级别;基于不同需求级别计算单元选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数包括基于数据独立性的低需求级别计算单元从第一存储单元和第二存储单元中的一者、以及外部数据源分别接收操作数。
与现有技术相比,本发明实施例的技术方案具有有益效果,例如,集成处理设备可以基于芯片的不同应用而灵活地从第一存储单元、第二存储单元和外部数据源这三者中的二者接收操作数,这一方面可以满足集成处理设备中相关运行参数的实现需求(例如提高了带宽、降低了运行功率、满足了数据独立性),另一方面也使得集成处理设备可以充分接收数据,以最大化地利用集成处理设备(或者其中的计算单元)的计算能力。
附图说明
图1是本发明实施例集成处理设备的结构示意图;
图2是本发明实施例另一集成处理设备的结构示意图;
图3是本发明实施例操作集成处理设备的方法的流程图。
具体实施方式
芯片在不同的应用中,对接收数据(如乘法器的操作数)的带宽、芯片或者芯片上的集成处理设备(也称为集成处理单元,Integrated Process Unit,简称为“IPU”)的运行功率、以及数据独立性等运行参数的需求可能并不相同。例如,AI芯片可以在不同的时间用于不同的神经网络,应用于一类神经网络的计算对于另一类神经网络可能不是必需的,因此,不同类型的神经网络对计算的需求可能并不相同;并且,不同类型的神经网络对接收数据的带宽、芯片/集成处理设备的运行功率、以及数据独立性等需求也可能不相同。
但是,现有的芯片架构中集成处理设备对数据的接收是固定的,而不能针对不同的芯片应用而灵活地选择数据源以接收用于集成处理设备计算的数据,这既会导致集成处理设备较低的利用率,也会导致芯片较低的运行性能。
本发明实施例中,对于芯片的不同应用,使得集成处理设备对数据接收的选择(例如,对数据源的选择,也可以称为对数据通道的选择)是可以配置的,从而可以灵活地选择数据源以接收用于集成处理设备计算的数据,这一方面可以满足集成处理设备中相关运行参数的实现需求,另一方面也使得集成处理设备可以充分接收数据,以最大化地利用集成处理设备(或者其中的计算单元)的计算能力。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
本发明技术方案中的芯片具有计算架构,包括中央处理器(Central ProcessingUnit,简称为“CPU”)、图形处理器(Graphics Processing Unit,简称为“GPU”)、现场可编程门阵列(Field-Programmable Gate Array,简称为“FPGA”)、专用集成电路(ApplicationSpecific Integrated Circuit,简称为“ASIC”)、数字信号处理器(Digital SignalProcessing,简称为“DSP”)、张量处理单元(Tensor Processing Unit,简称为“TPU”)、多核处理器、以及异构处理器。该芯片可以为人工智能芯片(即AI芯片),例如为GPU、FPGA、ASIC、或者前三者中的至少二者构成的异构处理器。
图1是本发明实施例集成处理设备100的结构示意图。集成处理设备100位于芯片上,包括计算单元110、第一存储单元120和第二存储单元130,该第一存储单元120和第二存储单元130耦接于计算单元110;其中,计算单元110适于基于集成处理设备100在芯片的不同应用中运行参数的不同需求级别而选择性地从第一存储单元120、第二存储单元130和位于集成处理设备外部的外部数据源140这三者中的二者接收操作数,外部数据源140存储芯片上多个集成处理设备均可使用的数据或者操作数(这些数据或者操作数可称为“全局操作数”),即外部数据源140作为集成处理设备100的全局输入,由于这些全局操作数可以被多个集成处理设备共用,并且数据量也较大,因此可以用于提高芯片或者集成处理设备100的带宽。
一颗芯片可以包括多个集成处理设备,集成处理设备100包括计算单元(也称为算术逻辑单元,Arithmetic and Logic Unit,简称为“ALU”)110、第一存储单元120和第二存储单元130。
计算单元110执行算术和逻辑运算。在运算时,需要进行大量的乘法计算;计算单元110包括多个乘法器(multiplier),对于每一次乘法计算,都需要调用计算单元110内的乘法器,并且将乘法运算的两个操作数(operand)输入到乘法器中,然后由乘法器输出结果。
集成处理设备100可以包括复用器(Multiplexer),其用于为计算单元110的数据或者操作数选择数据源,例如,计算单元110连接向其提供操作数的两条数据通道,这两条数据通道分别连接到一个复用器,并且通过该复用器选择合适的数据源以提供数据或者操作数;集成处理设备100可以包括锁存器(Latch),其用于缓存数据或者操作数;集成处理设备100还可以包括缓冲处理器(Buffer),其用于提高内存(例如第一存储单元120和第二存储单元130)和计算单元110之间数据交换的速度,例如,可以将可重复利用的数据保存于缓冲处理器中,从而提高计算单元110的数据交换和计算速度。
第一存储单元120和第二存储单元130耦接于计算单元110,其用于存储数据或者操作数并且设置于集成处理设备100内部,因此也可称其为内部存储单元或者内部数据源,该第一存储单元120和第二存储单元130可以为动态随机存取存储器(Dynamic RandomAccess Memory,简称为“DRAM”)。在该集成处理设备100外部的存储单元称为外部存储单元或者外部数据源140,外部数据源140存储芯片上多个集成处理设备均可使用的数据或者操作数(即“全局操作数”)。
芯片在不同应用中可能对运行参数有不同需求,例如,一颗AI芯片可以用于神经网络的不同应用场景(如语音识别、自然语言处理、计算机视觉与图像处理、机器学习、智能机器人、自动驾驶、智能无人机),AI芯片在这些不同的应用场景中,对接收数据或操作数的带宽、芯片或者集成处理设备的运行功率、数据独立性等运行参数的需求可能并不相同。但是,现有芯片的计算架构(如现有AI芯片的计算架构)内,连接计算单元的两条数据通道是固定的,这种固定的连接方式不能适应芯片在不同应用中对运行参数的不同需求。
在本发明的一个实施例中,如图1所示,计算单元110分别耦接第一存储单元120、第二存储单元130和外部数据源140,在不同的芯片应用中,集成处理设备100基于运行参数的不同需求级别而选择性地从第一存储单元120、第二存储单元130和外部数据源140这三者中的二者接收操作数。
在本发明的另一个实施例中,如图2所示,集成处理设备200包括计算单元210、第一存储单元220、第二存储单元230、外部数据源240、第一复用器250和第二复用器260,其中,计算单元210分别耦接第一复用器250和第二复用器260,第一复用器250分别耦接第一存储单元220和第二存储单元230,第二复用器260分别耦接第二存储单元230和外部数据源240。其中,第一复用器250选择第一存储单元220和第二存储单元230中这二者的一者提供操作数,而第二复用器250选择第二存储单元230和外部数据源240这二者的一者提供操作数;第一复用器250在第一存储单元220和第二存储单元230二者中选择一者提供操作数、以及第二复用器250在第二存储单元230和外部数据源240二者中选择一者提供操作数都是基于集成处理设备200在芯片的不同应用中运行参数的不同需求级别而作的选择。
虽然在图2所示的实施例中,第二复用器260耦接外部数据源240,但是在其它实施例中,第一复用器250也可以耦接外部数据源240,这些实施例都是本发明技术手段(即,两个复用器的一者从两个存储单元接收一个操作数、而另一者从一个存储单元和外部数据源接收另一个操作数)的具体实施方式。
在图1和图2中,对计算单元、第一存储单元、第二存储单元和外部数据源使用了不同的附图标记,以便于在不同实施例或场景下进行描述,但是,应理解,这些部件具有相同或类似的构造和功能。
本发明技术方案的芯片可以为应用于不同神经网络的AI芯片,而在不同神经网络的应用场景中,对芯片或者集成处理设备的运行参数(如带宽、运行功率、数据独立性)等具有不同的需求级别。例如,在第一类神经网络的应用场景中,不对芯片或者集成处理设备提出带宽的需求,此时可以设置带宽的低需求级别;在第二类神经网络的应用场景中,对芯片或者集成处理设备提出带宽的需求(如要求芯片或者集成处理设备具有较高的带宽),此时可以设置带宽的高需求级别;在第三类神经网络的应用场景中,不对芯片或者集成处理设备提出运行功率的需求,此时可以设置运行功率的低需求级别;在第四类神经网络的应用场景中,对芯片或者集成处理设备提出运行功率的需求(如要求降低芯片或者集成处理设备的运行功率),此时可以设置运行功率的高需求级别;在第五类神经网络的应用场景中,不对集成处理设备提出数据独立性的需求,此时可以设置数据独立性的低需求级别;在第六类神经网络的应用场景中,对集成处理设备提出数据独立性的需求,此时可以设置数据独立性的高需求级别。
以下结合具体应用场景来描述。
在第一和第二应用场景中,运行参数为带宽。具体而言,在第一应用场景中,不对芯片或者集成处理设备提出带宽的需求,例如,当前芯片或者集成处理设备已经具有足够的带宽,可以设置带宽的低需求级别;此时可以从第一存储单元和第二存储单元分别接收数据或者操作数,由于都是从位于集成处理设备内部的存储单元接收数据或者操作数,可以将这种方式称为“局部-局部模型”。在第二应用场景中,对芯片或者集成处理设备提出带宽的需求,例如,当前的计算需要确保芯片或者集成处理设备具有较高的带宽,可以设置带宽的高需求级别;考虑到外部数据源提供全局操作数能够增大带宽,可以从第一存储单元和第二存储单元中的一者、以及外部数据源分别接收数据或者操作数,由于分别从位于集成处理设备内部的存储单元和外部数据源接收数据或者操作数,可以将这种方式称为“局部-全局模型”。
在第三和第四应用场景中,运行参数为运行功率。具体而言,在第三应用场景中,不对芯片或者集成处理设备提出运行功率的需求,例如,当前运行中集成处理设备内部没有触发需要调节运行功率的消息,因此不要求主动调节集成处理设备的运行功率,可以设置运行功率的低需求级别;此时可以从第一存储单元和第二存储单元分别接收数据或者操作数(即采用“局部-局部模型”)。在第四应用场景中,对芯片或者集成处理设备提出运行功率的需求,例如,当前运行中集成处理设备内部由于温度或者功耗等原因触发了需要调节运行功率的消息,而对存储单元的读、写等操作会消耗功率,因此可以基于此而主动地调节集成处理设备的运行功率,可以设置运行功率的高需求级别;此时可以从第一存储单元和第二存储单元中的一者、以及外部数据源分别接收数据或者操作数(即采用“局部-全局模型”)。
在第五和第六应用场景中,运行参数为数据独立性。具体而言,在第五应用场景中,对集成处理设备提出数据独立性的需求,例如,当前运行中集成处理设备对数据的完整性、可靠性等方面有要求,或者要求避免对外部数据较高的依赖性,因此需要避免从外部数据源接收数据或者操作数,可以设置数据独立性的高需求级别;此时可以从第一存储单元和第二存储单元分别接收数据或者操作数(即采用“局部-局部模型”)。在第六应用场景中,不对集成处理设备提出数据独立性的需求,例如,当前运行中集成处理设备对数据的完整性、可靠性等方面没有要求,或者未要求避免对外部数据较高的依赖性,因此不需要避免从外部数据源接收数据或者操作数,可以设置数据独立性的低需求级别;此时可以从第一存储单元和第二存储单元中的一者、以及外部数据源分别接收数据或者操作数(即采用“局部-全局模型”)。
在将涉及带宽的场景、涉及运行功率的场景和涉及数据独立性的场景中的任意二者或者全部结合的情形中,可能会涉及带宽的高/低需求、运行功率的高/低需求、以及数据独立性的高/低需求的冲突,可以设置带宽的高需求级别、带宽的低需求级别、运行功率的高需求级别、运行功率的低需求级别、数据独立性的高需求级别、以及数据独立性的低需求级别这六个需求级别的优先级,并且根据优先级的高低来确定应用“局部-局部模型”或“局部-全局模型”。具体而言,在优先级的比较中,当带宽的低需求级别、运行功率的低需求级别、或者数据独立性的高需求级别与其它需求级别相比更高时,应用“局部-局部模型”;当带宽的高需求级别、运行功率的高需求级别、或者数据独立性的低需求级别与其它需求级别相比更高时,应用“局部-全部模型”。
本发明的实施例还公开一种芯片,该芯片适于应用于不同的神经网络,并且包括多个上述结合图1和2所描述的集成处理设备100、200。
图3是本发明实施例操作集成处理设备的方法300的流程图。集成处理设备位于芯片上,其包括计算单元和耦接于该计算单元的第一存储单元和第二存储单元。方法300包括以下步骤:
步骤S310:确定集成处理设备在芯片的不同应用中运行参数的不同需求级别;
步骤S320:基于不同需求级别计算单元选择性地从第一存储单元、第二存储单元和集成处理设备外部的外部数据源这三者中的二者接收操作数,其中,外部数据源存储芯片上多个集成处理设备均可使用的操作数。
在步骤S310的执行中,确定集成处理设备在芯片的不同应用中运行参数的不同需求级别;其中,运行参数包括接收数据(如乘法器的操作数)的带宽、芯片或者芯片上的集成处理设备的运行功率、以及数据独立性。
在步骤S320的执行中,基于不同需求级别计算单元选择性地从第一存储单元、第二存储单元和集成处理设备外部的外部数据源这三者中的二者接收操作数;其中,可以基于带宽、运行功率、或者数据独立性的需求级别选择性地从第一存储单元、第二存储单元和集成处理设备外部的外部数据源这三者中的二者接收操作数。
进一步而言,芯片适于应用于不同的神经网络,运行参数为带宽,基于不同需求级别计算单元选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数包括基于带宽的不同需求级别计算单元选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数。
进一步而言,确定集成处理设备在芯片的不同应用中运行参数的不同需求级别包括确定集成处理设备在芯片的应用中带宽的低需求级别;基于不同需求级别计算单元选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数包括基于带宽的低需求级别计算单元从第一存储单元和第二存储单元分别接收操作数。
进一步而言,确定集成处理设备在芯片的不同应用中运行参数的不同需求级别包括确定集成处理设备在芯片的应用中带宽的高需求级别;基于不同需求级别计算单元选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数包括基于带宽的高需求级别计算单元从第一存储单元和第二存储单元中的一者、以及外部数据源分别接收操作数。
进一步而言,芯片适于应用于不同的神经网络,运行参数为运行功率,基于不同需求级别计算单元选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数包括基于运行功率的不同需求级别计算单元选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数。
进一步而言,确定集成处理设备在芯片的不同应用中运行参数的不同需求级别包括确定集成处理设备在芯片的应用中运行功率的低需求级别;基于不同需求级别计算单元选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数包括基于运行功率的低需求级别计算单元从第一存储单元和第二存储单元分别接收操作数。
进一步而言,确定集成处理设备在芯片的不同应用中运行参数的不同需求级别包括确定集成处理设备在芯片的应用中运行功率的高需求级别;基于不同需求级别计算单元选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数包括基于运行功率的高需求级别计算单元从第一存储单元和第二存储单元中的一者、以及外部数据源分别接收操作数。
进一步而言,芯片适于应用于不同的神经网络,运行参数为数据独立性,基于不同需求级别计算单元选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数包括基于数据独立性的不同需求级别计算单元选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数。
进一步而言,确定集成处理设备在芯片的不同应用中运行参数的不同需求级别包括确定集成处理设备在芯片的应用中数据独立性的高需求级别;基于不同需求级别计算单元选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数包括基于数据独立性的高需求级别计算单元从第一存储单元和第二存储单元分别接收操作数。
进一步而言,确定集成处理设备在芯片的不同应用中运行参数的不同需求级别包括确定集成处理设备在芯片的应用中数据独立性的低需求级别;基于不同需求级别计算单元选择性地从第一存储单元、第二存储单元和外部数据源这三者中的二者分别接收操作数包括基于数据独立性的低需求级别计算单元从第一存储单元和第二存储单元中的一者、以及外部数据源分别接收操作数。
关于操作集成处理设备的方法300的具体原理和实施方式等,可以参照上述结合图1和2关于集成处理设备100、200的相关描述,这里不再赘述。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (3)

1.一种位于芯片上的集成处理设备,其特征在于,包括:
计算单元;
耦接于所述计算单元的第一存储单元和第二存储单元;
其中,所述计算单元,适于基于所述集成处理设备在所述芯片的不同应用中运行参数的不同需求级别而接收操作数;当所述集成处理设备在所述芯片的不同应用中运行参数的需求级别不同时,所述操作数的来源不同;所述操作数的来源为以下任意两种:所述第一存储单元,所述第二存储单元,位于所述集成处理设备外部的外部数据源;所述外部数据源存储所述芯片上多个集成处理设备均可使用的操作数;
所述芯片适于应用于不同的神经网络,所述运行参数包括:带宽、运行功率及数据独立性;
所述计算单元,适于基于所述集成处理设备在不同神经网络的应用中所述带宽的低需求级别、运行功率的低需求级别或数据独立性的高需求级别,从所述第一存储单元、所述第二存储单元分别接收操作数;以及基于所述带宽的高需求级别、运行功率的高需求级别或数据独立性的低需求级别,从所述第一存储单元和所述第二存储单元中的一者、以及所述外部数据源分别接收操作数。
2.一种芯片,所述芯片适于应用于不同的神经网络,其特征在于,所述芯片包括多个如权利要求1所述的集成处理设备。
3.一种操作集成处理设备的方法,所述集成处理设备位于芯片上,其特征在于,所述集成处理设备包括计算单元和耦接于所述计算单元的第一存储单元和第二存储单元,所述方法包括:
确定所述集成处理设备在所述芯片的不同应用中运行参数的不同需求级别;
基于所述不同需求级别所述计算单元选择性地从所述第一存储单元、所述第二存储单元和位于所述集成处理设备外部的外部数据源这三者中的二者分别接收操作数,其中,所述外部数据源存储所述芯片上多个集成处理设备均可使用的操作数;
所述芯片适于应用于不同的神经网络,所述运行参数包括:带宽、运行功率及数据独立性;
基于所述集成处理设备在不同神经网络的应用中所述带宽的低需求级别、运行功率的低需求级别或数据独立性的高需求级别,从所述第一存储单元、所述第二存储单元分别接收操作数;以及基于所述带宽的高需求级别、运行功率的高需求级别或数据独立性的低需求级别,从所述第一存储单元和所述第二存储单元中的一者、以及所述外部数据源分别接收操作数。
CN201911024343.0A 2019-10-25 2019-10-25 芯片、集成处理设备及其操作方法 Active CN110647984B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911024343.0A CN110647984B (zh) 2019-10-25 2019-10-25 芯片、集成处理设备及其操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911024343.0A CN110647984B (zh) 2019-10-25 2019-10-25 芯片、集成处理设备及其操作方法

Publications (2)

Publication Number Publication Date
CN110647984A CN110647984A (zh) 2020-01-03
CN110647984B true CN110647984B (zh) 2022-07-12

Family

ID=68994683

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911024343.0A Active CN110647984B (zh) 2019-10-25 2019-10-25 芯片、集成处理设备及其操作方法

Country Status (1)

Country Link
CN (1) CN110647984B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106796533A (zh) * 2014-12-30 2017-05-31 华为技术有限公司 自适应地选择执行模式的系统和方法
CN107003988A (zh) * 2014-12-19 2017-08-01 英特尔公司 用于执行卷积运算的存储设备和方法
CN109213962A (zh) * 2017-07-07 2019-01-15 华为技术有限公司 运算加速器
CN110050267A (zh) * 2016-12-09 2019-07-23 北京地平线信息技术有限公司 用于数据管理的系统和方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8442927B2 (en) * 2009-07-30 2013-05-14 Nec Laboratories America, Inc. Dynamically configurable, multi-ported co-processor for convolutional neural networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107003988A (zh) * 2014-12-19 2017-08-01 英特尔公司 用于执行卷积运算的存储设备和方法
CN106796533A (zh) * 2014-12-30 2017-05-31 华为技术有限公司 自适应地选择执行模式的系统和方法
CN110050267A (zh) * 2016-12-09 2019-07-23 北京地平线信息技术有限公司 用于数据管理的系统和方法
CN109213962A (zh) * 2017-07-07 2019-01-15 华为技术有限公司 运算加速器

Also Published As

Publication number Publication date
CN110647984A (zh) 2020-01-03

Similar Documents

Publication Publication Date Title
CN110147251B (zh) 用于计算神经网络模型的系统、芯片及计算方法
CN110582785B (zh) 配置用于执行层描述符列表的具有功率效率的深度神经网络模块
US20230026006A1 (en) Convolution computation engine, artificial intelligence chip, and data processing method
CN111752879B (zh) 一种基于卷积神经网络的加速系统、方法及存储介质
CN112686379A (zh) 集成电路装置、电子设备、板卡和计算方法
CN117032807A (zh) 基于risc-v指令集的ai加速处理器架构
CN114626516A (zh) 一种基于对数块浮点量化的神经网络加速系统
CN112084023A (zh) 数据并行处理的方法、电子设备及计算机可读存储介质
CN110647984B (zh) 芯片、集成处理设备及其操作方法
CN115860080A (zh) 计算核、加速器、计算方法、装置、设备、介质及系统
CN112801276B (zh) 数据处理方法、处理器及电子设备
CN115904681A (zh) 任务调度方法、装置及相关产品
CN114201727A (zh) 数据的处理方法、处理器、人工智能芯片及电子设备
CN111260046B (zh) 运算方法、装置及相关产品
CN111260070B (zh) 运算方法、装置及相关产品
CN111258641B (zh) 运算方法、装置及相关产品
CN111061507A (zh) 运算方法、装置、计算机设备和存储介质
CN111966399A (zh) 指令处理方法、装置及相关产品
CN113469327B (zh) 执行转数提前的集成电路装置
CN113469328B (zh) 执行转数穿过的装置、板卡、方法及可读存储介质
CN116991560B (zh) 针对语言模型的并行调度方法、装置、设备及存储介质
CN112232498B (zh) 一种数据处理装置、集成电路芯片、电子设备、板卡和方法
CN118035618A (zh) 数据处理器、数据处理方法、电子设备、存储介质
KR20180067200A (ko) 딥러닝 기반 인식 시스템
CN116402091A (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