[发明专利]一种卷积运算的硬件自动padding的方法在审
申请号: | 202210924136.6 | 申请日: | 2022-08-02 |
公开(公告)号: | CN115374394A | 公开(公告)日: | 2022-11-22 |
发明(设计)人: | 任鹏举;林晓云;夏天;霍志旺;付格林;赵文哲 | 申请(专利权)人: | 西安交通大学 |
主分类号: | G06F17/15 | 分类号: | G06F17/15;G06N3/04 |
代理公司: | 北京中济纬天专利代理有限公司 11429 | 代理人: | 覃婧婵 |
地址: | 710049 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 卷积 运算 硬件 自动 padding 方法 | ||
1.一种卷积运算的硬件自动padding的方法,其特征在于:
所述方法采用一种HWC88数据存储格式对数据进行存储,其中,
该数据存储格式在数据存储过程中,会将整个输入数据ifm进行分段,每段数据进行8等分切分,得到8组数据,然后对每组数据进行等位置抽取,等位置数据排为一列,进行顺序存储;
所述方法,在采用HWC88存储格式的数据左右两侧,通过对数据来源的原数据进行复制、移位后自动补足padding数据,从而快速进行卷积运算,其中,在显式存储padding时,将padding部分视为正常数据,不需要额外计算padding地址。
2.根据权利要求1所述的方法,其中,优选的,
对于不同卷积运算的wt尺寸,为了保持卷积运算后的ofm大小与ifm相同,需要对image或ifm数据补多行padding时,所述方法在fm存储数据的左右两侧,通过对原数据进行复制、移位后,对空余位补足fm分段前、后的数据列补足padding数据,即当前分段左右两侧的数据,以补足padding数据。
3.根据权利要求1所述的方法,其中,
对于不同Channel数,
假设fm维度为2(height)*24(width)*C(channel),在Channel方向上以8为基数,切分为0~ci段(ci=C/8);以HWC88格式存储fm时,将每块相同位置相同通道组的数据放在内存的相同地址,优先存放每块中相同位置像素点的所有通道;
假设memory的一列位宽为64B,则刚好可以存储8个点的数据,其中每个点channel为8,则:fm上Width方向相邻的两个点之间的地址偏移为64B*ci,记作block_offset;
当padding存储为隐式存储时,将来源位置的数据复制一遍;其中,Pa.b中,a表示Width方向的位次,b表示Channel方向的位次。
4.根据权利要求1所述的方法,其中,
假设fm维度为1(height)*8(width)*8(channel);wt维度为5(height)*5(width)*8(channel)*8(n),以HWC88格式存储fm时,ifm需补2行padding;
对于HWC88格式存储后只有1列的情形,首先按照显式存储方法,将fm显式补足第一行padding,得到3列显式存储的fm;
对数据来源的原数据进行复制、移位后,对空余位补足fm分段前、后的数据列;易知[part_M-1_tail]、[part_M+1_head]位置的数据即为真实padding;
按照隐式存储方法,再将上述fm补足第2行padding,对原数据进行复制、移位后,对空余位补足fm分段前、后的数据列;从而可以按照隐式存储方法进行数据读取。
5.根据权利要求1所述的方法,其中,
HWC88存储格式用于实现FM在数据存储中组织格式的重排,且需要满足如下条件:该格式具有良好的局部性,能提高cache中数据的利用率,以及提升数据传输带宽和计算性能。
6.根据权利要求1所述的方法,其中,
所述HWC88存储格式具体为:
将一行或一行的一部分FM数据平均分为8块,将每块相同位置相同通道组的数据放在内存的相同地址,优先存放每块中相同位置像素点的所有通道。
7.根据权利要求1所述的方法,其中,
FM采用HWC88格式进行卷积运算具体为:将FM上一行FM数据平均分为8块得到并行的8个点,将每块相同位置相同通道组的数据,和卷积核的对应通道相乘。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210924136.6/1.html,转载请声明来源钻瓜专利网。