卷积加速
WTHunt
厚积薄发
展开
-
NCHW与NC4HW4数据排布在卷积优化上的优劣分析
数据布局对性能影响巨大。先来看一看在 NCHW 的布局下,怎么利用 SIMD 加速 3x3 的 depth-wise 卷积。首先,读取数据时,需要一次性读取四个 float 作为第一行的数据,后两行的读取也是相似的;此时,读取出的三行数据已经足够计算两列输出,即,可以复用部分数据;而后,为了提高数据复用,会再读取出第四行数据,一次计算两行两列,即,可以引入循环展开;然而,残留的 5~25 和 21~25 亮度眼边界无法利用 SIMD 计算,只能逐一循环读写完成计算;按照这样的方式,就可以相应完...原创 2020-09-28 17:21:38 · 2413 阅读 · 0 评论 -
GEMM算法及优化流程详解
前言神经网络前向耗时主要由卷积的耗时决定,参考賈杨青毕业论文,那么如何对卷积加速便成了重要的一个点,主流的加速方法有以下几种:im2col+GEMM:目前几乎所有的主流计算框架包括 Caffe, MXNet 等都实现了该方法. 该方法把整个卷积过程转化成了GEMM过程,而GEMM在各种 BLAS 库中都是被极致优化的,一般来说,速度较快。Winograd: Winograd 是存在...原创 2020-02-16 21:27:09 · 26961 阅读 · 4 评论 -
卷积Strassen算法
知识直通车知乎详解:https://zhuanlan.zhihu.com/p/78657463复杂度推导:https://zhuanlan.zhihu.com/p/85002063复杂度推到中文论文:http://xueshu.baidu.com/usercenter/paper/show?paperid=ed57429cf879f9bd2cef1206b8ff69a0&sit...原创 2019-12-30 19:08:16 · 347 阅读 · 0 评论 -
浮点卷积winograd算法
目录winograd算法简介知识直通车winograd代码实例解析winograd算法简介现今的Winograd主要来源于1980年,由Shmuel Winograd提出减少FIR滤波器计算量的方法Shmuel Winograd指出,对于输出个数为m,有r个参数的FIR滤波器,不需要m*r次乘法计算,而仅仅需要:次乘法计算即可。下面是一个F(2,3)的例子,即输...原创 2019-12-24 16:01:06 · 685 阅读 · 22 评论