基于众核处理器的卷积神经网络运算加速方法及装置制造方法及图纸

技术编号:25044400 阅读:15 留言:0更新日期:2020-07-29 05:34
本发明专利技术公开了一种基于众核处理器的卷积神经网络运算加速方法,预先将卷积运算的输入图片处理得到输入张量,及卷积滤波器张量;并进行转置,得到转置输入张量

【技术实现步骤摘要】
基于众核处理器的卷积神经网络运算加速方法及装置
本专利技术属于数据处理
,具体地涉及一种基于众核处理器的卷积神经网络运算加速方法及装置。
技术介绍
卷积神经网络是深度神经网络的一种常见形式,由一个输入层,一个输出层和多个隐藏层组成,这些隐藏层包括卷积层,RELU层,激活函数层,池化层,全连接层与归一化层等。在卷积神经网络中,卷积层与池化层一般会取若干个,卷积层与池化层交替设置,生成输入数据的高级抽象,称为特征图(featurmap),最后通过分类相关层如全连接层等对特征图进行处理完成输入数据的分类。卷积神经网络可以通过采用非常深的层次结构来实现卓越的性能,但深层的卷积神经网络需求极大的计算能力。在大多数的卷积神经网络中,卷积层的运算占据了总计算量的最大部分(占比90%以上)。卷积层的主要运算为高维卷积,卷积运算的输入是两个四维的张量:代表输入数据,代表卷积滤波器。输出也是一个四维的张量:N代表一个批次(mini-batch)输入的图片数量,C代表输入的特征图个数,H与W分别代表输入图片的高度与宽度,K代表输出的特征图个数,R与S分别代表卷积核的高度与宽度,P与Q分别代表输出图片的高度与宽度。卷积运算的算法公式可以表示如下:当前在不同硬件平台上对卷积神经网络进行高效处理有两种不同的策略:一种是基于时域的方法,通过对数据进行变换,将卷积运算映射到矩阵乘法,然后使用较为成熟的矩阵运算加速库(如OPEN-BLAS,cuDNN)进行运算加速。另一种是基于频域的方法,利用空间域的卷积等于频率域的乘积的卷积原理,对卷积核与输入特征矩阵进行类傅里叶变换,然后在频率域中进行乘法运算,最后对所产生的结果应用逆傅里叶变换恢复空间域中的输出特征映射。众核处理器,比如SW26010异构众核处理器,其是由上海高性能集成电路设计中心通过自主技术研制,集成了4个运算核组共260个运算核心,核组间支持Cache一致性,通过片上网络互联。每个核组包含1个运算控制核心(主核),1个8x8的运算核心阵列(从核阵列),一个内存控制器(MC)。4个核组的物理空间统一编址,运算控制核心和运算核心均可以通过内存控制器访问芯片上的所有主存空间。SW26010的主核(MPE)是一个64位的RISC核心,拥有一个32kb的L1指令Cache、一个32kb的L1数据Cache和一个256kb的L2cache,同时支持256位的向量运算。它的从核也是一个64位的RISC核心,设计目标是实现计算能力的凝集,同时最小化微架构的复杂性。从核阵列按照8x8的结构排列,采用网络互连、支持低延迟的寄存器通信,每个从核拥有16kb的L1指令Cache和一个64kb的便笺式存储器(SPM),并且同样支持256位的向量运算。从核对主存有两种模式的访问:DMA连续传输访存模式,用于细粒度的数据访问的全局读入/读出(gld/gst),带宽极低;DMA跨步传输访存模式,用于粗粒度数据访问的DMA方式,将主存中的连续数据块有效的传输到SPM,带宽较高,也是SPM与主存间的主要通信方式。在8x8的从核阵列上,同行或者同列的两个从核间可以通过寄存器通信的方式高速传输数据。寄存器通信不仅支持同行同列从核之间点对点的通信,同时支持一对多的行列广播通信,寄存器通信的延迟极小,利用寄存器通信可以实现从核之间高效的数据共享。SW26010作为新兴的硬件平台,在卷积神经网络的高效处理方面的工作较少,清华大学开发了基于SW26010的深度学习框架swCaffe与深度学习加速库swDNN。但是对于卷积神经网络的高效处理,仍然有可继续优化的空间,探索卷积神经网络与SW26010的结合,进一步加速卷积神经网络在SW26010上的处理过程是有价值的工作。
技术实现思路
针对上述存在的技术问题,本专利技术提出了一种基于众核处理器的卷积神经网络运算加速方法,使用基于卷积滤波器复用的思想重排卷积循环,在循环内采用DMA混合模式传输,提升带宽,减少访存开销,平衡访存与计算时间,同时使用寄存器通信,异步DMA传输双缓冲方案,指令流水线重排等优化方案,加速卷积神经网络运算过程,优化性能。本专利技术的技术方案是:一种基于众核处理器的卷积神经网络运算加速方法,包括以下步骤:S01:预先将卷积运算的输入图片处理得到输入张量及卷积滤波器张量其中,N为一个批次输入的图片数量,C为输入的特征图个数,H与W分别为输入图片的高度与宽度,K为输出的特征图个数,R与S分别为卷积核的高度与宽度;S02:对输入张量和卷积滤波器张量分别进行转置,得到转置输入张量和转置卷积滤波器张量S03:获取转置输入张量Dt的N*C大小的子矩阵d,转置卷积滤波器张量Ft的K*C大小的子矩阵f,并传输至众核处理器的从核阵列中进行矩阵相乘运算;S04:将f与d相乘得到的N*K子矩阵o从从核阵列传输回众核处理器的主核,更新输出张量的转置输出张量其中P与Q分别为输出图片的高度与宽度;S05:基于卷积滤波器复用思想的数据换入换出策略,根据卷积运算的算法公式重复步骤S03与S04,对Ot进行更新;S06:将得到的Ot进行转置,得到最终的输出张量优选的技术方案中,所述步骤S03中,在进行数据传输时,使用主从核间异步DMA数据传输机制以及计算与访存重叠的双缓冲策略,所述双缓冲策略包括:S31:当进行多轮次的DMA读写操作时,在从核阵列的局部存储空间上申请2倍于通信数据大小的存储空间,所述存储空间用于存储两份同样大小且互为对方缓冲的数据;S32:从核阵列在子矩阵f与d进行相乘运算的同时,从主核预取下次计算所需的子矩阵f与d,同时将上一次运算所得的子矩阵o写回主核。优选的技术方案中,所述步骤S03中进行矩阵相乘运算时,对输入输出数据按8x8的阵列结构进行分块,采用矩阵分块乘法,同时从核间数据传输通信使用寄存器进行通信。优选的技术方案中,所述步骤S05中基于卷积滤波器复用思想的数据换入换出策略,包括以下步骤:根据卷积运算的算法公式转换得到循环次序,将卷积滤波器张量的子矩阵f始终保持在SPM中,使用DMA连续传输访存模式,完成对输出张量的子矩阵o分次读入读出,将矩阵相乘运算完成后的子矩阵o的最后一次传输使用DMA跨步传输访存模式将数据传回主存。本专利技术还公开了一种基于众核处理器的卷积神经网络运算加速装置,包括:第一处理模块,预先将卷积运算的输入图片处理得到输入张量及卷积滤波器张量其中,N为一个批次输入的图片数量,C为输入的特征图个数,H与W分别为输入图片的高度与宽度,K为输出的特征图个数,R与S分别为卷积核的高度与宽度;第二处理模块,对输入张量和卷积滤波器张量分别进行转置,得到转置输入张量和转置卷积滤波器张量数据传输运算模块,获取转置输入张量Dt的N*C大小的子矩阵d,转置卷积滤波器张量Ft的K*C大小的子矩阵f,并传输至众核处理器的从核阵列中进行矩阵相乘运算;数据传输更新模块,将f与d相乘得到的N*K子矩阵o从从核本文档来自技高网
...

