[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"site-home-live-entry-setting":3,"site-header-contests":8,"site-header-camps":49,"study-material-detail-study-24":104},{"enabled":4,"title":5,"statusText":5,"buttonText":5,"campSlug":5,"stage":6,"classroomId":7,"hasClassroom":4},false,"",0,null,{"total":9,"list":10,"pageNum":44,"pageSize":45,"size":9,"startRow":44,"endRow":9,"pages":44,"prePage":6,"nextPage":6,"isFirstPage":46,"isLastPage":46,"hasPreviousPage":4,"hasNextPage":4,"navigatePages":47,"navigatepageNums":48,"navigateFirstPage":44,"navigateLastPage":44},3,[11,25,35],{"slug":12,"title":13,"logo":7,"liveUrl":14,"prize":15,"sponsor":16,"description":17,"organizer":18,"startTime":19,"endTime":20,"registrationDeadline":21,"status":22,"dashboardVisibility":23,"createdAt":24},"spring2026","2026春季启元人工智能大赛","https:\u002F\u002Fwww.bilibili.com\u002Fblackboard\u002Flive\u002Flive-activity-player.html?cid=1822703816&quality=0","200,000","麒麟软件有限公司","“2026春季启元人工智能大赛”是由启元实验室主办的面向全国人工智能领域开发者、科研人员及高校学生的权威赛事。大赛旨在促进与培养具备工程实践能力和创新能力的优秀人工智能领域开发者、推广国产软硬件技术与生态、助力国家人工智能产业高质量发展。\n各参赛选手需在规定的比赛周期内，依据赛事规则选定赛题并完成相应挑战，优胜者将共同角逐总额20万元的赛事奖金池，并且还将有机会获得实习和知名企业优质岗位内推资格。","启元实验室","2026-04-19 16:00:00","2026-07-13 16:00:00","2026-06-16 16:00:00","ongoing","private","2026-04-16 08:00:00",{"slug":26,"title":27,"logo":7,"liveUrl":14,"prize":28,"sponsor":7,"description":29,"organizer":18,"startTime":30,"endTime":31,"registrationDeadline":32,"status":33,"dashboardVisibility":23,"createdAt":34},"autumn2025","2025秋季启元人工智能大赛","150,000","“2025秋季启元人工智能大赛”是由启元实验室主办的面向全国人工智能领域开发者、科研人员及高校学生的权威赛事。大赛旨在促进与培养具备工程实践能力和创新能力的优秀人工智能领域开发者、推广国产软硬件技术与生态、助力国家人工智能产业高质量发展。","2025-11-08 08:00:00","2026-01-13 08:00:00","2025-12-30 08:00:00","ended","2025-11-03 08:00:00",{"slug":36,"title":37,"logo":7,"liveUrl":14,"prize":38,"sponsor":7,"description":39,"organizer":18,"startTime":40,"endTime":41,"registrationDeadline":42,"status":33,"dashboardVisibility":23,"createdAt":43},"summer2025","启元人工智能大赛(系统方向)","80,000","启元人工智能大赛由启元实验室主办，其中系统赛道基于启元实验室九源软件栈的相关开源项目，通过拉动开源社区力量，一方面促进国产智能计算生态的发展，另一方面也为人工智能系统方向的学生及从业者提供一个实践平台。","2025-07-08 08:00:00","2025-08-25 08:00:00","2025-07-22 08:00:00","2025-06-22 08:00:00",1,5,true,8,[44],{"total":45,"list":50,"pageNum":44,"pageSize":45,"size":45,"startRow":44,"endRow":45,"pages":44,"prePage":6,"nextPage":6,"isFirstPage":46,"isLastPage":46,"hasPreviousPage":4,"hasNextPage":4,"navigatePages":47,"navigatepageNums":103,"navigateFirstPage":44,"navigateLastPage":44},[51,62,73,84,94],{"id":52,"slug":53,"title":54,"logo":55,"publicLiveEmbedUrl":14,"description":56,"introduction":57,"organizer":18,"coOrganizer":5,"sponsor":16,"startTime":58,"endTime":59,"status":22,"dashboardVisibility":60,"createdAt":58,"updatedAt":61},"019eeeff-6b00-7d55-a629-efafded3e232","summer2026","2026年夏季InfiniTensor大模型与人工智能系统训练营","https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fuploads\u002F2026-06\u002F019eef7f-7816-7828-9309-79c2c61dd568.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=o29Dy5KMbkQVCWTVaFUX1%2F9v%2FI8%3D","由启元实验室发起的InfiniTensor大模型与人工智能系统训练营，面向开源社区、高校及产业界伙伴开放。活动以「普及AI全栈知识技术、培养工程实践与创新型人才、推广国产软硬件技术生态」为核心目标，助力国家人工智能产业高质量发展。","...","2026-06-22 08:00:00","2026-10-19 08:00:00","public","2026-10-12 08:00:00",{"id":63,"slug":64,"title":65,"logo":66,"publicLiveEmbedUrl":7,"description":67,"introduction":57,"organizer":18,"coOrganizer":5,"sponsor":68,"startTime":69,"endTime":70,"status":33,"dashboardVisibility":23,"createdAt":71,"updatedAt":72},"019af3f3-e06a-7245-aa8d-37dc99a69c73","winter2025","2025年冬季InfiniTensor大模型与人工智能系统训练营","https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fuploads\u002F2025-12\u002F019afc69-b7ca-7805-91fb-605429671c01.png?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=RF6et0tKpeNsR%2FwxsCjy7zBTZbU%3D","由启元实验室发起的InfiniTensor大模型与人工智能系统训练营，面向开源社区、高校及产业界伙伴开放。活动以「普及AI全栈知识技术、培养工程实践与创新型人才、推广国产软硬件技术生态」为核心目标，助力国家人工智能产业高质量发展。 \n","新华三技术有限公司","2025-12-25 08:00:00","2026-03-27 08:00:00","2025-12-06 08:00:00","2026-10-22 20:24:30",{"id":74,"slug":36,"title":75,"logo":76,"publicLiveEmbedUrl":7,"description":77,"introduction":57,"organizer":18,"coOrganizer":5,"sponsor":78,"startTime":79,"endTime":80,"status":81,"dashboardVisibility":23,"createdAt":82,"updatedAt":83},"01980342-208c-7803-b3f3-19e1d31960ba","2025年夏季InfiniTensor大模型与人工智能系统训练营","https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fuploads\u002F2025-07\u002F0198045e-28fe-78f0-95fe-23835ce58395.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=mArtxwAhCa0dE5Cm17SDDzrBtQ8%3D","InfiniTensor大模型与人工智能系统训练营由启元实验室及清华大学 AI 系统方向团队发起，面向开源社区、高校和产业界，普及人工智能各方面知识和技术，培养相关人才。训练营联合开源项目开发者、学术界大牛、工业界资深工程师参与授课与项目指导。课程采用「线上直播授课 + 在线答疑 + 项目实践辅导 」的方式进行，确保每位同学都能获得充分成长。训练营全程免费，通过视频、直播课、习题和项目实践，在人工智能飞速发展的背景下，为学员提供一窥深层技术的机会。","北京积算科技有限公司","2025-07-14 08:00:00","2025-09-30 08:00:00","upcoming","2025-07-13 08:00:00","2026-10-22 20:24:58",{"id":85,"slug":86,"title":87,"logo":88,"publicLiveEmbedUrl":7,"description":89,"introduction":57,"organizer":18,"coOrganizer":5,"sponsor":5,"startTime":90,"endTime":91,"status":81,"dashboardVisibility":23,"createdAt":92,"updatedAt":93},"01980cf9-a7d8-7796-ae86-0bbe05334add","winter2024","2024年冬季InfiniTensor大模型与人工智能系统训练营","https:\u002F\u002Ftesting-cdn.infinitensor.com\u002Fuploads\u002F2025-07\u002F01981269-ce23-7624-a287-9f07dd0d85f6.jpg","InfiniTensor大模型与人工智能系统训练营由清华大学发起，面向开源社区、高校和产业界，普及人工智能各方面知识和技术，培养相关人才。训练营全程免费，通过视频、直播课、习题和项目实践，在人工智能飞速发展的背景下，为学员提供一窥深层技术的机会。报名学员请阅读“导学”课程页的训练营介绍。","2025-01-05 08:00:00","2025-03-22 08:00:00","2025-07-15 08:00:00","2026-10-22 20:24:39",{"id":95,"slug":96,"title":97,"logo":98,"publicLiveEmbedUrl":7,"description":99,"introduction":57,"organizer":18,"coOrganizer":5,"sponsor":5,"startTime":100,"endTime":101,"status":81,"dashboardVisibility":23,"createdAt":92,"updatedAt":102},"01980c20-363a-7dc3-8f5a-58a68e08dcc4","summer2024","2024年夏季InfiniTensor大模型与人工智能系统训练营","https:\u002F\u002Ftesting-cdn.infinitensor.com\u002Fuploads\u002F2025-07\u002F01981269-fbfa-788a-afcd-17fa9be74ff9.jpg","InfiniTensor大模型与人工智能系统训练营由清华大学发起，面向开源社区和高校，普及人工智能各方面知识和技术，培养相关人才。训练营全程免费，通过课程、习题和项目实践，在人工智能飞速发展的背景下，为学员提供一窥深层技术的机会。","2024-07-20 08:00:00","2024-09-29 08:00:00","2026-10-22 20:24:49",[44],{"currentItem":105,"processedData":125},{"img":106,"keywords":107,"treeType":44,"description":108,"showStatus":44,"updateTime":109,"type":110,"title":111,"content":112,"nextArticle":113,"createTime":109,"sortOrder":117,"canonicalPath":118,"id":119,"contentType":120,"prevArticle":121},"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_fm.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=yoplO3dS0VyXzDY37uBlEtqrSNQ%3D","InfiniTensor,冬季训练营,九齿,初窥,Triton","围绕九齿一重初窥阶段内容，介绍 Triton 与九齿协同开发的入门能力与方法。","2026-10-22 20:38:11",2,"InfiniTensor 冬季训练营 Triton & 九齿第二课《九齿一重：初窥》","![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw01.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=iVAvdNY6Rrvb%2F8Se5u%2FTiRRq8%2BI%3D)\r\n\r\n\r\n2026 年 1 月 19 日，2025 冬季 InfiniTensor 大模型与人工智能系统训练营 Triton&九齿系列第二课《九齿一重：初窥》开讲。\r\n\r\n本节课将详细讲解九齿语言的基本概念与设计初衷，以及九齿在深度学习神经网络领域的应用。\r\n\r\n### 九齿概述\r\n\r\n#### 1. 九齿简介：\r\n- 九齿是启元内部开发的一门提供张量级抽象的领域特定语言。\r\n- 定位与 Triton 相似，用于编写深度学习神经网络领域的算子。\r\n- 使用 Triton 作为编译后端，旨在简化编程并避免重复造轮子。\r\n#### 2. 九齿与 Triton、CUDA 的对比\r\n- 九齿进一步抽象了并行编程细节，降低了并行编程门槛。\r\n- Triton 相对于 CUDA 做了大量抽象，但仍需理解并行编程基础。\r\n- CUDA 是底层语言，需要处理硬件细节和并行编程。\r\n\r\n### 九齿语言实践\r\n#### 1. 向量加法示例\r\n- 九齿与 Triton 对比\r\n\r\n下图中使用 **OpenAI Triton** 语言实现**向量加法（Vector Addition）**的代码示例，这通常被视为 GPU 编程领域的“Hello World”。\r\n与传统 CUDA C++ 开发模式不同，这段代码演示了如何利用 **Python 语法**配合 `@triton.jit` 装饰器来编写高性能内核：代码逻辑不再纠结于单个线程（Thread）的控制，而是**以块（Block）为单位**进行编程。它通过获取 `program_id` 来计算内存偏移量，利用 `mask` 掩码机制优雅地处理数组边界（防止内存越界），并使用 `tl.load` 和 `tl.store` 对数据块进行直接读写。这直观地体现了 Triton 的核心价值：**通过更高层级的抽象，将开发者从复杂的线程束管理和共享内存同步中解放出来，同时依然保持极高的执行效率。**\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw02.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=R7BV4bHjVfHWC46ANeSvQ%2FeWDxw%3D)\r\n\r\n下图展示了使用 **Ninetoothed（九齿）** 框架实现**向量加法**的代码示例，这代表了一种比 Triton 抽象层级更高、更偏向声明式的编程范式。代码的核心亮点在于将 **数据编排（Arrangement）** 与 **计算逻辑（Application）** 进行了彻底解耦：开发者只需在 `arrangement` 函数中通过 `.tile` 声明数据的分块策略，在 `application` 函数中描述纯粹的数学运算（`input + other`），而无需像在 Triton 中那样手动处理指针偏移或边界掩码（Mask）。这种设计思路旨在通过编译器自动推导最优的并行实现，让开发者能够专注于算法定义而非底层硬件的内存管理。\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw03.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=eiQwLdOX0uVmRKAIeDBNFmce76Q%3D)\r\n\r\n- 张量可视化\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw04.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=Egr0bN956gTXz8a9FytYzbA1dLw%3D)\r\n\r\n- 排布可视化\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw05.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=lFiQJ4VbPSh2VxOtI0cgFiOW394%3D)\r\n\r\n- 九齿实现\r\n\r\n下图展示了 **Ninetoothed（九齿）** 编程模型中算法逻辑与代码实现的直接映射关系。左侧列出了**向量加法**的算法步骤，其中红色方框圈出的部分描述了将向量A 、B 、C 划分为大小为 M 的数据块（Blocks）的逻辑；右侧代码中的红色方框则对应展示了如何在 `arrangement` 函数中通过 `.tile((BLOCK_SIZE,))` 方法来实现这一分块策略。这种左右对照直观地说明了 Ninetoothed 如何让开发者将数学上的“数据分块”思想直接转化为代码中的“Tiling”声明，从而清晰地实现了数据编排（Arrangement）与计算逻辑（Application）的分离。\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw06.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=s%2FcnvXcTZvpxEKUtv%2BSYreecH1A%3D)\r\n\r\n\r\n#### 2. 矩阵乘法示例\r\n- 算法描述：\r\n\r\n下图直观地展示了高性能计算中核心的**分块矩阵乘法（Tiled Matrix Multiplication）**逻辑。图中将巨大的矩阵 （）和 （）划分成了微小的 `BLOCK_SIZE` 数据块，演示了如何通过计算  的行块与  的列块的乘积来生成结果矩阵  中的一个子块（绿色深色部分）。这是 GPU 编程（如 Triton 或 CUDA）优化 GEMM 算子的基础图景，其核心目的是通过分块提高数据局部性与复用率，使得计算过程中频繁访问的数据能够尽可能驻留在高速存储层级（如寄存器、片上 SRAM 或共享内存）中，从而减少对全局内存的访问。\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw07.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=3MYaO2SMIS0Nc1qQaJo64ubW3WQ%3D)\r\n\r\n**分块矩阵乘法（Block Matrix Multiplication）**是高性能计算中优化 GEMM（通用矩阵乘法）的核心逻辑。图中详细描述了如何将大规模的输入矩阵 A 和 B 切分为较小的子块（Blocks），并通过三层循环结构（ i,j确定输出块位置，k 进行累加归约）来计算结果矩阵 C 的每一个子块。这种算法设计的核心目的在于提高**数据的局部性**，使得计算过程中频繁使用的数据块能够被放入容量有限但速度极快的高速缓存（如 GPU 的 Shared Memory）中，从而避免频繁访问慢速的全局内存，突破内存带宽瓶颈以显著提升运算效率。\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw08.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=kUmKF1zYYrbHnHBS8cBHUuTWQko%3D)\r\n\r\n- 九齿实现：\r\n\r\n **Ninetoothed（九齿）** 框架中实现矩阵乘法时至关重要的 **“数据排布”（Arrangement）** 代码通过定义 `BLOCK_SIZE_M`、`N`、`K` 来设定切块大小，并使用 `.tile()` 和 `.expand()` 操作符清晰地描述了数据在三维计算空间中的映射关系：它将输入矩阵（`input`）沿输出矩阵的列方向进行广播扩展，将权重矩阵（`other`）沿输出矩阵的行方向进行广播扩展。这种声明式的写法将复杂的**分块索引计算**与**数据广播逻辑**封装起来，替代了传统 CUDA 编程中繁琐的 `blockIdx` 和 `threadIdx` 映射计算，体现了该框架将“数据调度”与“数学计算”分离的核心设计理念。\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw09.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=MeSbDjws1IduufWzviL4jGhI3Qk%3D)\r\n\r\n **Ninetoothed（九齿）** 框架中实现矩阵乘法的最后一步：**“应用与整合”（Application and Integration）**。这里的 `application` 函数专注于描述纯粹的**数学计算逻辑**：它初始化一个累加器（Accumulator），通过循环遍历  维度（`range(input.shape[0])`）对分块后的输入矩阵和权重矩阵执行点积（`ntl.dot`）并累加，从而完成核心的矩阵乘法运算。图片底部展示了如何使用 `ninetoothed.make` 将定义好的数据排布（Arrangement）、计算逻辑（Application）以及张量形状描述整合在一起，生成最终的可执行 Kernel，这完美体现了该框架将“算法数学定义”与“底层数据调度”彻底解耦的设计哲学。\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw10.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=8G6d%2BkA3KiPItK8yqQ2DntwagQA%3D)\r\n\r\n- 张量可视化\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw11.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=%2BLAW5nVSGq4qFOLYWYycuj97g6Q%3D)\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw12.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=zUopb2ZudgqtU14hdtBZG8XWBw8%3D)\r\n\r\n- 排布可视化\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw13.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=J3sOQzadZChGsIYDLAZRntmjNVA%3D)\r\n\r\n\r\n###  二维卷积\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw14.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=9S3AuVNulCozXQRXTOCEa6%2FqHTw%3D)\r\n\r\n#### 1. im2col：\r\n使用 image to column 方法将卷积转换为矩阵乘。\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw15.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=qJta25sHhA%2By2OI1Z8%2FJT2Zc9DI%3D)\r\n\r\n- 优势：代码复用，减少编写量，提高开发效率。\r\n\r\n#### 2. implicit GEMM\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw16.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=Wv3u4PpZ0BJiEV%2FsbcGAG1rgVRA%3D)\r\n\r\n在 **Ninetoothed（九齿）** 框架中实现 **Implicit GEMM（隐式矩阵乘法）**，这是一种将卷积运算（Convolution）转化为矩阵乘法以利用高性能 GEMM 内核的经典优化技术。代码的核心在于自定义的 `arrangement` 函数：它通过一系列复杂的视图变换操作（如 `.tile`, `.squeeze`, `.flatten`, `.permute`），将高维的卷积输入（Input）和卷积核（Filter）在逻辑上“重塑”为矩阵乘法所需的二维形态。最精妙之处在于，最后一行 `kernel = ...` 直接复用了现有的矩阵乘法计算逻辑（`mm.application`），这生动地演示了该框架的强大之处——开发者只需定义数据的**“逻辑视图映射”**，就能直接利用现成的高性能计算单元，而无需手动编写复杂的 `im2col` 显存搬运代码。\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw17.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=hf5Qr7IrmMeG6OZXPq%2FWO7T8OZM%3D)\r\n\r\n#### 3. FlashAttention\r\n  **FlashAttention-2** 的核心算法思想是通过**分块（Tiling）**和**重计算（Recomputation）**来减少对高带宽内存（HBM）的访问次数。图中展示了如何将 K（键）和 V（值）矩阵切分为不同的块（如$K^{(1)}, K^{(2)}$ ），使得庞大的中间结果——注意力分数S 和注意力权重A（图中橙色虚线框部分）——能够仅在 GPU 的片上高速存储层级中临时计算和存在，而无需写回慢速的 **HBM**。右侧的公式则展示了**在线 Softmax（Online Softmax）** 的更新机制，即通过维护统计量  来动态调整和重缩放（Rescaling）部分输出结果 ，从而在单次循环中精确计算出最终的注意力输出，极大地缓解了内存带宽瓶颈。\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw18.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=OcY6NTMxUQHH1%2BXpXnoLdhMRSKA%3D)\r\n\r\n **FlashAttention-2** 前向传播（Forward Pass）的完整伪代码算法（Algorithm 1）从数学和逻辑层面揭示了其如何通过精细的显存管理来提升性能。算法的核心在于双层循环结构：外层循环遍历 Query 矩阵的分块（$mathbf{Q}_i$），将其加载到高速的片上内存（SRAM）中；内层循环则遍历 Key 和 Value 的分块（$mathbf{K}_j, mathbf{V}_j$），在 SRAM 内部直接计算注意力分数$mathbf{S}_i^{(j)}$ 并利用 **Online Softmax** 技术动态更新统计量（如最大值$m_i$ 和归一化因子 $ell_i$）以及输出结果$mathbf{O}_i$。这种设计确保了庞大的中间矩阵（如注意力图）从未离开过高速缓存，仅仅在最终计算完成后才将结果写入慢速的高带宽内存（HBM），从而大幅减少了 IO 访问瓶颈。\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw19.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=PFXpsMpDWk38q%2BCS3%2FsrHhxuWJA%3D)\r\n\r\n\r\n### 九齿相关信息\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw20.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=%2F5Thn1diIZh%2FeaOlJwtb4m6Bzig%3D)\r\n\r\n\r\n\r\n### 总结与展望\r\n本节课讲了九齿语言的基本概念、核心特点和代码结构，以及九齿的相关应用。后续课程将会讲解更多九齿在深度学习领域的潜在应用，继续探索九齿语言的高级特性和优化技巧。\r\n\r\n\r\n![2025冬季训练营课程表](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_01_zw6.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=nRtncQE8d9WeqAJkebtpCuy2cYI%3D)\r\n\r\n### 💡 学习贴士\r\n更多细节及完整课程内容，请观看直播或查看课程回放。\r\n\r\n链接：https:\u002F\u002Fwww.infinitensor.com\u002Fcamp\u002Fwinter2025\r\n\r\n### 📚 训练营报名持续进行中\r\n扫码报名与加入群聊，或点击 **「阅读原文」** 直达官网报名\r\n\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_01_zw7.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=cXo0Vj%2B8TkiETVdZDjCIcCGN6sw%3D)",{"publishTime":7,"createTime":109,"canonicalPath":114,"id":115,"title":116},"\u002Fstudy-material\u002Fstudy-23","study-23","# InfiniTensor 冬季训练营 CUDA 编程第三课《内存模型与规约优化》",85,"\u002Fstudy-material\u002Fstudy-24","study-24","markdown",{"publishTime":7,"createTime":109,"canonicalPath":122,"id":123,"title":124},"\u002Fstudy-material\u002Fstudy-25","study-25","InfiniTensor 冬季训练营 CPU 并行编程第三课《鲲鹏 CPU 矩阵加速与特性介绍》",{"htmlContent":126,"headings":127},"\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw01.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=iVAvdNY6Rrvb%2F8Se5u%2FTiRRq8%2BI%3D\" alt=\"\">\u003C\u002Fp>\n\u003Cp>2026 年 1 月 19 日，2025 冬季 InfiniTensor 大模型与人工智能系统训练营 Triton&amp;九齿系列第二课《九齿一重：初窥》开讲。\u003C\u002Fp>\n\u003Cp>本节课将详细讲解九齿语言的基本概念与设计初衷，以及九齿在深度学习神经网络领域的应用。\u003C\u002Fp>\n\u003Ch3 id=\"九齿概述\">\u003Ca class=\"anchor\" href=\"#九齿概述\" aria-label=\"跳转到标题：九齿概述\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>九齿概述\u003C\u002Fh3>\u003Ch4 id=\"1-九齿简介\">\u003Ca class=\"anchor\" href=\"#1-九齿简介\" aria-label=\"跳转到标题：1. 九齿简介：\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>1. 九齿简介：\u003C\u002Fh4>\u003Cul>\n\u003Cli>九齿是启元内部开发的一门提供张量级抽象的领域特定语言。\u003C\u002Fli>\n\u003Cli>定位与 Triton 相似，用于编写深度学习神经网络领域的算子。\u003C\u002Fli>\n\u003Cli>使用 Triton 作为编译后端，旨在简化编程并避免重复造轮子。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4 id=\"2-九齿与-triton-cuda-的对比\">\u003Ca class=\"anchor\" href=\"#2-九齿与-triton-cuda-的对比\" aria-label=\"跳转到标题：2. 九齿与 Triton、CUDA 的对比\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>2. 九齿与 Triton、CUDA 的对比\u003C\u002Fh4>\u003Cul>\n\u003Cli>九齿进一步抽象了并行编程细节，降低了并行编程门槛。\u003C\u002Fli>\n\u003Cli>Triton 相对于 CUDA 做了大量抽象，但仍需理解并行编程基础。\u003C\u002Fli>\n\u003Cli>CUDA 是底层语言，需要处理硬件细节和并行编程。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3 id=\"九齿语言实践\">\u003Ca class=\"anchor\" href=\"#九齿语言实践\" aria-label=\"跳转到标题：九齿语言实践\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>九齿语言实践\u003C\u002Fh3>\u003Ch4 id=\"1-向量加法示例\">\u003Ca class=\"anchor\" href=\"#1-向量加法示例\" aria-label=\"跳转到标题：1. 向量加法示例\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>1. 向量加法示例\u003C\u002Fh4>\u003Cul>\n\u003Cli>九齿与 Triton 对比\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>下图中使用 \u003Cstrong>OpenAI Triton\u003C\u002Fstrong> 语言实现\u003Cstrong>向量加法（Vector Addition）\u003Cstrong>的代码示例，这通常被视为 GPU 编程领域的“Hello World”。\u003Cbr>与传统 CUDA C++ 开发模式不同，这段代码演示了如何利用 \u003Cstrong>Python 语法\u003C\u002Fstrong>配合 \u003Ccode>@triton.jit\u003C\u002Fcode> 装饰器来编写高性能内核：代码逻辑不再纠结于单个线程（Thread）的控制，而是\u003C\u002Fstrong>以块（Block）为单位\u003C\u002Fstrong>进行编程。它通过获取 \u003Ccode>program_id\u003C\u002Fcode> 来计算内存偏移量，利用 \u003Ccode>mask\u003C\u002Fcode> 掩码机制优雅地处理数组边界（防止内存越界），并使用 \u003Ccode>tl.load\u003C\u002Fcode> 和 \u003Ccode>tl.store\u003C\u002Fcode> 对数据块进行直接读写。这直观地体现了 Triton 的核心价值：\u003Cstrong>通过更高层级的抽象，将开发者从复杂的线程束管理和共享内存同步中解放出来，同时依然保持极高的执行效率。\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw02.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=R7BV4bHjVfHWC46ANeSvQ%2FeWDxw%3D\" alt=\"\">\u003C\u002Fp>\n\u003Cp>下图展示了使用 \u003Cstrong>Ninetoothed（九齿）\u003C\u002Fstrong> 框架实现\u003Cstrong>向量加法\u003C\u002Fstrong>的代码示例，这代表了一种比 Triton 抽象层级更高、更偏向声明式的编程范式。代码的核心亮点在于将 \u003Cstrong>数据编排（Arrangement）\u003C\u002Fstrong> 与 \u003Cstrong>计算逻辑（Application）\u003C\u002Fstrong> 进行了彻底解耦：开发者只需在 \u003Ccode>arrangement\u003C\u002Fcode> 函数中通过 \u003Ccode>.tile\u003C\u002Fcode> 声明数据的分块策略，在 \u003Ccode>application\u003C\u002Fcode> 函数中描述纯粹的数学运算（\u003Ccode>input + other\u003C\u002Fcode>），而无需像在 Triton 中那样手动处理指针偏移或边界掩码（Mask）。这种设计思路旨在通过编译器自动推导最优的并行实现，让开发者能够专注于算法定义而非底层硬件的内存管理。\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw03.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=eiQwLdOX0uVmRKAIeDBNFmce76Q%3D\" alt=\"\">\u003C\u002Fp>\n\u003Cul>\n\u003Cli>张量可视化\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw04.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=Egr0bN956gTXz8a9FytYzbA1dLw%3D\" alt=\"\">\u003C\u002Fp>\n\u003Cul>\n\u003Cli>排布可视化\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw05.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=lFiQJ4VbPSh2VxOtI0cgFiOW394%3D\" alt=\"\">\u003C\u002Fp>\n\u003Cul>\n\u003Cli>九齿实现\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>下图展示了 \u003Cstrong>Ninetoothed（九齿）\u003C\u002Fstrong> 编程模型中算法逻辑与代码实现的直接映射关系。左侧列出了\u003Cstrong>向量加法\u003C\u002Fstrong>的算法步骤，其中红色方框圈出的部分描述了将向量A 、B 、C 划分为大小为 M 的数据块（Blocks）的逻辑；右侧代码中的红色方框则对应展示了如何在 \u003Ccode>arrangement\u003C\u002Fcode> 函数中通过 \u003Ccode>.tile((BLOCK_SIZE,))\u003C\u002Fcode> 方法来实现这一分块策略。这种左右对照直观地说明了 Ninetoothed 如何让开发者将数学上的“数据分块”思想直接转化为代码中的“Tiling”声明，从而清晰地实现了数据编排（Arrangement）与计算逻辑（Application）的分离。\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw06.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=s%2FcnvXcTZvpxEKUtv%2BSYreecH1A%3D\" alt=\"\">\u003C\u002Fp>\n\u003Ch4 id=\"2-矩阵乘法示例\">\u003Ca class=\"anchor\" href=\"#2-矩阵乘法示例\" aria-label=\"跳转到标题：2. 矩阵乘法示例\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>2. 矩阵乘法示例\u003C\u002Fh4>\u003Cul>\n\u003Cli>算法描述：\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>下图直观地展示了高性能计算中核心的**分块矩阵乘法（Tiled Matrix Multiplication）**逻辑。图中将巨大的矩阵 （）和 （）划分成了微小的 \u003Ccode>BLOCK_SIZE\u003C\u002Fcode> 数据块，演示了如何通过计算  的行块与  的列块的乘积来生成结果矩阵  中的一个子块（绿色深色部分）。这是 GPU 编程（如 Triton 或 CUDA）优化 GEMM 算子的基础图景，其核心目的是通过分块提高数据局部性与复用率，使得计算过程中频繁访问的数据能够尽可能驻留在高速存储层级（如寄存器、片上 SRAM 或共享内存）中，从而减少对全局内存的访问。\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw07.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=3MYaO2SMIS0Nc1qQaJo64ubW3WQ%3D\" alt=\"\">\u003C\u002Fp>\n\u003Cp>\u003Cstrong>分块矩阵乘法（Block Matrix Multiplication）\u003Cstrong>是高性能计算中优化 GEMM（通用矩阵乘法）的核心逻辑。图中详细描述了如何将大规模的输入矩阵 A 和 B 切分为较小的子块（Blocks），并通过三层循环结构（ i,j确定输出块位置，k 进行累加归约）来计算结果矩阵 C 的每一个子块。这种算法设计的核心目的在于提高\u003C\u002Fstrong>数据的局部性\u003C\u002Fstrong>，使得计算过程中频繁使用的数据块能够被放入容量有限但速度极快的高速缓存（如 GPU 的 Shared Memory）中，从而避免频繁访问慢速的全局内存，突破内存带宽瓶颈以显著提升运算效率。\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw08.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=kUmKF1zYYrbHnHBS8cBHUuTWQko%3D\" alt=\"\">\u003C\u002Fp>\n\u003Cul>\n\u003Cli>九齿实现：\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp> \u003Cstrong>Ninetoothed（九齿）\u003C\u002Fstrong> 框架中实现矩阵乘法时至关重要的 \u003Cstrong>“数据排布”（Arrangement）\u003C\u002Fstrong> 代码通过定义 \u003Ccode>BLOCK_SIZE_M\u003C\u002Fcode>、\u003Ccode>N\u003C\u002Fcode>、\u003Ccode>K\u003C\u002Fcode> 来设定切块大小，并使用 \u003Ccode>.tile()\u003C\u002Fcode> 和 \u003Ccode>.expand()\u003C\u002Fcode> 操作符清晰地描述了数据在三维计算空间中的映射关系：它将输入矩阵（\u003Ccode>input\u003C\u002Fcode>）沿输出矩阵的列方向进行广播扩展，将权重矩阵（\u003Ccode>other\u003C\u002Fcode>）沿输出矩阵的行方向进行广播扩展。这种声明式的写法将复杂的\u003Cstrong>分块索引计算\u003C\u002Fstrong>与\u003Cstrong>数据广播逻辑\u003C\u002Fstrong>封装起来，替代了传统 CUDA 编程中繁琐的 \u003Ccode>blockIdx\u003C\u002Fcode> 和 \u003Ccode>threadIdx\u003C\u002Fcode> 映射计算，体现了该框架将“数据调度”与“数学计算”分离的核心设计理念。\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw09.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=MeSbDjws1IduufWzviL4jGhI3Qk%3D\" alt=\"\">\u003C\u002Fp>\n\u003Cp> \u003Cstrong>Ninetoothed（九齿）\u003C\u002Fstrong> 框架中实现矩阵乘法的最后一步：\u003Cstrong>“应用与整合”（Application and Integration）\u003C\u002Fstrong>。这里的 \u003Ccode>application\u003C\u002Fcode> 函数专注于描述纯粹的\u003Cstrong>数学计算逻辑\u003C\u002Fstrong>：它初始化一个累加器（Accumulator），通过循环遍历  维度（\u003Ccode>range(input.shape[0])\u003C\u002Fcode>）对分块后的输入矩阵和权重矩阵执行点积（\u003Ccode>ntl.dot\u003C\u002Fcode>）并累加，从而完成核心的矩阵乘法运算。图片底部展示了如何使用 \u003Ccode>ninetoothed.make\u003C\u002Fcode> 将定义好的数据排布（Arrangement）、计算逻辑（Application）以及张量形状描述整合在一起，生成最终的可执行 Kernel，这完美体现了该框架将“算法数学定义”与“底层数据调度”彻底解耦的设计哲学。\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw10.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=8G6d%2BkA3KiPItK8yqQ2DntwagQA%3D\" alt=\"\">\u003C\u002Fp>\n\u003Cul>\n\u003Cli>张量可视化\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw11.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=%2BLAW5nVSGq4qFOLYWYycuj97g6Q%3D\" alt=\"\">\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw12.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=zUopb2ZudgqtU14hdtBZG8XWBw8%3D\" alt=\"\">\u003C\u002Fp>\n\u003Cul>\n\u003Cli>排布可视化\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw13.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=J3sOQzadZChGsIYDLAZRntmjNVA%3D\" alt=\"\">\u003C\u002Fp>\n\u003Ch3 id=\"二维卷积\">\u003Ca class=\"anchor\" href=\"#二维卷积\" aria-label=\"跳转到标题：二维卷积\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>二维卷积\u003C\u002Fh3>\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw14.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=9S3AuVNulCozXQRXTOCEa6%2FqHTw%3D\" alt=\"\">\u003C\u002Fp>\n\u003Ch4 id=\"1-im2col\">\u003Ca class=\"anchor\" href=\"#1-im2col\" aria-label=\"跳转到标题：1. im2col：\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>1. im2col：\u003C\u002Fh4>\u003Cp>使用 image to column 方法将卷积转换为矩阵乘。\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw15.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=qJta25sHhA%2By2OI1Z8%2FJT2Zc9DI%3D\" alt=\"\">\u003C\u002Fp>\n\u003Cul>\n\u003Cli>优势：代码复用，减少编写量，提高开发效率。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4 id=\"2-implicit-gemm\">\u003Ca class=\"anchor\" href=\"#2-implicit-gemm\" aria-label=\"跳转到标题：2. implicit GEMM\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>2. implicit GEMM\u003C\u002Fh4>\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw16.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=Wv3u4PpZ0BJiEV%2FsbcGAG1rgVRA%3D\" alt=\"\">\u003C\u002Fp>\n\u003Cp>在 \u003Cstrong>Ninetoothed（九齿）\u003C\u002Fstrong> 框架中实现 \u003Cstrong>Implicit GEMM（隐式矩阵乘法）\u003C\u002Fstrong>，这是一种将卷积运算（Convolution）转化为矩阵乘法以利用高性能 GEMM 内核的经典优化技术。代码的核心在于自定义的 \u003Ccode>arrangement\u003C\u002Fcode> 函数：它通过一系列复杂的视图变换操作（如 \u003Ccode>.tile\u003C\u002Fcode>, \u003Ccode>.squeeze\u003C\u002Fcode>, \u003Ccode>.flatten\u003C\u002Fcode>, \u003Ccode>.permute\u003C\u002Fcode>），将高维的卷积输入（Input）和卷积核（Filter）在逻辑上“重塑”为矩阵乘法所需的二维形态。最精妙之处在于，最后一行 \u003Ccode>kernel = ...\u003C\u002Fcode> 直接复用了现有的矩阵乘法计算逻辑（\u003Ccode>mm.application\u003C\u002Fcode>），这生动地演示了该框架的强大之处——开发者只需定义数据的**“逻辑视图映射”**，就能直接利用现成的高性能计算单元，而无需手动编写复杂的 \u003Ccode>im2col\u003C\u002Fcode> 显存搬运代码。\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw17.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=hf5Qr7IrmMeG6OZXPq%2FWO7T8OZM%3D\" alt=\"\">\u003C\u002Fp>\n\u003Ch4 id=\"3-flashattention\">\u003Ca class=\"anchor\" href=\"#3-flashattention\" aria-label=\"跳转到标题：3. FlashAttention\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>3. FlashAttention\u003C\u002Fh4>\u003Cp>  \u003Cstrong>FlashAttention-2\u003C\u002Fstrong> 的核心算法思想是通过\u003Cstrong>分块（Tiling）\u003Cstrong>和\u003C\u002Fstrong>重计算（Recomputation）\u003Cstrong>来减少对高带宽内存（HBM）的访问次数。图中展示了如何将 K（键）和 V（值）矩阵切分为不同的块（如$K^{(1)}, K^{(2)}$ ），使得庞大的中间结果——注意力分数S 和注意力权重A（图中橙色虚线框部分）——能够仅在 GPU 的片上高速存储层级中临时计算和存在，而无需写回慢速的 \u003Cstrong>HBM\u003C\u002Fstrong>。右侧的公式则展示了\u003C\u002Fstrong>在线 Softmax（Online Softmax）\u003C\u002Fstrong> 的更新机制，即通过维护统计量  来动态调整和重缩放（Rescaling）部分输出结果 ，从而在单次循环中精确计算出最终的注意力输出，极大地缓解了内存带宽瓶颈。\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw18.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=OcY6NTMxUQHH1%2BXpXnoLdhMRSKA%3D\" alt=\"\">\u003C\u002Fp>\n\u003Cp> \u003Cstrong>FlashAttention-2\u003C\u002Fstrong> 前向传播（Forward Pass）的完整伪代码算法（Algorithm 1）从数学和逻辑层面揭示了其如何通过精细的显存管理来提升性能。算法的核心在于双层循环结构：外层循环遍历 Query 矩阵的分块（$mathbf{Q}_i$），将其加载到高速的片上内存（SRAM）中；内层循环则遍历 Key 和 Value 的分块（$mathbf{K}_j, mathbf{V}_j$），在 SRAM 内部直接计算注意力分数$mathbf{S}_i^{(j)}$ 并利用 \u003Cstrong>Online Softmax\u003C\u002Fstrong> 技术动态更新统计量（如最大值$m_i$ 和归一化因子 $ell_i$）以及输出结果$mathbf{O}_i$。这种设计确保了庞大的中间矩阵（如注意力图）从未离开过高速缓存，仅仅在最终计算完成后才将结果写入慢速的高带宽内存（HBM），从而大幅减少了 IO 访问瓶颈。\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw19.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=PFXpsMpDWk38q%2BCS3%2FsrHhxuWJA%3D\" alt=\"\">\u003C\u002Fp>\n\u003Ch3 id=\"九齿相关信息\">\u003Ca class=\"anchor\" href=\"#九齿相关信息\" aria-label=\"跳转到标题：九齿相关信息\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>九齿相关信息\u003C\u002Fh3>\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_24_zw20.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=%2F5Thn1diIZh%2FeaOlJwtb4m6Bzig%3D\" alt=\"\">\u003C\u002Fp>\n\u003Ch3 id=\"总结与展望\">\u003Ca class=\"anchor\" href=\"#总结与展望\" aria-label=\"跳转到标题：总结与展望\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>总结与展望\u003C\u002Fh3>\u003Cp>本节课讲了九齿语言的基本概念、核心特点和代码结构，以及九齿的相关应用。后续课程将会讲解更多九齿在深度学习领域的潜在应用，继续探索九齿语言的高级特性和优化技巧。\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_01_zw6.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=nRtncQE8d9WeqAJkebtpCuy2cYI%3D\" alt=\"2025冬季训练营课程表\">\u003C\u002Fp>\n\u003Ch3 id=\"学习贴士\">\u003Ca class=\"anchor\" href=\"#学习贴士\" aria-label=\"跳转到标题：💡 学习贴士\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>💡 学习贴士\u003C\u002Fh3>\u003Cp>更多细节及完整课程内容，请观看直播或查看课程回放。\u003C\u002Fp>\n\u003Cp>链接：\u003Ca href=\"https:\u002F\u002Fwww.infinitensor.com\u002Fcamp\u002Fwinter2025\">https:\u002F\u002Fwww.infinitensor.com\u002Fcamp\u002Fwinter2025\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3 id=\"训练营报名持续进行中\">\u003Ca class=\"anchor\" href=\"#训练营报名持续进行中\" aria-label=\"跳转到标题：📚 训练营报名持续进行中\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>📚 训练营报名持续进行中\u003C\u002Fh3>\u003Cp>扫码报名与加入群聊，或点击 \u003Cstrong>「阅读原文」\u003C\u002Fstrong> 直达官网报名\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_01_zw7.jpg?Expires=1792752820&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=cXo0Vj%2B8TkiETVdZDjCIcCGN6sw%3D\" alt=\"\">\u003C\u002Fp>\n",[128,130,134,137,139,142,145,147,150,153,156,158,160,163],{"id":129,"text":129,"level":9},"九齿概述",{"id":131,"text":132,"level":133},"1-九齿简介","1. 九齿简介：",4,{"id":135,"text":136,"level":133},"2-九齿与-triton-cuda-的对比","2. 九齿与 Triton、CUDA 的对比",{"id":138,"text":138,"level":9},"九齿语言实践",{"id":140,"text":141,"level":133},"1-向量加法示例","1. 向量加法示例",{"id":143,"text":144,"level":133},"2-矩阵乘法示例","2. 矩阵乘法示例",{"id":146,"text":146,"level":9},"二维卷积",{"id":148,"text":149,"level":133},"1-im2col","1. im2col：",{"id":151,"text":152,"level":133},"2-implicit-gemm","2. implicit GEMM",{"id":154,"text":155,"level":133},"3-flashattention","3. FlashAttention",{"id":157,"text":157,"level":9},"九齿相关信息",{"id":159,"text":159,"level":9},"总结与展望",{"id":161,"text":162,"level":9},"学习贴士","💡 学习贴士",{"id":164,"text":165,"level":9},"训练营报名持续进行中","📚 训练营报名持续进行中"]