本发明涉及人工智能芯片技术,尤其涉及一种基于隐式gemm卷积的数据加载方法、装置、设备及介质。
背景技术:
1、卷积神经网络中的卷积算子属于计算密集型,它的运算量占据整个神经网络计算量的绝大部分。因此卷积计算优化成为了一项非常重要也非常有意义的工作。
2、传统的隐式gemm卷积计算在进行数据加载时,需要额外的空间保存预计算的索引值,以便将张量数据转换为矩阵形式加载至功共享内存中,但是这种方式并没有减少共享内存至寄存器的数据传输量,从而导致内存带宽压力大,降低了整体执行效率。
技术实现思路
1、本发明提供一种基于隐式gemm卷积的数据加载方法、装置、设备及介质,以实现高效的数据加载。
2、第一方面,本发明提供了一种基于隐式gemm卷积的数据加载方法,包括:接收用户输入的隐式gemm卷积计算模式,并通过编译器生成与所述计算模式匹配的指令序列,其中,所述计算模式包括第一模式或第二模式;
3、当确定所述计算模式为第一模式时,根据所述指令序列从全局内存中分次读取特征图中指定分块的块数据,并将各块数据加载到匹配寄存器中;
4、将所述块数据按照指定规则在目标寄存器中进行拼接获取拼接数据;
5、根据所述块数据和所述拼接数据构成所述指定分块。
6、第二方面,本发明提供了一种基于隐式gemm卷积的数据加载转置,包括:指令序列生成模块,用于接收用户输入的隐式gemm卷积计算模式,并通过编译器生成与所述计算模式匹配的指令序列,其中,所述计算模式包括第一模式或第二模式;
7、数据加载模块,用于当确定所述计算模式为第一模式时,根据所述指令序列从全局内存中分次读取特征图中指定分块的块数据,并将各块数据加载到匹配寄存器中;
8、拼接模块,用于将所述块数据按照指定规则在目标寄存器中进行拼接获取拼接数据;
9、指定分块获取模块,用于根据所述块数据和所述拼接数据构成所述指定分块。
10、第三方面,本发明提供了计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的方法。
11、第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述方法。
12、通过从全局内存中分次读取指定分块的块数据加载到匹配寄存器中,基于所加载的块数据进行拼接获取拼接数据,并基于所加载的块数据和拼接数据构成指定分块,通过分次读取再拼接的方式可以显著降低寄存器的数据加载量,从而减轻寄存器的带宽压力,加快矩阵乘法计算。
1.一种基于隐式gemm卷积的数据加载方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述第一模式所对应的卷积输出通道不是32的倍数,
3.根据权利要求1所述的方法,其特征在于,所述将所述块数据按照指定规则在目标寄存器中进行拼接获取拼接数据,包括:
4.根据权利要求3所述的方法,其特征在于,所述从各所述块数据中确定出目标数据,包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述块数据和所述拼接数据构成所述指定分块之后,还包括:
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述将所述第一分块加载到指定寄存器中之后,还包括:
8.一种基于隐式gemm卷积的数据加载装置,其特征在于,包括:
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的方法。