首页 > 其他分享 >张量矩阵乘法分块乘法概述

张量矩阵乘法分块乘法概述

时间:2024-10-07 11:49:11浏览次数:17  
标签:分块 int 矩阵 张量 概述 乘法

张量矩阵乘法分块乘法概述 介绍一下矩阵计算相关的内容, 从最基本的算法,到Cutlass这些线性代数模版库, 特别是Layout代数相关的内容,再逐渐细化到一些硬件实现访存优化和一些算子融合。 6.3.1 GEMM概述 1. GEMM定义 对于一个矩阵乘法, 定义如下:

 (6-1)

一个矩阵乘法定义,如图6-26所示。 图6-26 一个矩阵乘法定义图示 2. 内积形式 因此,可以构建一个最简单的算法。 for (int i = 0; i < M; ++i)
    for (int j = 0; j < N; ++j)
        for (int k = 0; k < K; ++k) 
            C[i][j] += A[i][k] * B[k][j]; 这种乘法是也被称为矩阵乘法的内积形式。

   (6-2)

可以注意整个过程中随着循环, B矩阵的乘法空间局部性很差,存在多次访问, 因此尽量需要缓存一些数据来避免缓存颠簸(cache thrashing)。 3. 外积形式 换一种思路, 如果按照如下方法构建乘法 其中,

     (6-3)

即可以把K维度放在最外面, 这样A和B矩阵,都可以按照列和行整个一块的读取。 for (int k = 0; k < K; ++k)   //外环处的dim-k
    //C_i的外积
    for (int i = 0; i < M; ++i)
        for (int j = 0; j < N; ++j) 
            C[i][j] += A[i][k] * B[k][j];

标签:分块,int,矩阵,张量,概述,乘法
From: https://www.cnblogs.com/wujianming-110117/p/18449875

相关文章

  • 关于最小二乘法
    最小二乘法的核心思想简单而优雅:我们希望找到一条最佳的曲线,使其尽可能贴近所有的数据点。想象一下,当你在画布上描绘一条线,目标是让这条线与点的距离最小。数学上,这可以表示为:在这个公式中,yi​是你观察到的值,f(xi) 则是你预测的值。通过调整模型的参数,我们努力去缩小这个误......
  • 【OJ题解-1】稀疏矩阵乘法
    一、试题题面计算两个稀疏矩阵相乘,输出相乘的结果【输入输出约定】输入:第一行输入三个正整数p、q、r,表示p×q和q×r的两个矩阵相乘;(约定0<p,q,r≤1000)然后是第一个矩阵的输入,首先是一个整数m,表示矩阵一有m个非零元素;然后是m行,每行三个整数i,j,d,表示第i行,第j列的元素为d(约定......
  • 如何将相同的矩阵与张量的每一行相乘?
    我想在没有循环的情况下在两次(X和Y)旋转后找到立方体的坐标。立方体坐标存储为顶点:cube_vertices=np.array([[0,0,0],[1,0,0],[1,1,0],[0,1,0],......
  • 日新月异 PyTorch - pytorch 基础: 张量的基础操作
    源码https://github.com/webabcd/PytorchDemo作者webabcd日新月异PyTorch-pytorch基础:张量的基础操作示例如下:basic\demo01.py#本例用于演示torch张量的基础操作,其操作与numpy基本相同(注:看本例之前先要把numpy弄懂)#torch可以支持在gpu上运算,而numpy......