专栏名称: GiantPandaCV
专注于机器学习、深度学习、计算机视觉、图像处理等多个方向技术分享。团队由一群热爱技术且热衷于分享的小伙伴组成。我们坚持原创,每天一到两篇原创技术分享。希望在传播知识、分享知识的同时能够启发你,大家一起共同进步(・ω<)☆
目录
相关文章推荐
今天看啥  ›  专栏  ›  GiantPandaCV

从啥也不会到Cuda GEMM优化

GiantPandaCV  · 公众号  · 3D  · 2024-06-15 23:58
    

文章预览

大家好,这周本来是想写vllm的blockmanager的,结果在整理笔记时,看见之前入门cuda时画的一些手稿,一时手痒将它们整理成这篇文章。 除了图解外,所有代码都配上了非常详细的注释 ,希望对于cuda,能和大家一起从入门到不放弃。 【全文目录如下】 一、前置阅读 二、Naive GEMM 三、GEMM优化:从global memory到SMEM 3.1 split-by-k 四、GEMM优化:从SMEM到register 五、SMEM上的bank conflict 5.1 不同取数指令下的bank conflict (1) LDS.32 (2) 为什么要有bank conflict这个概念 (3) LDS.64与LDS.128 5.2 不同warp tiling方式对bank conflict的影响 (1) 2 * 16 warp (2) 4 * 8 warp (3) 将 (8,8)拆成4个(4,4) (4) 如何选择warp形状 (5) 代码实现 一、前置阅读 如果你对cuda和gpu架构比较陌生的话,推荐先阅读这篇文章:https://zhuanlan.zhihu.com/p/34587739,特别关注文章中对grid,block,warp,thread的描述。 1.1 cuda与gpu G ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览