当前位置: 首页 > article >正文

结合night compute分析 利用tensor core 优化K值较大的矩阵乘(超过cublas50%)

一 night compute分析

将cublas作为base line和现有的代码分析

图1.1

可以发现计算吞吐量明显偏低,能想到的就是计算单元处于空闲的概率较大,是访存密集型算子,因此可以增大数据的吞吐量,多给计算单元提供数据

二 代码

#include "common.h"


//mma计算的基本尺寸
#define MMA_M 16
#define MMA_N 8
#define MMA_K 16

//每个block包含的A的行数和B的列数
#define BLOCK_ROWS 256
#define BLOCK_COLS 128

#define WARP_ROWS 64
#define WARP_COLS 64

#define BLOCK_ROW_WARPS 2 // BLOCK_COLS / WARP_COLS
#define BLOCK_COL_WARPS 4 // BLOCK_ROWS / WARP_ROWS

#define BLOCK_ROW_TILES 16 // BLOCK_COLS / MMA_N
#define BLOCK_COL_TILES 16 // BLOCK_ROWS / MMA_M

#define WAR

http://www.kler.cn/a/504210.html

相关文章:

  • MYSQL5.7 全文检索中文无返回数据
  • 第R4周:LSTM-火灾温度预测
  • 大语言模型的稀疏性:提升效率与性能的新方向
  • Nginx配置VTS模块-对接Promethues监控
  • 开放词汇检测新晋SOTA:DOSOD实时检测算法详解
  • Spring 项目 基于 Tomcat容器进行部署
  • vue的KeepAlive应用(针对全部页面及单一页面进行缓存)
  • 精通Python (10)
  • 【Linux】8.Linux基础开发工具使用(2)
  • React中的key有什么作用?
  • RabbitMQ-消息入队
  • HarmonyOS NEXT应用开发边学边玩系列:从零实现一影视APP (二、首页轮播图懒加载的实现)
  • SQL刷题快速入门(二)
  • ClickHouse-CPU、内存参数设置
  • 在Linux系统中无网络安装Nginx并配置负载均衡
  • 41_Lua函数
  • uniapp小程序开发,配置开启小程序右上角三点的分享功能
  • 【搭建JavaEE】(1)maven仓库安装配置
  • Vue.js前端框架教程16:Element UI的el-dialog组件
  • WordEmbeddingPositionEmbedding
  • uni-app的学习
  • MySQL:内置函数
  • SQL Server 查看数据库表使用空间 系统表
  • 刀客doc:快手的商业化架构为什么又调了?
  • 6.1 MySQL数字函数和条件函数
  • 开源项目stable-diffusion-webui部署及生成照片