CN108256643A - 一种基于hmc的神经网络运算装置和方法 - Google Patents

一种基于hmc的神经网络运算装置和方法 Download PDF

Info

Publication number
CN108256643A
CN108256643A CN201611242813.7A CN201611242813A CN108256643A CN 108256643 A CN108256643 A CN 108256643A CN 201611242813 A CN201611242813 A CN 201611242813A CN 108256643 A CN108256643 A CN 108256643A
Authority
CN
China
Prior art keywords
neural network
hmc
memory modules
memory
data
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
Application number
CN201611242813.7A
Other languages
English (en)
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.)
Shanghai Cambricon Information Technology Co Ltd
Original Assignee
Shanghai Cambricon Information 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 Shanghai Cambricon Information Technology Co Ltd filed Critical Shanghai Cambricon Information Technology Co Ltd
Priority to CN201611242813.7A priority Critical patent/CN108256643A/zh
Priority to PCT/CN2017/111333 priority patent/WO2018121118A1/zh
Publication of CN108256643A publication Critical patent/CN108256643A/zh
Pending legal-status Critical Current

Links

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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3893Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator

Abstract

本发明提供了一种神经网络运算装置,包括HMC内存模块;至少一个神经网络处理器,与所述HMC内存模块连接,用于从所述HMC内存模块获取神经网络运算的所需的数据、指令,进行神经网络部分运算,并将运算结果写回到所述HMC内存模块,以及外部访问单元,与所述HMC内存模块连接,完成从外部指定地址读取神经网络运算中所需的神经网络指令及数据并输入到所述HMC内存模块中,及将神经网络运算结果从HMC内存模块输出到外部指定地址空间。本发明还提供了一种神经网络运算方法。本发明能够有效地满足神经网络运算装置在运算过程中对于数据传输和存储的要求,内存利用率高、功耗开销小、成本低并且数据传输速率快。

Description

一种基于HMC的神经网络运算装置和方法
技术领域
本发明涉及神经网络的运算领域,尤其涉及神经网络运算时数据的高速传输和高性能存储。
背景技术
神经网络目前被广泛地应用于视频处理、图像处理、语音识别和优化计算等领域。神经网络由于自身结构中的可并行性和良好的性能,受到了广泛的关注,也在潜移默化地影响着人们的生活。由于神经网络对于运算速度的要求,专用的神经网络装置应运而生。
神经网络运算过程中需要大量的数据,数据的存储和传输已经成为神经网络运算过程的技术壁垒。如何使得神经网络在运算过程中,庞大的数据的传输和存储能够高效地进行,减小神经网络运算过程中的内存限制,成为目前所要解决的一项关键的问题。
目前,神经网络运算中使用的内存存储部分动态随机存储器(DRAM)通常是以行列二维方式进行组织。常用的为改良DRAM存储延时而提出的架构有双倍数据率同步动态存取随机存储器DDR3和DDR4,虽然它们使得数据传输速率和存储性能有所提升,但依然使用传统的行列存储方式,仍然不能达到神经网络运算过程中对数据存储和传输的性能要求。
发明内容
(一)要解决的技术问题
为了解决上述神经网络运算装置所面临的内存带宽低,存储速度慢等问题,本发明提出了一种基于HMC(Hybrid Memory Cube)的神经网络运算装置和方法,能够有效地满足神经网络运算装置在运算过程中对于数据传输和存储的要求,该运算装置能够提供前所未有的系统性能和带宽,同时,内存利用率高、功耗开销小、成本低并且数据传输速率快。
(二)技术方案
根据本发明的一个方面,提供了一种基于HMC内存的神经网络运算装置,包括:
HMC内存模块;
至少一个神经网络处理器,与所述HMC内存模块连接,用于从所述HMC内存模块获取神经网络运算的所需的数据、指令,进行神经网络部分运算,并将运算结果写回到所述HMC内存模块,以及
外部访问单元,与所述HMC内存模块连接,完成从外部指定地址读取神经网络运算中所需的神经网络指令及数据并输入到所述HMC内存模块中,以及将神经网络运算结果从HMC内存模块输出到外部指定地址空间。
根据本发明的一个方面,提供了一种利用所述基于HMC内存的神经网络运算装置进行神经网络运算的方法。
(三)有益效果
从上述技术方案可以看出,本发明基于HMC的神经网络运算装置和方法至少具有以下有益效果其中之一:
(1)基于HMC的内存提供的数据传输带宽高,其数据传输带宽可以超过15倍的DDR3的带宽;降低了整体的功耗,HMC内存技术,相对于常用的DDR3/DDR4等内存技术,对于每比特的存储可以节省超过70%的功耗;
(2)HMC内存模块包括级联的多个HMC内存单元,可根据神经网络运算过程中所需的实际内存大小灵活选择HMC内存单元的数量,减少功能部件的浪费;
(3)所述级联的多个HMC内存单元为统一编址,该多个HMC内存单元的级联方式和具体实现对所述神经网络处理器透明,方便实现神经网络处理器对内存体位置进行读写,减小了内存部件的延时;
(4)HMC内存单元采用栈式结构,相比于现有的RDIMM技术,可以减少超过90%的内存占用面积,同时使得神经网络运算装置的整体体积大幅度减小。由于HMC可以进行大规模并行处理,使得内存部件的延时较小;
(5)神经网络运算装置具有多个神经网络处理器,多个神经网络处理器之间通过互连,并相互之间传递信息,避免在运行过程中产生数据一致性问题;而且神经网络运算装置支持多核处理器架构,可以充分利用神经网络运算过程中的并行性,加速神经网络的运算。
附图说明
图1为根据本发明实施例提供的基于HMC内存的神经网络运算装置的整体结构示意图;
图2为根据本发明实施例提供的基于HMC内存的神经网络运算装置的HMC内存单元示意图;
图3为根据本发明实施例提供的基于HMC内存的神经网络运算装置的HMC内存根据实际需要进行容量扩充的示意图;
图4为根据本发明实施例提供的基于HMC内存的神经网络运算装置执行神经网络运算的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
需要说明的是,在附图或说明书描述中,相似或相同的部分都使用相同的图号。附图中未绘示或描述的实现方式,为所属技术领域中普通技术人员所知的形式。另外,虽然本文可提供包含特定值的参数的示范,但应了解,参数无需确切等于相应的值,而是可在可接受的误差容限或设计约束内近似于相应的值。
以下描述本发明的实施例,所述实施例的示图在附图中示出,其中自始至终相同或类似的标号表示相同或类似的原件或具有相同或类似功能的原件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
根据本发明实施例结合附图对本发明示例性实施例的以下详细描述,本发明的其他方面、优势和突出特征对于本领域技术人员将变得显而易见。
在本发明中,术语“包括”和“含有”及其派生词意为包括而非限制;术语“或”是包含性的,意为“和/或”。
在本说明书中,下述用于描述本发明原理的各种实施例只是说明,不应该以任何方式解释为限制发明的范围。参照附图的下述描述用于帮助全面理解由权利要求及其等同物限定的本发明的示例性实施例。下述描述包括多种具体细节来帮助理解,但这些细节应认为仅仅是示例性的。因此,本领域普通技术人员应认识到,在不背离本发明的范围和精神的情况下,可以对本文中描述的实施例进行多种改变和修改。此外,为了清楚和简洁起见,省略了公知功能和结构的描述。此外,贯穿附图,相同参考数字用于相似功能和操作。
图1为根据本发明实施例提供的基于HMC内存的神经网络运算装置的整体结构示意图。如图1所示,本发明基于HMC内存的神经网络运算装置该装置包括HMC内存模块1、神经网络处理器2和外部访问单元3。
所述HMC内存模块1包括:级联的多个HMC内存单元,每个HMC内存单元包括混合内存立方体及逻辑基底层。
所述混合内存立方体由多个内存晶粒层通过硅通孔(TSV)相连,而逻辑基底层包括控制混合内存立方体进行数据读写操作的逻辑控制单元和与外部的处理器或HMC装置或外部访问单元相连的链路。
所述神经网络处理器,用于执行神经网络运算的功能部件,从所述HMC内存模块获取神经网络运算的所需的指令和数据,进行神经网络部分运算,将运算后的中间值或最终结果写回到所述HMC内存模块,同时,通过神经网络处理器之间的数据通路向其他神经网络处理器发送数据准备完成信号。其中所述数据包括第一数据及第二数据,所述第一数据包括网络参数(例如权值、偏置等)和函数表,所述第二数据包括网络输入数据,所述数据还可进一步包括运算后的中间值。
所述外部访问单元,连接HMC内存模块和外部指定地址,完成从外部指定地址读取神经网络运算中所需的神经网络指令及数据到HMC内存模块,以及神经网络运算结果从HMC内存模块到外部指定地址空间的输出操作。
进一步的,所述级联的多个HMC内存单元统一编址,该多个HMC内存单元的级联方式和具体实现对所述神经网络处理器透明,所述神经网络处理器通过级联的多个HMC内存单元的内存地址对HMC内存模块的内存体位置进行读写。
另外,考虑到神经网络处理器在具体的实现过程中可能会用到多核处理器来提高运行的效率。本发明中HMC内存模块可以供多核神经网络处理器使用。针对神经网络处理器在实际运行过程中可能产生数据一致性问题,多个神经网络处理器之间通过互连,并相互之间传递信息完成。具体地,在多个神经网络处理器中的部分神经网络处理器处于运算状态,其他神经网络处理器处于等待所述部分神经网络处理器的其中之一的运算结果时,所述其他神经网络处理器先处于等待状态,在所述部分神经网络处理器的其中之一将运算结果传送到HMC内存模块中并向其他神经网络处理器发送数据送达信号之后,所述其他神经网络处理器被唤醒,从HMC内存模块中读取相应的数据,并进行相应的运算。
图2为根据本发明实施例提供的基于HMC内存的神经网络运算装置的HMC内存单元示意图。如图2所示,HMC包括混合内存立方体11和逻辑基底层12。
其中,混合内存立方体11中具有由多个内存体构成的内存,其中每个内存体包含多个内存晶粒层。优选的,混合内存立方体中具有由16个内存体构成的内存,其中每个内存体包含16个内存晶粒层。内存晶粒层的顶部和底部都使用硅通孔(TSV)结构进行互连。TSV使得多个内存晶粒层之间互连,除了行列之外增加另一维度,构成晶粒的三维结构。内存晶粒层为传统的随机动态存储器(DRAM)。对于混合内存立方体的存取,逻辑基底层经过配置,可以直接通过垂直上升的方式选择所需的内存晶粒层。在一个内存晶粒层中,使用行列的方式来组织DRAM。通过内存体控制器来执行对内存体中的具体位置进行读取或写入请求。
逻辑基底层包括控制混合内存立方体进行数据读写操作的逻辑控制单元,该逻辑控制单元包括多个内存体控制器,每个内存体在逻辑基底层中都有对应的用来管理对内存体进行3D存取控制的内存体控制器。3D分层的方式使得记忆体存取不仅可以在存储阵列上以行列的方向进行存取,也可以平行地在多个内存晶粒层之间进行存取。
所述逻辑基底层还包括与外部HMC内存单元相连的链路,用于将多个HMC内存单元连接以提升HMC存储装置的总容量。所述链路包括连接至HMC内存模块的外部I/O链路和内部路由以及交换逻辑,所述外部I/O链路包括多个逻辑链路,所述逻辑链路附接至交换逻辑以引导内部路由控制每一个内存体存储单元的数据传输或向其他HMC内存单元和神经网络处理器转发数据。优选的所述外部I/O链路包括4个或8个逻辑链路,每个逻辑链路为包含16个或者8个串行I/O或者SerDes双向链路群组。其中,包含4个逻辑链路的HMC内存单元能够以10Gbps、12.5Gbps以及15Gbps的速率进行数据传输,而包含8个逻辑链路的HMC内存单元能够在10Gbps的速率下进行数据传输。所述交换逻辑在地址选通阶段判断经过外部I/O链路传入的HMC内存地址是否在此HMC内存单元上。如果在,将HMC内存地址转换为内部路由能识别的HMC内部混合内存立方体地址的数据格式;如果不在,则HMC内存地址转发给与此HMC内存单元相连的另一个HMC内存单元。在数据读写阶段,若数据读写发生在此HMC内存单元上,则HMC内存单元负责外部I/O链路与内部路由之间数据的转换,若不是发生在此HMC内存单元上,HMC内存单元负责将与之相连的两个外部I/O链路上的数据进行转发,完成数据传输。
图3为根据本发明实施例提供的基于HMC内存的神经网络运算装置的HMC内存根据实际需要进行容量扩充的示意图。HMC内存单元中的逻辑基底层结构支持将装置附接至神经网络处理器或另外的HMC内存单元。通过将多个HMC内存单元连接在一起,可以在不改变HMC内存单元结构的前提下,提升HMC存储装置(内存模块)的总容量。多个HMC内存单元可以通过拓扑连接后与其他模块4相连接。如图3所示,通过将两个HMC内存单元相连,可以使得神经网络运算装置的内存容量扩大一倍,同时,这种设计可以使得神经网络运算装置根据实际应用的需求,动态地改变HMC内存单元的数量,使得HMC内存模块得到充分的应用,同时也使得该神经网络运算装置的可配置性大大提高。
图4为根据本发明实施例提供的基于HMC内存的神经网络运算装置执行神经网络运算的方法流程图。该方法包括:
步骤S1,所述外部访问单元将外部指定地址的数据、指令写入到HMC内存模块中;
步骤S2,神经网络处理器从HMC内存模块中读取进行神经网络部分运算的所需数据、指令;
步骤S3,神经网络处理器进行神经网络部分运算,将运算得到的中间值或最终值写回到HMC内存模块中;
步骤S4,运算结果从HMC内存模块经外部访问单元写回到外部指定地址;
步骤S5,如果运算指令中有运算终止指令,则终止执行,否则,返回步骤S1。
进一步的,在所述步骤S1中,包括:步骤S11,外部指定地址的第一数据通过外部访问单元3写入到HMC内存模块1中。其中,所述第一数据包括进行神经网络运算的权值、偏置、函数表等;步骤S12,外部指定地址的指令通过外部访问单元3写入到HMC内存模块1中。其中,所述指令包括此次进行神经网络运算的运算指令,如果本次神经网络运算之后不再进行运算,所述指令还包括运算终止指令;步骤S13,外部指定地址的第二数据通过外部访问单元3写入到HMC内存模块1中。其中,所述第二数据包括此次进行神经网络运算的输入数据。
在所述步骤S2中,神经网络处理器从HMC内存模块中读取进行神经网络部分运算的所需数据,包括,S21将待运算的神经网络处理器中的数据准备状态设置为已准备;S22数据准备状态为已准备的神经网络处理器从HMC内存模块中读取进行神经网络部分运算的所需数据;S23读取完成后将该数据准备状态为已准备的神经网络处理器的数据准备状态设置为未准备。
在所述步骤S3中还包括,判断神经网络运算是否结束,若结束,进入步骤S4;否则,向其他神经网络处理器发送数据准备完成信号,并将其他神经网络处理器中的数据准备状态设置为已准备,返回步骤S2。
所述基于HMC内存的神经网络运算方法,在多个神经网络处理器中的部分神经网络处理器处于运算状态,其他神经网络处理器处于等待所述部分神经网络处理器的其中之一的运算结果时,所述其他神经网络处理器先处于等待状态,在所述部分神经网络处理器的其中之一将运算结果传送到HMC内存模块中并向其他神经网络处理器发送数据送达信号之后,所述其他神经网络处理器被唤醒,从HMC内存模块中读取相应的数据,并进行相应的运算。
本发明提供的用于执行神经网络运算的装置可以应用于以下(包括但不限于)场景中:数据处理、机器人、电脑、打印机、扫描仪、电话、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备等各类电子产品;飞机、轮船、车辆等各类交通工具;电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、抽烟机等各类家用电器,以及包括核磁共振仪、B超、心电图仪等各类医疗设备。
前面的附图中所描绘的进程或方法可通过包括硬件(例如,电路、专用逻辑等)、固件、软件(例如,被具体化在非瞬态计算机可读介质上的软件),或两者的组合的处理逻辑来执行。虽然上文按照某些顺序操作描述了进程或方法,但是,应该理解,所描述的某些操作能以不同顺序来执行。此外,可并行地而非顺序地执行一些操作。
在前述的说明书中,参考其特定示例性实施例描述了本发明的各实施例。显然,可对各实施例做出各种修改,而不背离所附权利要求所述的本发明的更广泛的精神和范围。相应地,说明书和附图应当被认为是说明性的,而不是限制性的。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
需要说明的是,在附图或说明书正文中,未绘示或描述的实现方式,均为所属技术领域中普通技术人员所知的形式,并未进行详细说明。此外,上述对各元件和方法的定义并不仅限于实施例中提到的各种具体结构、形状或方式,本领域普通技术人员可对其进行简单地更改或替换,例如:
在基于HMC内存的神经网络运算装置的HMC内存进行容量扩充时,可以采用多个HMC内存模块级联以线性拓扑的方式扩充,也可以采用环形方式进行扩充。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于HMC内存的神经网络运算装置,其特征在于,包括:
HMC内存模块;
至少一个神经网络处理器,与所述HMC内存模块连接,用于从所述HMC内存模块获取神经网络运算的所需的数据、指令,进行神经网络部分运算,并将运算结果写回到所述HMC内存模块,以及
外部访问单元,与所述HMC内存模块连接,完成从外部指定地址读取神经网络运算中所需的神经网络指令及数据并输入到所述HMC内存模块中,以及将神经网络运算结果从HMC内存模块输出到外部指定地址空间。
2.根据权利要求1所述的基于HMC内存的神经网络运算装置,其特征在于,所述HMC内存模块包括:级联的多个HMC内存单元,所述HMC内存单元具有栈式结构;
其中,每个HMC内存单元包括:混合内存立方体,该混合内存立方体具有由多个内存体构成的内存,其中,每个内存体包括:多个内存晶粒层,该内存晶粒层的顶部和底部通过硅通孔结构进行互连,构成晶粒的三维结构。
3.据权利要求2所述的基于HMC内存的神经网络运算装置,其特征在于,所述级联的多个HMC内存单元统一编址,该多个HMC内存单元的级联方式和具体实现对所述神经网络处理器透明,所述神经网络处理器通过级联的多个HMC内存单元的内存地址对HMC内存模块的内存体位置进行读写。
4.根据权利要求2所述的基于HMC内存的神经网络运算装置,其特征在于,所述HMC内存单元还包括逻辑基底层,该逻辑基底层包括:控制混合内存立方体进行数据读写操作的逻辑控制单元,
其中,该逻辑控制单元包括多个内存体控制器,通过内存体控制器来执行对所述HMC内存单元内存体中的具体位置进行读写请求。
5.根据权利要求4所述的基于HMC内存的神经网络运算装置,所述逻辑基底层还包括:链路;其中,
所述链路包括连接至HMC内存单元的外部I/O链路和内部路由以及交换逻辑,所述外部I/O链路包括多个逻辑链路,所述逻辑链路附接至交换逻辑以引导内部路由控制每一个内存体存储单元的数据传输,所述链路用于将多个HMC内存单元连接以提升HMC存储装置的总容量。
6.一种采用如权利要求1-5中任一项所述的基于HMC内存的神经网络运算装置进行神经网络运算的方法,其特征在于,包括:
步骤S1,所述外部访问单元将外部指定地址的数据、指令写入到HMC内存模块中;
步骤S2,神经网络处理器从HMC内存模块中读取进行神经网络部分运算的所需数据、指令;
步骤S3,神经网络处理器进行神经网络部分运算,将运算得到的中间值或最终值写回到HMC内存模块中;
步骤S4,运算结果从HMC内存模块经外部访问单元写回到外部指定地址;
步骤S5,如果运算指令中有运算终止指令,则终止执行,否则,返回步骤S1。
7.根据权利要求6所述的神经网络运算的方法,其特征在于,在所述步骤S2中,神经网络处理器从HMC内存模块中读取进行神经网络部分运算的所需数据,包括,S21将待运算的神经网络处理器中的数据准备状态设置为已准备;S22数据准备状态为已准备的神经网络处理器从HMC内存模块中读取进行神经网络部分运算的所需数据;S23读取完成后将该数据准备状态为已准备的神经网络处理器的数据准备状态设置为未准备。
8.根据权利要求7所述的神经网络运算的方法,其特征在于,在所述步骤S3中还包括,
判断神经网络运算是否结束,若结束,进入步骤S4;否则,向其他神经网络处理器发送数据准备完成信号,并将其他神经网络处理器中的数据准备状态设置为已准备,返回步骤S2。
9.根据权利要求6所述的神经网络运算的方法,其中,在多个神经网络处理器中的部分神经网络处理器处于运算状态,其他神经网络处理器处于等待所述部分神经网络处理器的其中之一的运算结果时,所述其他神经网络处理器先处于等待状态,在所述部分神经网络处理器的其中之一将运算结果传送到HMC内存模块中并向其他神经网络处理器发送数据送达信号之后,所述其他神经网络处理器被唤醒,从HMC内存模块中读取相应的数据,并进行相应的运算。
10.根据权利要求6所述的神经网络运算的方法,其特征在于,所述数据包括进行神经网络运算的权值、偏置、函数表。
CN201611242813.7A 2016-12-26 2016-12-29 一种基于hmc的神经网络运算装置和方法 Pending CN108256643A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201611242813.7A CN108256643A (zh) 2016-12-29 2016-12-29 一种基于hmc的神经网络运算装置和方法
PCT/CN2017/111333 WO2018121118A1 (zh) 2016-12-26 2017-11-16 计算装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611242813.7A CN108256643A (zh) 2016-12-29 2016-12-29 一种基于hmc的神经网络运算装置和方法

