nc4hw4排布配合neon加速im2col+gemm的卷积推理
一:前言
一个tensor常见的内存排布有nchw和nhwc,除此之外,MNN还有一种内存排布方式叫做nc4hw4,如何理解这个排布呢?这种排布对性能又有什么提升呢?
二:什么是nc4hw4


概念本身很简单,两幅图就很能说明.其实nc4hw4准确的说应该是n(c/4)h(w*4).一句话来说就是:沿着c方向取4个数按照w方向排列.如果c不是4的倍数,则全用0补上.
三:nc4hw4如何提升卷积推理性能
nc4hw4的出现就是为了配合矢量操作,如矢量读写,矢量乘累加,在arm上就是neon指令.由于在进行hw平面上的二维gemm时,不同c维度之间是互不影响的,正适合作为矢量操作的不同元素.nc4hw4排布配合neon加速im2col+gemm的卷积推理的具体过程如下:
- 3.1.初始状态

所有的图在内存中的排列都是从左到右从上到下从前到后依次分布的.本文以filter对input进行卷积为例
- 3.2.转成nc4

本文介绍了nc4hw4内存排布方式及其如何通过配合Neon指令集提升卷积推理性能。nc4hw4排布能够简化矩阵乘法(GEMM)操作,特别适用于矢量操作,实验证明其显著提高了运算效率。

1328

被折叠的 条评论
为什么被折叠?



