矩阵分块乘法
矩阵分块乘法
通常可以把一个矩阵分成多个块, 例如,
(6-4)
可以将其划分为 4个块:
(6-5)
(6-6)
分块后的矩阵记为:
分块矩阵乘法如下所示:
(6-7)
划分不一定需要完全等间隔, 只需要满足子矩阵乘法规则即可, 如图6-27所示。

图6-27 子矩阵划分不一定需要完全等间隔, 只需要满足子矩阵乘法规则
给定一个的矩阵切分为 行 列。
(6-8)
另一个的矩阵切分为行列。
(6-9)
则它们的乘积计算如下:
(6-10)
相应的乘法循环,代码如下。
for (int m = 0; m < M; m += Mtile) //在M维上迭代
for (int n = 0; n < N; n += Ntile) //在N维上迭代
for (int k = 0; k < K; ++k)
for (int i = 0; i < Mtile; ++i) // 计算一个图块
for (int j = 0; j < Ntile; ++j) {
int row = m + i;
int col = n + j;
C[row][col] += A[row][k] * B[k][col];
}
for (int n = 0; n < N; n += Ntile) //在N维上迭代
for (int k = 0; k < K; ++k)
for (int i = 0; i < Mtile; ++i) // 计算一个图块
for (int j = 0; j < Ntile; ++j) {
int row = m + i;
int col = n + j;
C[row][col] += A[row][k] * B[k][col];
}
人工智能芯片与自动驾驶
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2023-10-07 半导体产业链各个模块分析
2022-10-07 谈谈DeepMind攻克50年数学难题-激光雷达-大芯片-动力电池
2021-10-07 TVM Operator Inventory (TOPI)简介