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

张量矩阵乘法分块乘法概述
介绍一下矩阵计算相关的内容, 从最基本的算法,到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];

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/809386.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java与线程

Java与线程 1. 线程的实现 线程是比进程更轻量级的调度执行单位,线程的引人,可以把一个进程的资源分配和执行调度分开,各个线程既可以共享进程资源(内存地址、文件IO等),又可以独立调度。目前线程是Java里面进行处理器资源调度的最基本单位。 主流的操作系统都提供了线程实…

矩阵分块乘法

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

从硬件的视角看GEMM

从硬件的视角看GEMM 1. 分块乘法的内存层次架构 分块矩阵乘法,如图6-28所示, 通过将矩阵分块拆分,能够在处理器的Cache和寄存器内存放进行快速计算,计算完成后写回主存。图6-28 分块矩阵乘法 首先,所有的数据都在主内存中,如图6-29所示。图6-29 所有的数据都在主内存中 然…

电表行业强力推荐KY8023S6对标平替BL8023双向继电器驱动芯片

双向继电器驱动芯片KY8023S6对标平替BL8023。 产品特点 SOT23-6L和SOP-8 两种封装 静态功耗电流<1uA 输入高低转换电平为1.3V(Is=1A)左右,兼容多种单片机 工作电压5-40V,推荐工作电压5-30V 输入INA和INB端自带115k下拉电阻,一般可省略外围下拉电阻 集成高速续流二极管,…

重启后,idea 依赖爆红

没改动代码,但无法运行java项目 java: -source 1.5 中不支持……表达式/运算符java: 错误: 不支持发行版本 5解决:https://www.cnblogs.com/liu-han/p/16105953.html 文件→项目结构,SDK和项目/模块 语言级别的版本要一致SDK: 1.8 项目语言级别:SDK默认值 模块语言级别:SD…

[亲测]君临九州+单机安装教程+无需虚拟机+GM后台

今天给大家带来一款单机游戏的架设:君临九州,版本号:1.0.12.30。 另外:本人承接各种游戏架设(单机+联网) 本人为了学习和研究软件内含的设计思想和原理,带了架设教程仅供娱乐。 教程是本人亲自搭建成功的,绝对是完整可运行的,踩过的坑都给你们填上了。如果你是小白也没…

智慧园区管理系统原型

智慧园区管理系统的构建是一个复杂而系统的工程,它融合了信息化、AI、物联网等多种先进技术,旨在提升园区的管理效率、服务质量以及企业运营效率。 一、明确系统目标和需求 需求收集与分析:首先,需要对园区的实际需求进行全面分析,包括园区类型(如产业园区、办公园区、住…

POI导出excel文件加水印

百分百能用,我用的POI版本是5.2.3,效果如下import lombok.extern.slf4j.Slf4j; import org.apache.poi.openxml4j.opc.PackagePartName; import org.apache.poi.openxml4j.opc.PackageRelationship; import org.apache.poi.openxml4j.opc.TargetMode; import org.apache.poi.xs…

FredNormer: 非平稳时间序列预测的频域正则化方法

时间序列预测是一个具有挑战性的任务,尤其是在处理非平稳数据时。现有的基于正则化的方法虽然在解决分布偏移问题上取得了一定成功但仍存在局限性。这些方法主要在时间域进行操作,可能无法充分捕捉在频域中更明显的动态模式,从而导致次优的结果。 FredNormer论文的研究目的主要…

江苏省第二届数据安全技术应用职业技能竞赛初赛WP

一、数据安全解题赛1、ds_0602解题思路题目让我们获取加密文件中的原始数据,解密后提交第六行第二列数据,下载附件,发现里面有两个文件,其中一个是“.enc”结尾,那这里我们得先简单了解一下“.enc”结尾的是什么类型的文件。简单来说“.enc”结尾的文件通常是经过加密的文…

java之使用CompletableFuture入门2

Java 17 -序章 本文介绍用过的 allOf、anyOf 函数的用法。allOf 函数原型两点: 1、没有返回值。 2、参数 cfs 中 任何一个 都不能是 null。anyOf 函数原型两点: 1、有返回值,为 Object。 2、参数 cfs 中 任何一个 都不能是 null。allOf 测试意图: 多个任务正常执行。ben发布…

VMware Aria Operations for Logs 8.18 发布,新增功能概览

VMware Aria Operations for Logs 8.18 发布,新增功能概览VMware Aria Operations for Logs 8.18 - 集中式日志管理 请访问原文链接:https://sysin.org/blog/vmware-aria-operations-for-logs/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org集中式日志管理 V…