今天看啥  ›  专栏  ›  zartbot

Tensor-001 矩阵分块乘法概述

zartbot  · 公众号  ·  · 2024-07-22 18:12

文章预览

新开一个专题来介绍一下张量计算相关的内容, 从最基本的算法,到Cutlass这些线性代数模版库, 特别是Layout代数相关的内容, 后面再逐渐细化到一些硬件实现访存优化和一些算子融合相关的话题, 准备工作闲暇时间有点空就补一点, 做个长期的专栏. 1. GEMM概述 1.1 GEMM定义 对于一个矩阵乘法, 我们定义如下: 如下图所示: 1.1.1 内积形式 因此我们可以构建一个最简单的算法 for  ( int  i =  0 ; i      for  ( int  j =  0 ; j          for  ( int  k =  0 ; k             C[i][j] += A[i][k] * B[k][j]; 这种乘法是也被称为矩阵乘法的内积形式 我们可以注意整个过程中随着 循环, B矩阵的乘法空间局部性很差,存在多次访问, 因此我们尽量需要缓存一些数据来避免缓存颠簸(cache thrashing) 1.1.2 外积形式 换一种思路, 如果我们按照如下方法构建乘法 其中 即我们可以把 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览