Publications (1)

Publication Number Publication Date
CN108256643A true CN108256643A (zh) 2018-07-06

Family

ID=62719821

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611242813.7A Pending CN108256643A (zh) 2016-12-26 2016-12-29 一种基于hmc的神经网络运算装置和方法

Country Status (1)

Country Link
CN (1) CN108256643A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109683959A (zh) * 2018-12-24 2019-04-26 安谋科技(中国)有限公司 处理器的指令执行方法及其处理器
CN110297784A (zh) * 2019-06-04 2019-10-01 上海新储集成电路有限公司 一种虚拟权重存储器系统及数据处理方法
CN111258636A (zh) * 2018-11-30 2020-06-09 上海寒武纪信息科技有限公司 数据处理方法、处理器、数据处理装置及存储介质
CN112712167A (zh) * 2020-12-31 2021-04-27 北京清微智能科技有限公司 支持多种卷积神经网络加速的存储器访问方法及系统
US11138135B2 (en) 2018-09-20 2021-10-05 Samsung Electronics Co., Ltd. Scale-out high bandwidth memory system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140071778A1 (en) * 2012-09-11 2014-03-13 International Business Machines Corporation Memory device refresh
CN105760324A (zh) * 2016-05-11 2016-07-13 北京比特大陆科技有限公司 数据处理装置和服务器
CN105789139A (zh) * 2016-03-31 2016-07-20 上海新储集成电路有限公司 一种神经网络芯片的制备方法
CN105956659A (zh) * 2016-05-11 2016-09-21 北京比特大陆科技有限公司 数据处理装置和系统、服务器
CN106030553A (zh) * 2013-04-30 2016-10-12 惠普发展公司,有限责任合伙企业 存储器网络
CN106156851A (zh) * 2016-06-24 2016-11-23 科大讯飞股份有限公司 面向深度学习业务的加速装置及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140071778A1 (en) * 2012-09-11 2014-03-13 International Business Machines Corporation Memory device refresh
CN106030553A (zh) * 2013-04-30 2016-10-12 惠普发展公司,有限责任合伙企业 存储器网络
CN105789139A (zh) * 2016-03-31 2016-07-20 上海新储集成电路有限公司 一种神经网络芯片的制备方法
CN105760324A (zh) * 2016-05-11 2016-07-13 北京比特大陆科技有限公司 数据处理装置和服务器
CN105956659A (zh) * 2016-05-11 2016-09-21 北京比特大陆科技有限公司 数据处理装置和系统、服务器
CN106156851A (zh) * 2016-06-24 2016-11-23 科大讯飞股份有限公司 面向深度学习业务的加速装置及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DUCKHWAN KIM ET AL.: "Neurocube: A Programmable Digital Neuromorphic Architecture with High-Density 3D Memory", 《2016 ACM/IEEE 43RD ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE》 *
郭崎 等: "基于模型树的多核设计空间探索技术", 《计算机辅助设计与图形学学报》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11138135B2 (en) 2018-09-20 2021-10-05 Samsung Electronics Co., Ltd. Scale-out high bandwidth memory system
CN111258636A (zh) * 2018-11-30 2020-06-09 上海寒武纪信息科技有限公司 数据处理方法、处理器、数据处理装置及存储介质
CN111258636B (zh) * 2018-11-30 2022-10-04 上海寒武纪信息科技有限公司 数据处理方法、处理器、数据处理装置及存储介质
CN109683959A (zh) * 2018-12-24 2019-04-26 安谋科技(中国)有限公司 处理器的指令执行方法及其处理器
CN110297784A (zh) * 2019-06-04 2019-10-01 上海新储集成电路有限公司 一种虚拟权重存储器系统及数据处理方法
CN110297784B (zh) * 2019-06-04 2023-11-07 上海新储集成电路有限公司 一种虚拟权重存储器系统及数据处理方法
CN112712167A (zh) * 2020-12-31 2021-04-27 北京清微智能科技有限公司 支持多种卷积神经网络加速的存储器访问方法及系统

