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

【Deepseek 学cuda】CUTLASS: Fast Linear Algebra in CUDA C++

CUTLASS: Fast Linear Algebra in CUDA C++
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面一次内存访问,数据计算重复N次,达到理论值,是要将A B C矩阵一次性全部放到缓冲里。所以实际做不到

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
k 在外层,可以将C放入寄存器, 遍历完所有的K之后,计算后,最终一次性将结果写回内存,而不需要中间结果写回内存

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
**

这里需要注意共享内存与寄存器的区别:
寄存器是线程私有的,每个线程的寄存器在物理上位于不同的位置,无法被其他线程访问。而共享内存是线程块内共享的,属于片上内存,访问速度快,适合协作。
当多个线程需要协作处理数据时,如果数据在寄存器中,每个线程必须独立处理自己的数据,无法直接共享,导致数据冗余或重复计算。而共享内存允许线程块内的线程共享数据,减少重复加载,提高效率。

由于共享内存是block 内所有线程共享的, 所以 可以让block 所有线程 写作将A B tile 一次性从HBM搬到SMEM。
但是由SMEM搬到寄存器, 每个线程会重复搬运。(每个线程有自己的寄存器)

相关文章:

  • 【Python】普通方法、类方法和静态方法的区分
  • Vue百日学习计划Day1-3天详细计划-Gemini版
  • Socket API 核心函数详解
  • 万字解析:Java字符串
  • Three.js知识框架
  • rhel8.1 无法安装应用(提示需要注册系统)
  • 多线程与线程互斥
  • sip协议栈--sip结构分析
  • 一文理解扩散模型(生成式AI模型)(2)
  • 编程的本质, 就是创造工具
  • 架构设计不合理,如何优化系统结构
  • 【Linux】多路转接epoll、Linux高并发I/O多路复用
  • 【Linux】基础指令(Ⅱ)
  • 第十九次博客打卡
  • 可变形卷积简介(Deformable Convolution)
  • vLLM - SamplingParams 参数
  • Linux服务之lvs集群与dr模式部署
  • Mathematics-2025《Semi-Supervised Clustering via Constraints Self-Learning》
  • 线程同步机制
  • FlashInfer - 测试的GPU H100 SXM、A100 PCIe、RTX 6000 Ada、RTX 4090
  • 外企聊营商|威能集团:公平环境增“暖”意
  • 习近平会见哥伦比亚总统佩特罗
  • 刘永明|在从普及到提高中发展新大众文艺
  • 优化营商环境,服务上海“五个中心”建设,北外滩有何举措?
  • 技术派|更强的带刀侍卫:从054B型战舰谈谈世界护卫舰发展
  • 美国三大指数全线高开:纳指涨逾4%,大型科技股、中概股大涨