【技术保护点】
1.一种基于众核处理器的卷积神经网络运算加速方法,其特征在于,包括以下步骤:/nS01:预先将卷积运算的输入图片处理得到输入张量

【技术特征摘要】
1.一种基于众核处理器的卷积神经网络运算加速方法,其特征在于,包括以下步骤:
S01:预先将卷积运算的输入图片处理得到输入张量及卷积滤波器张量其中,N为一个批次输入的图片数量,C为输入的特征图个数,H与W分别为输入图片的高度与宽度,K为输出的特征图个数,R与S分别为卷积核的高度与宽度;
S02:对输入张量和卷积滤波器张量分别进行转置,得到转置输入张量和转置卷积滤波器张量
S03:获取转置输入张量Dt的N*C大小的子矩阵d,转置卷积滤波器张量Ft的K*C大小的子矩阵f,并传输至众核处理器的从核阵列中进行矩阵相乘运算;
S04:将f与d相乘得到的N*K子矩阵o从从核阵列传输回众核处理器的主核,更新输出张量的转置输出张量其中P与Q分别为输出图片的高度与宽度;
S05:基于卷积滤波器复用思想的数据换入换出策略,根据卷积运算的算法公式重复步骤S03与S04,对Ot进行更新;
S06:将得到的Ot进行转置,得到最终的输出张量


2.根据权利要求1所述的基于众核处理器的卷积神经网络运算加速方法,其特征在于,所述步骤S03中,在进行数据传输时,使用主从核间异步DMA数据传输机制以及计算与访存重叠的双缓冲策略,所述双缓冲策略包括:
S31:当进行多轮次的DMA读写操作时,在从核阵列的局部存储空间上申请2倍于通信数据大小的存储空间,所述存储空间用于存储两份同样大小且互为对方缓冲的数据;
S32:从核阵列在子矩阵f与d进行相乘运算的同时,从主核预取下次计算所需的子矩阵f与d,同时将上一次运算所得的子矩阵o写回主核。


3.根据权利要求1所述的基于众核处理器的卷积神经网络运算加速方法,其特征在于,所述步骤S03中进行矩阵相乘运算时,对输入输出数据按8x8的阵列结构进行分块,采用矩阵分块乘法,同时从核间数据传输通信使用寄存器进行通信。


4.根据权利要求1所述的基于众核处理器的卷积神经网络运算加速方法,其特征在于,所述步骤S05中基于卷积滤波器复用思想的数据换入换出策略,包括以下步骤:
根据卷积运算的算法公式转换得到循环次序,将卷积滤波器张量的子矩阵f始终保持在SPM中,使用DMA连续传输访存模式,完成对输出张量的子矩阵o分次读入读出,将矩阵相乘运算完成后的子矩阵o的最后一次传输使用DMA跨步传输访存模式将数据传回主存。


5.一种基...

【专利技术属性】
技术研发人员:吴俊敏张屹
申请(专利权)人:中国科学技术大学
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1