Similar Documents

Publication Publication Date Title
CN108256643A (zh) 一种基于hmc的神经网络运算装置和方法
JP6974270B2 (ja) 知能型高帯域幅メモリシステム及びそのための論理ダイ
CN102239523B (zh) 切换式接口堆叠裸片存储器架构
CN104599227B (zh) 用于高速ccd数据存储的ddr3仲裁控制器及方法
WO2018121118A1 (zh) 计算装置和方法
CN104699631A (zh) Gpdsp中多层次协同与共享的存储装置和访存方法
CN106951388A (zh) 一种基于PCIe的DMA数据传输方法及系统
US8621159B2 (en) Shared access memory scheme
CN105207957B (zh) 一种基于片上网络多核架构的系统
CN108279927A (zh) 可调整指令优先级的多通道指令控制方法及系统、控制器
CN101911033B (zh) 在至少一个直接存储器存取外围装置与以正交时钟操作的中央处理单元之间共享单端口静态随机存取存储器的带宽
CN102622192A (zh) 一种弱相关多端口并行存储控制器
CN106294239A (zh) 一种外围总线apb总线桥
CN206946471U (zh) 一种多通道共享读写sdram的电路装置
CN104808950B (zh) 对嵌入式存储器元件的模式依赖性访问
US9396116B2 (en) Write and read collision avoidance in single port memory devices
TW200949556A (en) Partition-free multi-socket memory system architecture
CN107168810A (zh) 一种计算节点内存共享系统及读、写操作内存共享方法
CN107544937A (zh) 一种协处理器、数据写入方法和处理器
CN107807890A (zh) 内嵌sdram存储器的fpga、布局方法、设备及电路板
CN106547707B (zh) 阵列处理器中簇内存储并行访问局部优先交换电路
TWI449043B (zh) 高速記憶體系統
WO2021139733A1 (zh) 一种对内存进行分配的方法、设备及计算机可读存储介质
US11847049B2 (en) Processing system that increases the memory capacity of a GPGPU
CN203054813U (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180706