通用矩阵乘(GEMM)优化算法 |
您所在的位置:网站首页 › 流程图优化的方法通用 › 通用矩阵乘(GEMM)优化算法 |
引言
气象预报、石油勘探、核子物理等现代科学技术大多依赖计算机的计算模拟,模拟计算的核心是表示状态转移的矩阵计算。另一方面,计算机图形处理以及近年来兴起的深度学习也和矩阵乘高度相关。而矩阵乘对计算资源消耗较大,除了计算机体系结构的不断更新外,软件优化方面也有大量的研究工作。 本文简要介绍通用矩阵乘(GEMM,General Matrix Multiplication)优化的基本概念和方法、神经网络量化中矩阵乘的优化方法。旨在帮助大家在概念中建立一些直觉,无甚高论。 通用矩阵乘概念矩阵乘通常定义为 \(\begin{align} \mathbf{C}&=\mathbf{A}\mathbf{B}; \space \mathbf{A},\mathbf{B},\mathbf{C} \in R^{n \times n} \\ C_{m,n}&=\sum_{k=1}^{K}A_{m,k}B_{k,n};\ \ m,n,k \in R^{n} \end{align}\) 其中 \(A\)、\(B\)、\(C\) 三者的形状分别为 \(M \times K\) 、 \(K \times N\) 、 \(M \times N\)。图一是矩阵乘的可视化展示,和计算时为得到一个输出点所要使用的输入数据。 图一:矩阵乘一个输出元素的计算 与之相对应的伪代码表示为: for (int m = 0; m |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |