CN107657581A - 一种卷积神经网络cnn硬件加速器及加速方法 - Google Patents
一种卷积神经网络cnn硬件加速器及加速方法 Download PDFInfo
- Publication number
- CN107657581A CN107657581A CN201710898502.4A CN201710898502A CN107657581A CN 107657581 A CN107657581 A CN 107657581A CN 201710898502 A CN201710898502 A CN 201710898502A CN 107657581 A CN107657581 A CN 107657581A
- Authority
- CN
- China
- Prior art keywords
- buffering
- input
- convolution
- output
- feature vector
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开一种卷积神经网络CNN硬件加速器及加速方法,该加速器包括用于缓存输入特征图片数据的输入缓冲以及分别共用相同输入特征图片数据进行CNN卷积运算的多个运算单元,每个运算单元包括卷积核缓冲、输出缓冲以及由多个MAC部件构成的乘加单元,卷积核缓冲接收从外部存储部件返回的卷积核数据,分别提供给乘加单元中各个MAC部件,各个MAC部件分别接收输入特征图片数据、卷积核数据进行乘累加运算,运算的中间结果写入输出缓冲中;该加速方法为利用上述加速器的方法。本发明能够提高CNN硬件加速性能,且具有数据重用率及效率高、数据搬移量少、可扩展性能好,以及系统所需带宽、硬件开销小等优点。
Description
技术领域
本发明涉及深度学习(Deep Learning,DL)硬件加速技术领域,尤其涉及一种卷积神经网络CNN(Convolution Neural Networks,卷积神经网络)硬件加速器及加速方法。
背景技术
卷积神经网络CNN是深度学习中最重要的算法之一,其因具有精度高、权值量少的特点而被广泛地应用于目标识别、无人驾驶以及人工智能等多个领域。卷积神经网络CNN的各网络层中卷积层占据了整个网络90%以上的运算量和运算时间,对卷积层的运算进行加速是提升CNN性能的关键,因而亟需设计CNN硬件加速器来提升卷积运算效率。
CNN卷积层算法具有运算量庞大和运算机制复杂两大特点,其中,运算量庞大主要体现在卷积层的权重数据量以及特征图片数据量规模庞大,卷积过程中需要进行大量的乘累加运算,运算机制复杂则是由于卷积需要同时处理多个卷积核和多个通道的运算,控制过程复杂。CNN卷积层算法的上述两个特点使得设计高效低开销的CNN硬件加速器难度比较大。
目前CNN加速器通常是采用脉动阵列结构,脉动阵列结构具有设计简单而规则、容易实现高并行性,且运算单元间通信比较简单的优势,但这种结构也存在明显的缺点,主要包括:
1)采用脉动阵列结构时,运算单元(PE)易出现闲置率较高的情况,进而导致降低加速器的效率;
2)采用脉动阵列结构时,由于需要带宽的成比例增加来维持所需要的加速倍数,因而脉动阵列的可扩展性差。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种数据重用率及效率高、数据搬移量少、可扩展性能好,以及系统所需带宽、硬件开销小的卷积神经网络CNN硬件加速器及加速方法。
为解决上述技术问题,本发明提出的技术方案为:
一种卷积神经网络CNN硬件加速器,包括用于缓存输入特征图片数据的输入缓冲以及分别共用相同输入特征图片数据进行CNN卷积运算的多个运算单元,每个所述运算单元包括卷积核缓冲、输出缓冲以及由多个MAC部件构成的乘加单元,所述卷积核缓冲接收从外部存储部件返回的卷积核数据,分别提供给所述乘加单元中各个所述MAC部件,各个所述MAC部件分别接收所述输入特征图片数据、所述卷积核数据进行乘累加运算,运算的中间结果写入所述输出缓冲中。
作为本发明加速器的进一步改进:还包括分别与输入缓冲、运算单元连接的仲裁电路,所述仲裁电路对访问外部存储部件的请求进行仲裁,以及分别将外部存储部件返回的运算参数写入参数寄存器、返回的卷积核数据写入所述卷积核缓冲和返回的输入特征图片数据写入所述输入缓冲中。
作为本发明加速器的进一步改进:所述仲裁电路通过接口电路与外部存储部件通信。
作为本发明加速器的进一步改进:所述输入缓冲配置为支持跨步按块访问的两维编址方式,其中每次按块取数的块尺寸等于所述乘加单元中所述MAC部件的数量。
作为本发明加速器的进一步改进:所述卷积核缓冲和/或所述输出缓冲采用乒乓机制以同时进行读写访问。
本发明进一步提供利用上述卷积神经网络CNN硬件加速器的加速方法,步骤包括:
S1.输入卷积层的基本参数;
S2.生成卷积运算所需的信息,并写入到所述外部存储部件中;
S3.接收到运算请求以及起始访存地址时,根据接收到的所述起始访问地址从外部存储部件中读取运算所需的所有信息并进行译码;
S4.将所述外部存储部件返回的卷积核数据写入到所述卷积核缓冲,以及将所述外部存储部件返回的输入特征图片数据写入到所述输入缓冲中;
S5.各所述运算单元开始执行运算,每次运算时将所述乘加单元输出的运算的中间结果写入所述输出缓冲,直至完成所有运算;
S6.将所有所述运算单元的输出缓冲中运算结果写回所述外部存储部件,完成卷积运算。
作为本发明加速方法的进一步改进,所述步骤S5中所述运算单元执行运算的具体步骤为:
S51.判断是否是执行第一个输入特征图片的卷积运算,如果是,转入执行步骤S52,否则执行步骤S53;
S52.将所述乘加单元的运算结果写入所述输出缓冲;
S53.读取所述输出缓冲中上一次写入的运算的中间结果,并与当前次所述乘加单元的运算结果相加,得到当前次运算结果,将当前次运算结果作为运算的中间结果写入所述输出缓冲,直至完成所有运算。
作为本发明加速方法的进一步改进,所述步骤S2的具体步骤为:
S21.判断输入特征图片的尺寸是否大于所述输入缓冲,如果是,根据跨步、输入缓冲以及所述输出缓冲的大小对所述输入特征图片进行分块,转入执行步骤S24;否则转入执行步骤S22;
S22.判断输入特征图片尺寸是否大于所述输出缓冲,如果是,转入执行步骤S23;否则转入执行步骤S24;
S23.判断跨步是否为1,如果是,按照所述输入缓冲的尺寸对输入特征图片进行分块,否则按照所述输出缓冲的尺寸对输入特征图片进行分块;
S24.生成卷积运算所需的信息。
作为本发明加速方法的进一步改进:所述卷积层的基本参数包括输入特征图片尺寸、卷积核尺寸、跨步以及输入/输出图片数量。
作为本发明加速方法的进一步改进:所述卷积运算所需的所有信息包括公用参数以及私有参数,所述公用参数为整个CNN卷积运算过程中只需要加载一次的参数信息,所述私有参数为每次加载输入特征图片数据、卷积核数据时均需加载的参数信息;所述公有参数具体包括输入/输出图片数量、输入/输出特征图片尺寸、卷积核尺寸以及跨步大小;所述私有参数包括每次加载的输入特征图片数据的起始访问地址、图片的尺寸,以及每次输出结果的写回地址、下一次访问的起始地址。
与现有技术相比,本发明的优点在于:
(1)本发明通过由运算单元PE共用相同输入特征图片数据,能够极大的提升输入特征图片数据的重用率,提升PE的运算效率,且PE的个数越多重用率越高,从而减少数据搬移量,节约系统带宽;同时由PE内的所有的MAC共用卷积核缓冲的数据,能够充分提升卷积核数据重用率,从而进一步减少数据搬移量,降低系统的带宽需求以及节约功耗。
(2)本发明通过每个PE内部包含本地输出缓冲,运算的中间结果写入输出缓冲而不需要写到外部存储,每次运算完全结束才将结果写回外部存储,能够进一步极大地减少数据搬移量,节约系统功耗;同时每个PE内部只包含一个小容量的本地输出缓冲和卷积核缓冲,总的片上缓冲较小。
(3)本发明通过所有的PE共用相同输入特征图片数据,PE内部的所有MAC共用卷积核数据,简单的增加PE数量便可以提升运算性能,不需要额外增加硬件开销,硬件开销小且可扩展性好,且对于路径较远的PE进一步通过加站保证时序的正确性,即可有效的提升系统的运算能力。
(4)本发明通过每个PE内部包含本地输出缓冲,运算的中间结果无需写回外部存储,最终结果利用PE运算的间隙写回,不影响输入缓冲的加载,能够进一步实现运算效率。
附图说明
图1是本实施例卷积神经网络CNN硬件加速器的结构示意图。
图2是CNN卷积的实现原理示意图。
图3是本实施例中运算单元PE的具体结构示意图。
图4是本发明具体实施例中生成卷积运算参数信息的实现流程示意图。
图5是本发明具体实施例中CNN硬件加速器实现加速的实现流程示意图。
图例说明:1、输入缓冲;2、运算单元;21、卷积核缓冲;22、输出缓冲;23、乘加单元;231、MAC部件;3、仲裁电路;4、接口电路。
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
如图1所示,本实施例卷积神经网络CNN硬件加速器包括用于缓存输入特征图片数据的输入缓冲1以及分别共用相同输入特征图片数据进行CNN卷积运算的多个运算单元2(PE),每个运算单元2包括卷积核缓冲21、输出缓冲22以及由多个MAC部件构成的乘加单元23;CNN硬件加速器连接外部存储部件,外部存储部件为CNN硬件加速器提供运算数据信息以及结果写回空间。卷积核缓冲21接收从外部存储部件返回的卷积核数据,分别提供给乘加单元23中各个MAC部件231,各个MAC部件231分别接收输入特征图片数据、卷积核数据进行乘累加运算,运算的中间结果写入输出缓冲22中。外部存储部件具体可以采用DDR、DRAM或者其他类型存储部件。
CNN卷积的原理如图2所示,其中输入特征图片数量为M,输出特征图片的数量为N,卷积核的数量为M*N,每一个输出特征图片都是由M个输入特征图片和对应的M个卷积核进行卷积并将卷积结果累加得到。
本实施例卷积神经网络CNN硬件加速器工作时,每个运算单元2(PE)处理一个输出特征图片所有运算,由PE内所有的MAC同时计算同一幅输出图片中多个像素点的卷积,运算时所需的卷积运算的图片数据由输入缓冲1提供,卷积核数据由运算单元2内部的本地卷积核缓冲21提供,卷积运算的中间结果写入运算单元2本地的输出缓冲22中,直至本次卷积运算完全结束后将输出缓冲22的结果再写回外部存储部件。
基于CNN卷积原理,本实施例CNN硬件加速器通过PE共用相同输入特征图片数据,使得每个PE处理一个输出图像的所需的所有乘累加运算,能够极大的提升输入特征图片数据的重用率,提升PE的运算效率,且PE的个数越多重用率越高,从而通过提高数据重用率可以减少数据搬移量,节约系统带宽;同时每个PE内包含本地卷积核缓冲21,PE内的所有的MAC共用卷积核缓冲的卷积核数据,能够充分提升卷积核数据重用率,从而进一步减少数据搬移量,降低了系统的带宽需求、节约功耗;同时PE内部包含本地输出缓冲22,每个MAC同时处理一个输出图片中多个像素点的所需的乘累加运算,运算的中间结果写入输出缓冲22而不需要写到外部存储,仅在每次运算完全结束才将结果写回外部存储,能够进一步大大减少数据搬移量,同时节约功耗,从而通过采用上述结构CNN硬件加速器,能够尽可能大的提高数据重用率、降低数据搬移量,同时提升PE的运算效率,且每个PE内部包含本地输出缓冲22,由于运算的中间结果无需写回外部存储,最终结果利用PE运算的间隙写回,不影响输入缓冲的加载,能够进一步实现运算效率。
本实施例采用上述结构CNN硬件加速器,所有的PE共用相同输入特征图片数据,PE内部的所有MAC共用卷积核数据,则通过简单的增加PE数量便可以提升运算性能,不需要额外增加硬件开销,硬件开销小且可扩展性好,且对于路径较远的PE进一步通过加站保证时序的正确性,即可有效的提升系统的运算能力。
本实施例中,还包括分别与输入缓冲1、运算单元2连接的仲裁电路3,仲裁电路3对访问外部存储部件的请求进行仲裁,以及分别将外部存储部件返回的运算参数写入参数寄存器、返回的卷积核数据写入卷积核缓冲21和返回的输入特征图片数据写入输入缓冲32中,即通过仲裁电路对访问外部存储部件的请求进行仲裁,同时对外部存储部件返回的数据进行分流。
本实施例仲裁电路具体配置访问外部存储时读优先写的访问原则,以规范访问外部存储部件秩序,保证系统数据传输的正确性,同时能够提高运算效率;外部存储部件返回的数据分为3种类型,运算参数、卷积核数据以及输入特征图片数据,其中运算参数包括卷积核尺寸、跨步、输入/输出图片尺寸以及访问地址等,本实施例仲裁电路具体根据数据返回的顺序将上述3种类型数据分别对应写入参数寄存器、卷积核缓冲21和输入缓冲中,以对外部存储部件返回的数据进行分流。
本实施例中,仲裁电路3通过接口电路4与外部存储部件通信。接口电路4具体可采用基于AXI协议的AXI电路,基于AXI协议可以有效提升系统的适应性和可扩展性,保证在加速器工作频率和外部存储部件工作频率不同的情况下仍保持数据正常通信,当然接口电路4还可以采用其他类型接口电路。
如图3所示,本实施例运算单元2内部包含有多个MAC部件231,通过MAC部分231执行乘法操作和加法操作,每个MAC部件231完成输出图片中一个像素点的所需的所有乘累加运算,MAC的具体个数以及排列方式具体按照输入缓冲1的编址方式进行设定,如若输入缓冲1支持按4*2的块取数,则配置MAC部件231的数量为8,运算单元2可以同时计算8个像素点的输出。
本实施例中,输入缓冲1配置为支持跨步按块访问的两维编址方式,输入缓冲1的带宽根据MAC乘加单元23中MAC部件231的数量和运算的数据类型进行设置,具体取每次按块取数的块尺寸等于乘加单元23中MAC部件231的数量,如PE内一共有M个MAC单元,MAC单元支持的数据类型是N位,输入缓冲1的带宽为M*N bits。通过使输入缓冲225采用该特定的两维编址方式,可以支持任意跨步下无冲突按块访问,从而可以在任意跨步下为系统的并行运算无冲突的提供输入图像数据,充分保证了CNN加速器中MAC的利用率。输入缓冲1的编址方式具体可根据实际卷积层参数最终确定。
本实施例中,卷积核缓冲21采用乒乓机制以同时进行读写访问,卷积核缓冲21给所有的MAC提供卷积核数据,一拍提供一个数据,则通过“乒乓”机制,可以同时对卷积核缓冲进行读写访问。
本实施例输出缓冲22同样采用乒乓机制,编址方式和输入缓冲1的编址方式类似,但是输出缓冲22不需要支持跨步访问,且由于CNN卷积层中,当输入特征图片尺寸较大时跨步往往大于1,而跨步为1的时候输入特征图片尺寸往往又比较小,输出缓冲22的尺寸可以比输入缓冲小,对于较大尺寸的输入特征图片且跨步为1的特殊情况,则可按输出缓冲22的大小将输入特征图片进行分块以进行分块加载。为了节约片上缓冲,本实施例输入缓冲的尺寸和输出缓冲22的尺寸配置为不相同,且输入缓冲的尺寸不小于输出缓冲22的尺寸,输出缓冲22的尺寸具体可配置为输入缓冲1的四分之一;且缓冲逻辑配置为:当输出缓冲22占满时,停止发送运算请求,同时输入缓冲1也停止加载,等到输出缓冲22中的数据被读出再进行加载,其中读出为“乒乓”缓冲中的任意一个中的数据被读出即可,同时对输出缓冲22进行读写操作PE会产生Busy信号。
本实施例利用上述CNN硬件加速器的加速方法,步骤包括:
S1.输入卷积层的基本参数;
S2.生成卷积运算所需的信息,并写入到外部存储部件中;
S3.接收到运算请求以及起始访存地址时,根据接收到的起始访问地址从外部存储部件中读取运算所需的所有信息并进行译码;
S4.将外部存储部件返回的卷积核数据写入到卷积核缓冲21,以及将外部存储部件返回的输入特征图片数据写入到输入缓冲1中;
S5.各运算单元2开始执行运算,每次运算时将乘加单元23输出的运算的中间结果写入输出缓冲22,直至完成所有运算;
S6.将所有运算单元2的输出缓冲22中运算结果写回外部存储部件,完成卷积运算。
本实施例在上述CNN硬件加速器的基础上,通过生成与卷积运算相关的所有信息,由CNN硬件加速器通过读取这些信息,进行相应译码操作之后按照上述加速方法完成整个卷积运算,中间过程无需人为干预,运算效率高且加速性能好。
如图4所示,本实施例中步骤S2中生成运算参数信息的具体步骤为:
S21.判断输入特征图片的尺寸是否大于输入缓冲1,如果是,根据跨步、输入缓冲1以及输出缓冲22的大小对输入特征图片进行分块,转入执行步骤S104;否则转入执行步骤S102;
S22.判断输入特征图片尺寸是否大于输出缓冲22,如果是,转入执行步骤S103;否则转入执行步骤S104;
S23.判断跨步是否为1,如果是,按照输入缓冲1的尺寸对输入特征图片进行分块,否则按照输出缓冲22的尺寸对输入特征图片进行分块;
S24.生成卷积运算所需的信息。
上述生成运算所需的信息时,用户输入卷积层参数后,卷积层参数包括输入/输出特征图片尺寸、卷积核尺寸、跨步、输入特征图片数据起始存放地址、卷积核数据起始存放地址、起始访问地址等,判断输入特征图片尺寸是否大于输入缓冲1,当输入特征图片的尺寸比较大时需要对图片进行“分块”,以将尺寸较大的输入特征图片分成几个“子块”进行加载,再通过提供不同“子块”的访问起始地址和“子块”尺寸即可实现分块加载;由于输入缓冲1的尺寸和输出缓冲22的尺寸不相同,因此“分块”时需要分情况考虑,若输入特征图片的尺寸大于输入缓冲1的尺寸,则必须对输入特征图片进行分块,分块得到的“子块”的大小根据跨步和缓冲大小来确定,同时由于卷积运算中跨步大于1时,输出特征图片相比输入特征图片成倍缩小,因此此时按输入缓冲1的尺寸进行分块,如果跨步为1,则按输出缓冲22的大小进行分块,当输入特征图片尺寸小于输出缓冲22的尺寸时不需要进行分块。
本实施例中,卷积运算所需的所有信息包括公用参数以及私有参数两种,其中公用参数为整个CNN卷积运算过程中只需要加载一次的参数信息,私有参数为每次加载输入特征图片数据、卷积核数据时均需加载的参数信息;公有参数具体包括输入/输出图片数量、输入/输出特征图片尺寸、卷积核尺寸以及跨步大小等;私有参数包括每次加载的输入特征图片数据的起始访问地址、图片的尺寸,以及每次输出结果的写回地址、下一次访问的起始地址等。
本实施例中,步骤S5中运算单元2执行运算的具体步骤为:
S51.判断是否是执行第一个输入特征图片的卷积运算,如果是,转入执行步骤S52,否则执行步骤S53;
S52.将乘加单元13的运算结果写入输出缓冲22;
S53.读取输出缓冲22中上一次写入的运算的中间结果,并与当前次乘加单元23的运算结果相加,得到当前次运算结果,将当前次运算结果作为运算的中间结果写入输出缓冲22,直至完成所有运算。
在具体应用实施例中,本实施例上述加速方法的详细步骤为:
①用户输入卷积层的基本参数,包括输入特征图片尺寸、卷积核尺寸、跨步,以及输出/输出图片数量等;
②若输入特征图片尺寸大于缓冲的尺寸,转入执行步骤③,否则转入执行步骤④;
③根据跨步、卷积核尺寸以及缓冲的大小对输入特征图片进行分块;
④加载预先建立的程序模块生成与卷积运算相关的所有信息,并将这些信息写入到外部存储部件中;
⑤用户向CNN硬件加速器发送运算请求以及起始访存地址;CNN硬件加速器接收到运算请求后,根据起始访问地址从外部存储部件中读取运算相关信息并信息进行译码,若读到结束标记,转入执行步骤⑧,否则转入执行步骤⑥;
⑥将外部存储部件返回的卷积核数据写入到运算单元2的本地卷积核缓冲21内,将外部存储部件返回输入特征图片数据写入输入缓冲1中;
⑦运算单元2开始运算;若是第一副输入特征图片的卷积,转入执行步骤⑧,否则转入执行步骤⑨;
⑧将各MAC的运算结果写入输出缓冲22;
⑨从运算单元2的本地输出缓冲22中读出上一次写入的中间结果,与各MAC本次的计算结果相加后再写入输出缓冲22;
⑩所有的运算结束后,将所有运算单元2中输出缓冲22的结果写回外部存储部件,完成运算。
假设用户已经将卷积运算需要的所有信息已经存入外部存储部件当中,如图4所示,接收用户发送的运算请求和起始访存地址,且一次完整的卷积运算过程只需要接受一次运算请求;根据用户提供的访存地址,CNN硬件加速器从外部存储部件中读取运算参数、图片数据以及卷积核数据;判断是否读到结束标记,以判断是否加载完所有的运算信息,若读到结束标记则说明本次CNN卷积运算数据已经全部加载完毕,否则判断输入缓冲是否已被占满,当输入缓冲占满时,停止从外部存储读取运算数据,等待输入缓冲中的数据被读出;当输出缓冲22占满的时候,此时PE停止运算,直到输出缓冲22中的数据被读出才继续运算;
由于CNN卷积运算中输出图片是由所有的输入特征图片与其对应的卷积核卷积得到的结果叠加得到,因此在处理时需要将前面计算的结果和当前计算的结果进行累加。本实施例在进行卷积运算时,首先判断是否是第一个图片的卷积运算,如果是则直接将运算结果写入输出缓冲22中,如果不是,则将输出缓冲22内的中间结果读出再和本次运算得到的结果相加再写回输出缓冲22;最后当本次卷积运算完全结束后得到最终输出结果,将最终输出结果写回外部存储部件,输出结果的存放地址包含在运算参数中,由软件进行配置。
本实施例上述过程中加法运算的时间隐藏在乘法运算当中,当卷积核的尺寸大于1*1时,一次卷积需要多次乘累加,在这期间不访问输出缓冲22,此时访问输出缓冲22的时间被隐藏在乘累加运算当中。本实施例上述过程中,当同时对输出缓冲22读写操作时会发生访存冲突,由PE产生Busy信号,此时停止发送运算请求直到冲突解决。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。
Claims (10)
1.一种卷积神经网络CNN硬件加速器,其特征在于:包括用于缓存输入特征图片数据的输入缓冲(1)以及分别共用相同输入特征图片数据进行CNN卷积运算的多个运算单元(2),每个所述运算单元(2)包括卷积核缓冲(21)、输出缓冲(22)以及由多个MAC部件(231)构成的乘加单元(23),所述卷积核缓冲(21)接收从外部存储部件返回的卷积核数据,分别提供给所述乘加单元(23)中各个所述MAC部件(231),各个所述MAC部件(231)分别接收所述输入特征图片数据、所述卷积核数据进行乘累加运算,运算的中间结果写入所述输出缓冲(22)中。
2.根据权利要求1所述的卷积神经网络CNN硬件加速器,其特征在于:还包括分别与输入缓冲(1)、运算单元(2)连接的仲裁电路(3),所述仲裁电路(3)对访问外部存储部件的请求进行仲裁,以及分别将外部存储部件返回的运算参数写入参数寄存器、返回的卷积核数据写入所述卷积核缓冲(21)和返回的输入特征图片数据写入所述输入缓冲(1)中。
3.根据权利要求2所述的卷积神经网络CNN硬件加速器,其特征在于:所述仲裁电路(3)通过接口电路(4)与外部存储部件通信。
4.根据权利要求1或2或3所述的卷积神经网络CNN硬件加速器,其特征在于:所述输入缓冲(1)配置为支持跨步按块访问的两维编址方式,其中每次按块取数的块尺寸等于所述乘加单元(23)中所述MAC部件(231)的数量。
5.根据权利要求1或2或3所述的卷积神经网络CNN硬件加速器,其特征在于:所述卷积核缓冲(21)和/或所述输出缓冲(22)采用乒乓机制以同时进行读写访问。
6.利用权利要求1~5中任意一项所述的卷积神经网络CNN硬件加速器的加速方法,其特征在于,步骤包括:
S1.输入卷积层的基本参数;
S2.生成卷积运算所需的信息,并写入到所述外部存储部件中;
S3.接收到运算请求以及起始访存地址时,根据接收到的所述起始访问地址从外部存储部件中读取运算所需的所有信息并进行译码;
S4.将所述外部存储部件返回的卷积核数据写入到所述卷积核缓冲(21),以及将所述外部存储部件返回的输入特征图片数据写入到所述输入缓冲(1)中;
S5.各所述运算单元(2)开始执行运算,每次运算时将所述乘加单元(23)输出的运算的中间结果写入所述输出缓冲(22),直至完成所有运算;
S6.将所有所述运算单元(2)的输出缓冲(22)中运算结果写回所述外部存储部件,完成卷积运算。
7.根据权利要求6所述的加速方法,其特征在于:所述步骤S2的具体步骤为:
S21.判断输入特征图片的尺寸是否大于所述输入缓冲(1),如果是,根据跨步、输入缓冲(1)以及所述输出缓冲(22)的大小对所述输入特征图片进行分块,转入执行步骤S24;否则转入执行步骤S22;
S22.判断输入特征图片尺寸是否大于所述输出缓冲(22),如果是,转入执行步骤S23;否则转入执行步骤S24;
S23.判断跨步是否为1,如果是,按照所述输入缓冲(1)的尺寸对输入特征图片进行分块,否则按照所述输出缓冲(22)的尺寸对输入特征图片进行分块;
S24.生成卷积运算所需的信息。
8.根据权利要求6所述的加速方法,其特征在于:所述步骤S5中所述运算单元(2)执行运算的具体步骤为:
S51.判断是否是执行第一个输入特征图片的卷积运算,如果是,转入执行步骤S52,否则执行步骤S53;
S52.将所述乘加单元(13)的运算结果写入所述输出缓冲(22);
S53.读取所述输出缓冲(22)中上一次写入的运算的中间结果,并与当前次所述乘加单元(23)的运算结果相加,得到当前次运算结果,将当前次运算结果作为运算的中间结果写入所述输出缓冲(22),直至完成所有运算。
9.根据权利要求6或7或8所述的加速方法,其特征在于:所述卷积层的基本参数包括输入特征图片尺寸、卷积核尺寸、跨步以及输入/输出图片数量。
10.根据权利要求6或7或8所述的加速方法,其特征在于:所述卷积运算所需的所有信息包括公用参数以及私有参数,所述公用参数为整个CNN卷积运算过程中只需要加载一次的参数信息,所述私有参数为每次加载输入特征图片数据、卷积核数据时均需加载的参数信息;所述公有参数具体包括输入/输出图片数量、输入/输出特征图片尺寸、卷积核尺寸以及跨步大小;所述私有参数包括每次加载的输入特征图片数据的起始访问地址、图片的尺寸,以及每次输出结果的写回地址、下一次访问的起始地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710898502.4A CN107657581B (zh) | 2017-09-28 | 2017-09-28 | 一种卷积神经网络cnn硬件加速器及加速方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710898502.4A CN107657581B (zh) | 2017-09-28 | 2017-09-28 | 一种卷积神经网络cnn硬件加速器及加速方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107657581A true CN107657581A (zh) | 2018-02-02 |
CN107657581B CN107657581B (zh) | 2020-12-22 |
Family
ID=61116814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710898502.4A Active CN107657581B (zh) | 2017-09-28 | 2017-09-28 | 一种卷积神经网络cnn硬件加速器及加速方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107657581B (zh) |
Cited By (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108520297A (zh) * | 2018-04-02 | 2018-09-11 | 周军 | 可编程深度神经网络处理器 |
CN108805272A (zh) * | 2018-05-03 | 2018-11-13 | 东南大学 | 一种基于fpga的通用卷积神经网络加速器 |
CN108805266A (zh) * | 2018-05-21 | 2018-11-13 | 南京大学 | 一种可重构cnn高并发卷积加速器 |
CN108875917A (zh) * | 2018-06-28 | 2018-11-23 | 中国科学院计算技术研究所 | 一种用于卷积神经网络处理器的控制方法及装置 |
CN108920413A (zh) * | 2018-06-28 | 2018-11-30 | 中国人民解放军国防科技大学 | 面向gpdsp的卷积神经网络多核并行计算方法 |
CN109034373A (zh) * | 2018-07-02 | 2018-12-18 | 鼎视智慧(北京)科技有限公司 | 卷积神经网络的并行处理器及处理方法 |
CN109086867A (zh) * | 2018-07-02 | 2018-12-25 | 武汉魅瞳科技有限公司 | 一种基于fpga的卷积神经网络加速系统 |
CN109086883A (zh) * | 2018-07-20 | 2018-12-25 | 中国人民解放军国防科技大学 | 一种基于深度学习加速器实现稀疏计算的方法及装置 |
CN109146072A (zh) * | 2018-08-01 | 2019-01-04 | 南京天数智芯科技有限公司 | 基于卷积神经网络加速器的数据重用方法 |
CN109214281A (zh) * | 2018-07-30 | 2019-01-15 | 苏州神指微电子有限公司 | 一种用于ai芯片人脸识别的cnn硬件加速装置 |
CN109447254A (zh) * | 2018-11-01 | 2019-03-08 | 济南浪潮高新科技投资发展有限公司 | 一种卷积神经网络推理硬件加速方法及其装置 |
CN109460813A (zh) * | 2018-09-10 | 2019-03-12 | 中国科学院深圳先进技术研究院 | 卷积神经网络计算的加速方法、装置、设备及存储介质 |
CN109784484A (zh) * | 2019-01-31 | 2019-05-21 | 深兰科技(上海)有限公司 | 神经网络加速方法、装置、神经网络加速芯片及存储介质 |
CN109858621A (zh) * | 2019-01-09 | 2019-06-07 | 深兰科技(上海)有限公司 | 一种卷积神经网络加速器的调试装置、方法及存储介质 |
CN110007961A (zh) * | 2019-02-01 | 2019-07-12 | 中山大学 | 一种基于risc-v的边缘计算硬件架构 |
CN110059815A (zh) * | 2018-09-11 | 2019-07-26 | 海青智盈技术公司 | 人工智能推理计算设备 |
CN110147251A (zh) * | 2019-01-28 | 2019-08-20 | 腾讯科技(深圳)有限公司 | 用于计算神经网络模型的架构、芯片及计算方法 |
CN110321064A (zh) * | 2018-03-30 | 2019-10-11 | 北京深鉴智能科技有限公司 | 用于神经网络的计算平台实现方法及系统 |
CN110363284A (zh) * | 2019-06-20 | 2019-10-22 | 东南大学 | 一种带新型卷积运算加速模块的卷积神经网络硬件加速器 |
CN110473137A (zh) * | 2019-04-24 | 2019-11-19 | 华为技术有限公司 | 图像处理方法和装置 |
CN110598858A (zh) * | 2019-08-02 | 2019-12-20 | 北京航空航天大学 | 基于非易失性存内计算实现二值神经网络的芯片和方法 |
CN110688616A (zh) * | 2019-08-26 | 2020-01-14 | 陈小柏 | 一种基于乒乓ram的条带阵列的卷积模块及其运算方法 |
WO2020042771A1 (zh) * | 2018-08-31 | 2020-03-05 | 北京嘉楠捷思信息技术有限公司 | 图像识别处理方法和装置 |
WO2020051751A1 (zh) * | 2018-09-10 | 2020-03-19 | 中国科学院深圳先进技术研究院 | 卷积神经网络计算的加速方法、装置、设备及存储介质 |
CN110991634A (zh) * | 2019-12-04 | 2020-04-10 | 腾讯科技(深圳)有限公司 | 人工智能加速器、设备、芯片及数据处理方法 |
CN111209244A (zh) * | 2018-11-21 | 2020-05-29 | 上海寒武纪信息科技有限公司 | 数据处理装置及相关产品 |
EP3674982A1 (en) * | 2018-12-27 | 2020-07-01 | IMEC vzw | Hardware accelerator architecture for convolutional neural network |
WO2020143236A1 (zh) * | 2019-01-08 | 2020-07-16 | 广东浪潮大数据研究有限公司 | 一种卷积神经网络的加速方法、装置、设备及存储介质 |
CN111783971A (zh) * | 2020-07-02 | 2020-10-16 | 上海赛昉科技有限公司 | 一种用于深度神经网络的可高度灵活配置的数据后处理器 |
CN112074847A (zh) * | 2018-05-04 | 2020-12-11 | 苹果公司 | 拆分用于在神经网络处理器中处理的输入数据 |
CN112183732A (zh) * | 2020-10-22 | 2021-01-05 | 中国人民解放军国防科技大学 | 卷积神经网络加速方法、装置和计算机设备 |
CN112215342A (zh) * | 2020-09-28 | 2021-01-12 | 南京俊禄科技有限公司 | 一种船用气象雷达照相装置多通道并行cnn加速器 |
CN112712457A (zh) * | 2021-01-14 | 2021-04-27 | 清华大学 | 数据处理方法以及人工智能处理器 |
CN112819022A (zh) * | 2019-11-18 | 2021-05-18 | 同方威视技术股份有限公司 | 基于神经网络的图像识别装置和图像识别方法 |
CN113095503A (zh) * | 2020-01-09 | 2021-07-09 | 北京君正集成电路股份有限公司 | 一种实现检测模型高效的系统 |
CN113495786A (zh) * | 2020-03-19 | 2021-10-12 | 杭州海康威视数字技术股份有限公司 | 一种图像卷积处理方法和电子设备 |
CN113947200A (zh) * | 2021-12-21 | 2022-01-18 | 珠海普林芯驰科技有限公司 | 神经网络的加速计算方法及加速器、计算机可读存储介质 |
CN114169514A (zh) * | 2022-02-14 | 2022-03-11 | 浙江芯昇电子技术有限公司 | 一种卷积硬件加速方法及卷积硬件加速电路 |
CN114168991A (zh) * | 2022-02-10 | 2022-03-11 | 北京鹰瞳科技发展股份有限公司 | 对加密数据进行处理的方法、电路及相关产品 |
CN114442908A (zh) * | 2020-11-05 | 2022-05-06 | 珠海一微半导体股份有限公司 | 一种用于数据处理的硬件加速系统及芯片 |
TWI766396B (zh) * | 2019-11-27 | 2022-06-01 | 大陸商星宸科技股份有限公司 | 資料暫存裝置、資料暫存方法以及計算方法 |
CN115145839A (zh) * | 2021-03-31 | 2022-10-04 | 广东高云半导体科技股份有限公司 | 一种深度卷积加速器及其实现加速深度卷积的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106228238A (zh) * | 2016-07-27 | 2016-12-14 | 中国科学技术大学苏州研究院 | 现场可编程门阵列平台上加速深度学习算法的方法和系统 |
US20170103299A1 (en) * | 2015-10-07 | 2017-04-13 | Altera Corporation | Method and Apparatus for Implementing Layers on a Convolutional Neural Network Accelerator |
CN107066239A (zh) * | 2017-03-01 | 2017-08-18 | 智擎信息系统(上海)有限公司 | 一种实现卷积神经网络前向计算的硬件结构 |
-
2017
- 2017-09-28 CN CN201710898502.4A patent/CN107657581B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170103299A1 (en) * | 2015-10-07 | 2017-04-13 | Altera Corporation | Method and Apparatus for Implementing Layers on a Convolutional Neural Network Accelerator |
CN107025317A (zh) * | 2015-10-07 | 2017-08-08 | 阿尔特拉公司 | 用于实施卷积神经网络加速器上的层的方法和装置 |
CN106228238A (zh) * | 2016-07-27 | 2016-12-14 | 中国科学技术大学苏州研究院 | 现场可编程门阵列平台上加速深度学习算法的方法和系统 |
CN107066239A (zh) * | 2017-03-01 | 2017-08-18 | 智擎信息系统(上海)有限公司 | 一种实现卷积神经网络前向计算的硬件结构 |
Non-Patent Citations (2)
Title |
---|
YONGMEI ZHOU 等: "An FPGA-based Accelerator Implementation for Deep Convolutional Neural Networks", 《2015 4TH INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND NETWORK TECHNOLOGY》 * |
方睿: "卷积神经网络的FPGA并行加速方案设计", 《计算机工程与应用》 * |
Cited By (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110321064A (zh) * | 2018-03-30 | 2019-10-11 | 北京深鉴智能科技有限公司 | 用于神经网络的计算平台实现方法及系统 |
CN108520297A (zh) * | 2018-04-02 | 2018-09-11 | 周军 | 可编程深度神经网络处理器 |
CN108520297B (zh) * | 2018-04-02 | 2020-09-04 | 周军 | 可编程深度神经网络处理器 |
CN108805272A (zh) * | 2018-05-03 | 2018-11-13 | 东南大学 | 一种基于fpga的通用卷积神经网络加速器 |
CN112074847A (zh) * | 2018-05-04 | 2020-12-11 | 苹果公司 | 拆分用于在神经网络处理器中处理的输入数据 |
CN108805266B (zh) * | 2018-05-21 | 2021-10-26 | 南京大学 | 一种可重构cnn高并发卷积加速器 |
CN108805266A (zh) * | 2018-05-21 | 2018-11-13 | 南京大学 | 一种可重构cnn高并发卷积加速器 |
CN108920413A (zh) * | 2018-06-28 | 2018-11-30 | 中国人民解放军国防科技大学 | 面向gpdsp的卷积神经网络多核并行计算方法 |
CN108920413B (zh) * | 2018-06-28 | 2019-08-09 | 中国人民解放军国防科技大学 | 面向gpdsp的卷积神经网络多核并行计算方法 |
CN108875917A (zh) * | 2018-06-28 | 2018-11-23 | 中国科学院计算技术研究所 | 一种用于卷积神经网络处理器的控制方法及装置 |
CN109034373B (zh) * | 2018-07-02 | 2021-12-21 | 鼎视智慧(北京)科技有限公司 | 卷积神经网络的并行处理器及处理方法 |
CN109086867A (zh) * | 2018-07-02 | 2018-12-25 | 武汉魅瞳科技有限公司 | 一种基于fpga的卷积神经网络加速系统 |
CN109034373A (zh) * | 2018-07-02 | 2018-12-18 | 鼎视智慧(北京)科技有限公司 | 卷积神经网络的并行处理器及处理方法 |
CN109086883A (zh) * | 2018-07-20 | 2018-12-25 | 中国人民解放军国防科技大学 | 一种基于深度学习加速器实现稀疏计算的方法及装置 |
CN109214281A (zh) * | 2018-07-30 | 2019-01-15 | 苏州神指微电子有限公司 | 一种用于ai芯片人脸识别的cnn硬件加速装置 |
CN109146072A (zh) * | 2018-08-01 | 2019-01-04 | 南京天数智芯科技有限公司 | 基于卷积神经网络加速器的数据重用方法 |
WO2020042771A1 (zh) * | 2018-08-31 | 2020-03-05 | 北京嘉楠捷思信息技术有限公司 | 图像识别处理方法和装置 |
CN109460813A (zh) * | 2018-09-10 | 2019-03-12 | 中国科学院深圳先进技术研究院 | 卷积神经网络计算的加速方法、装置、设备及存储介质 |
WO2020051751A1 (zh) * | 2018-09-10 | 2020-03-19 | 中国科学院深圳先进技术研究院 | 卷积神经网络计算的加速方法、装置、设备及存储介质 |
CN110059815A (zh) * | 2018-09-11 | 2019-07-26 | 海青智盈技术公司 | 人工智能推理计算设备 |
CN110059815B (zh) * | 2018-09-11 | 2020-03-24 | 海青智盈技术公司 | 人工智能推理计算设备 |
CN109447254A (zh) * | 2018-11-01 | 2019-03-08 | 济南浪潮高新科技投资发展有限公司 | 一种卷积神经网络推理硬件加速方法及其装置 |
CN109447254B (zh) * | 2018-11-01 | 2021-03-16 | 浪潮集团有限公司 | 一种卷积神经网络推理硬件加速方法及其装置 |
WO2020087991A1 (zh) * | 2018-11-01 | 2020-05-07 | 山东浪潮人工智能研究院有限公司 | 一种卷积神经网络推理硬件加速方法及其装置 |
CN111209244B (zh) * | 2018-11-21 | 2022-05-06 | 上海寒武纪信息科技有限公司 | 数据处理装置及相关产品 |
CN111209244A (zh) * | 2018-11-21 | 2020-05-29 | 上海寒武纪信息科技有限公司 | 数据处理装置及相关产品 |
EP3674982A1 (en) * | 2018-12-27 | 2020-07-01 | IMEC vzw | Hardware accelerator architecture for convolutional neural network |
WO2020143236A1 (zh) * | 2019-01-08 | 2020-07-16 | 广东浪潮大数据研究有限公司 | 一种卷积神经网络的加速方法、装置、设备及存储介质 |
CN109858621A (zh) * | 2019-01-09 | 2019-06-07 | 深兰科技(上海)有限公司 | 一种卷积神经网络加速器的调试装置、方法及存储介质 |
CN110147251A (zh) * | 2019-01-28 | 2019-08-20 | 腾讯科技(深圳)有限公司 | 用于计算神经网络模型的架构、芯片及计算方法 |
CN109784484A (zh) * | 2019-01-31 | 2019-05-21 | 深兰科技(上海)有限公司 | 神经网络加速方法、装置、神经网络加速芯片及存储介质 |
CN110007961A (zh) * | 2019-02-01 | 2019-07-12 | 中山大学 | 一种基于risc-v的边缘计算硬件架构 |
CN110007961B (zh) * | 2019-02-01 | 2023-07-18 | 中山大学 | 一种基于risc-v的边缘计算硬件架构 |
CN110473137A (zh) * | 2019-04-24 | 2019-11-19 | 华为技术有限公司 | 图像处理方法和装置 |
CN110363284A (zh) * | 2019-06-20 | 2019-10-22 | 东南大学 | 一种带新型卷积运算加速模块的卷积神经网络硬件加速器 |
CN110598858A (zh) * | 2019-08-02 | 2019-12-20 | 北京航空航天大学 | 基于非易失性存内计算实现二值神经网络的芯片和方法 |
CN110688616B (zh) * | 2019-08-26 | 2023-10-20 | 陈小柏 | 一种基于乒乓ram的条带阵列的卷积模块及其运算方法 |
CN110688616A (zh) * | 2019-08-26 | 2020-01-14 | 陈小柏 | 一种基于乒乓ram的条带阵列的卷积模块及其运算方法 |
CN112819022B (zh) * | 2019-11-18 | 2023-11-07 | 同方威视技术股份有限公司 | 基于神经网络的图像识别装置和图像识别方法 |
CN112819022A (zh) * | 2019-11-18 | 2021-05-18 | 同方威视技术股份有限公司 | 基于神经网络的图像识别装置和图像识别方法 |
TWI766396B (zh) * | 2019-11-27 | 2022-06-01 | 大陸商星宸科技股份有限公司 | 資料暫存裝置、資料暫存方法以及計算方法 |
CN110991634A (zh) * | 2019-12-04 | 2020-04-10 | 腾讯科技(深圳)有限公司 | 人工智能加速器、设备、芯片及数据处理方法 |
WO2021109699A1 (zh) * | 2019-12-04 | 2021-06-10 | 腾讯科技(深圳)有限公司 | 人工智能加速器、设备、芯片及数据处理方法 |
CN110991634B (zh) * | 2019-12-04 | 2022-05-10 | 腾讯科技(深圳)有限公司 | 人工智能加速器、设备、芯片及数据处理方法 |
CN113095503A (zh) * | 2020-01-09 | 2021-07-09 | 北京君正集成电路股份有限公司 | 一种实现检测模型高效的系统 |
CN113095503B (zh) * | 2020-01-09 | 2024-05-03 | 北京君正集成电路股份有限公司 | 一种实现检测模型高效的系统 |
CN113495786B (zh) * | 2020-03-19 | 2023-10-13 | 杭州海康威视数字技术股份有限公司 | 一种图像卷积处理方法和电子设备 |
CN113495786A (zh) * | 2020-03-19 | 2021-10-12 | 杭州海康威视数字技术股份有限公司 | 一种图像卷积处理方法和电子设备 |
CN111783971A (zh) * | 2020-07-02 | 2020-10-16 | 上海赛昉科技有限公司 | 一种用于深度神经网络的可高度灵活配置的数据后处理器 |
CN111783971B (zh) * | 2020-07-02 | 2024-04-09 | 上海赛昉科技有限公司 | 一种用于深度神经网络的可高度灵活配置的数据后处理器 |
CN112215342A (zh) * | 2020-09-28 | 2021-01-12 | 南京俊禄科技有限公司 | 一种船用气象雷达照相装置多通道并行cnn加速器 |
CN112215342B (zh) * | 2020-09-28 | 2024-03-26 | 南京俊禄科技有限公司 | 一种船用气象雷达照相装置多通道并行cnn加速器 |
CN112183732A (zh) * | 2020-10-22 | 2021-01-05 | 中国人民解放军国防科技大学 | 卷积神经网络加速方法、装置和计算机设备 |
CN114442908B (zh) * | 2020-11-05 | 2023-08-11 | 珠海一微半导体股份有限公司 | 一种用于数据处理的硬件加速系统及芯片 |
CN114442908A (zh) * | 2020-11-05 | 2022-05-06 | 珠海一微半导体股份有限公司 | 一种用于数据处理的硬件加速系统及芯片 |
CN112712457A (zh) * | 2021-01-14 | 2021-04-27 | 清华大学 | 数据处理方法以及人工智能处理器 |
CN112712457B (zh) * | 2021-01-14 | 2024-05-10 | 清华大学 | 数据处理方法以及人工智能处理器 |
CN115145839A (zh) * | 2021-03-31 | 2022-10-04 | 广东高云半导体科技股份有限公司 | 一种深度卷积加速器及其实现加速深度卷积的方法 |
CN115145839B (zh) * | 2021-03-31 | 2024-05-14 | 广东高云半导体科技股份有限公司 | 一种深度卷积加速器及其实现加速深度卷积的方法 |
CN113947200A (zh) * | 2021-12-21 | 2022-01-18 | 珠海普林芯驰科技有限公司 | 神经网络的加速计算方法及加速器、计算机可读存储介质 |
CN114168991B (zh) * | 2022-02-10 | 2022-05-20 | 北京鹰瞳科技发展股份有限公司 | 对加密数据进行处理的方法、电路及相关产品 |
CN114168991A (zh) * | 2022-02-10 | 2022-03-11 | 北京鹰瞳科技发展股份有限公司 | 对加密数据进行处理的方法、电路及相关产品 |
CN114169514A (zh) * | 2022-02-14 | 2022-03-11 | 浙江芯昇电子技术有限公司 | 一种卷积硬件加速方法及卷积硬件加速电路 |
CN114169514B (zh) * | 2022-02-14 | 2022-05-17 | 浙江芯昇电子技术有限公司 | 一种卷积硬件加速方法及卷积硬件加速电路 |
Also Published As
Publication number | Publication date |
---|---|
CN107657581B (zh) | 2020-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107657581A (zh) | 一种卷积神经网络cnn硬件加速器及加速方法 | |
US11775802B2 (en) | Neural processor | |
US11775313B2 (en) | Hardware accelerator for convolutional neural networks and method of operation thereof | |
JP7329533B2 (ja) | 演算を加速するための方法および加速器装置 | |
Qiao et al. | FPGA‐accelerated deep convolutional neural networks for high throughput and energy efficiency | |
CN111897579B (zh) | 图像数据处理方法、装置、计算机设备和存储介质 | |
US11775430B1 (en) | Memory access for multiple circuit components | |
CN107392309A (zh) | 一种基于fpga的通用定点数神经网络卷积加速器硬件结构 | |
CN107301455B (zh) | 用于卷积神经网络的混合立方体存储系统及加速计算方法 | |
CN108537331A (zh) | 一种基于异步逻辑的可重构卷积神经网络加速电路 | |
CN109359736A (zh) | 网络处理器和网络运算方法 | |
CN106021182B (zh) | 一种基于二维fft处理器的行转置架构设计方法 | |
CN104699631A (zh) | Gpdsp中多层次协同与共享的存储装置和访存方法 | |
CN110222818B (zh) | 一种用于卷积神经网络数据存储的多bank行列交织读写方法 | |
Wu et al. | A flexible and efficient FPGA accelerator for various large-scale and lightweight CNNs | |
CN111461311A (zh) | 基于众核处理器的卷积神经网络运算加速方法及装置 | |
CN117933314A (zh) | 处理装置、处理方法、芯片及电子装置 | |
CN108509270A (zh) | 一种国产申威26010众核处理器上K-means算法的高性能并行实现方法 | |
CN111783967A (zh) | 一种适用于专用神经网络加速器的数据双层缓存方法 | |
CN112005251A (zh) | 运算处理装置 | |
CN115516450A (zh) | 推理引擎电路架构 | |
WO2023197526A1 (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN111860806A (zh) | 分形计算装置、方法、集成电路及板卡 | |
CN110414672B (zh) | 卷积运算方法、装置及系统 | |
Li et al. | Optimized data reuse via reordering for sparse matrix-vector multiplication on fpgas |
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 |