[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"site-home-live-entry-setting":3,"site-header-contests":8,"site-header-camps":49,"study-material-detail-study-21":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=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=DdQTMKVo1nful94EsDeKYRm5DII%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=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=HWdVGs1NgNzaJvqpNa66tZqqOTo%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=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=5IITjeecr8z%2B54QsS2SaoytOVRM%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_21_fm.jpg?Expires=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=3kkmFeDinn7PPW7IDV4WSlyeAkc%3D","InfiniTensor,冬季训练营,CPU性能优化,向量化,并行加速","聚焦 CPU 性能加速实战，讲解热点分析、向量化优化与并行执行调优技巧。","2026-10-22 20:38:11",2,"InfiniTensor 冬季训练营 CPU 并行编程第二课《CPU 性能加速实战》","![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_21_zw01.jpg?Expires=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=KzrIx45AHYC1CMEozKWjtYPf9qY%3D)\r\n\r\n\r\n2026 年 1 月 16 日，2025 冬季 InfiniTensor 大模型与人工智能系统训练营 CPU 并行编程系列第二课《CPU 性能加速实战》开讲。\r\n\r\n本节课介绍 CPU 性能加速的实战经验，重点讲解矩阵运算的并行优化方法。\r\n\r\n### 测试框架说明\r\n#### 1. 框架用途\r\n针对大模型推理中的矩阵运算（如 GEMM）设计，支持并行化开发与性能测试。\r\n#### 2. 框架获取\r\n- GitHub 与 Gitee 地址（推荐Gitee以避免访问不稳定）\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_21_zw02.jpg?Expires=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=Km%2BQx%2FMKTSLa7oNv71znIgaeUyI%3D)\r\n\r\n#### 3. 环境配置\r\n- Windows 系统推荐使用 WSL（Ubuntu子系统）进行开发。\r\n- 配置步骤：微软商店安装 Ubuntu → 一键安装 → 虚拟环境开发。\r\n#### 4. 框架使用方法\r\n- 代码拉取：通过 git clone 下载仓库代码。\r\n- 构建工具：使用 xmake 进行编译，生成二进制文件。\r\n- 运行程序：\r\n  - 编译：xmake\r\n  - 运行：xmake run（自动执行可执行文件）\r\n\r\n### 框架目录结构与矩阵运算实现\r\n#### 1. 目录结构\r\n重点关注 kernels 文件夹：存放矩阵运算实现代码。\r\n#### 2. 示例代码分析\r\n- Naive GEMM：基础矩阵乘法实现，包含内存重排优化。\r\n- 性能验证：\r\n  - 默认矩阵大小：M=N=K=512。\r\n  - 输出指标：每次运算时间、GFLOPS（每秒十亿次浮点运算）。\r\n  - 性能对比：通过重排优化显著提升性能。\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_21_zw03.jpg?Expires=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=Zx1UXBZ5KoJxD7Q6%2BbDQEzofcqk%3D)\r\n\r\n#### 3. 实战操作\r\n- 新建文件：在 kernels 文件夹中实现自定义矩阵运算代码。\r\n- 性能测试：通过框架自动运行并输出性能指标。\r\n\r\n### BLAS 接口标准与矩阵运算参数\r\n#### 1. BLAS 接口概述\r\n- 目的：统一矩阵运算库的接口规范，支持复杂参数（如矩阵存储方式、转置等）。\r\n#### 2. 关键参数\r\n\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_21_zw04.jpg?Expires=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=PUsAMbjvt2h7nfRKa5bVo44ezIc%3D)\r\n\r\n- Leading Dimension：\r\n  - 定义：矩阵中相邻行或列之间的元素间隔（内存连续存储的跨度）。\r\n  - 作用：支持子矩阵运算，避免内存拷贝开销。\r\n#### 3. 转置与 Leading Dimension 结合\r\n- 转置效果：通过转置参数改变内存读取方式（行变列或列变行）。\r\n- 示例：若矩阵 B 为列主序且转置，则按行读取内存。\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_21_zw05.jpg?Expires=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=qsdisEr2IZq3f4IT%2B0KdSlmdcCk%3D)\r\n\r\n\r\n### 循环重排与性能优化\r\n#### 1. 循环重排原理\r\n- 内存连续访问：通过调整循环顺序提升缓存命中率。\r\n- 示例：Naive GEMM 中的内存重排优化。\r\n#### 2. 性能对比\r\n- 重排前：性能较低（如 Intel 处理器基准性能低）。\r\n- 重排后：性能显著提升（GFLOPS 增加）。\r\n\r\n### 多线程并行化实现\r\n#### 1. 多线程概念\r\n- 任务分块：将矩阵运算任务分配给多个线程并行执行。\r\n#### 2. 代码实现\r\n- 线程创建：使用 C++ `\u003Cthread>`库动态创建线程。\r\n- 硬件并发数：通过`std::thread::hardware_concurrency()`获取可用于并行的线程数参考值。\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_21_zw06.jpg?Expires=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=2q9%2B2QxA0a%2BVBi9tV7HYYVFzTJo%3D)\r\n\r\n- 任务划分：\r\n  - 按行分块：每个线程计算矩阵 C 的若干行。\r\n  - 数据结构：定义`gemtask`结构体保存任务范围（begin、end）。\r\n- 线程管理：使用`std::vector`存储线程对象，通过`emplace_back`创建并启动线程。\r\n#### 3. 性能验证\r\n- 多线程 GEMM：实现多线程矩阵乘法，性能提升显著（如 4 倍于 Naive 实现）。\r\n- 性能波动：受系统调度影响，结果存在动态范围。\r\n\r\n### OpenMP 并行化实现\r\n#### 1. OpenMP 简介\r\n- 作用：通过编译器指令自动实现循环并行化。\r\n#### 2. 代码实现\r\n- 在循环前添加`#pragma omp parallel for`指令。\r\n- 环境配置：编译时添加`-fopenmp`或`\u002Fopenmp`。\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_21_zw07.jpg?Expires=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=NtlrN%2FkeciD3z1Z8claIRX3qpOg%3D)\r\n\r\n### SIMD 指令集加速\r\n#### 1. 寄存器优化\r\n- 利用 CPU 寄存器并行处理多个数据（如 AVX 指令集处理 8 个 F32 数据）。\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_21_zw08.jpg?Expires=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=qfFHTwIIHO2c9QsKUGZsbVA6N3I%3D)\r\n\r\n#### 2. 代码实现\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_21_zw09.jpg?Expires=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=cKpJLl5Rk36VMPlHwSQYE6SvUhc%3D)\r\n\r\n\r\n![](https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_21_zw10.jpg?Expires=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=aOV2rDeXlEcZ5iF0DMZdXhbRz5M%3D)\r\n\r\n\r\n#### 3. 性能验证\r\n- SIMD GEMM：性能提升显著，但受任务划分与对齐影响可能不稳定。\r\n\r\n### Intel MKL 库最优实现\r\n#### 1. MKL库简介\r\n- 作用：Intel 提供的优化数学库，包含高性能矩阵运算实现。\r\n#### 2. 代码实现\r\n- 函数调用：使用`cblas_sgemm`函数实现矩阵乘法。\r\n- 参数配置：指定行主序、转置、缩放系数等。\r\n\r\n\r\n#### 3. 性能对比\r\n- MKL GEMM：性能远超手动实现，具体 GFLOPS 取决于硬件与配置。\r\n\r\n### 总结\r\n本节课讲解了多线程、OpenMP、SIMD、MKL库等内容，未来课程可讲解 INT8 量化加速。\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=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=Jvvk9S3asMdwJQP5eMwtAGsqW0k%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=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=1334rp2zSvHyyt9iQC%2Fldsg3FyI%3D)",{"publishTime":7,"createTime":109,"canonicalPath":114,"id":115,"title":116},"\u002Fstudy-material\u002Fstudy-20","study-20","InfiniTensor 冬季训练营 OpenCL 编程第一课《OpenCL 概述与运行时》",88,"\u002Fstudy-material\u002Fstudy-21","study-21","markdown",{"publishTime":7,"createTime":109,"canonicalPath":122,"id":123,"title":124},"\u002Fstudy-material\u002Fstudy-22","study-22","InfiniTensor 冬季训练营通信与并行第二课《大模型并行策略与通信优化》",{"htmlContent":126,"headings":127},"\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_21_zw01.jpg?Expires=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=KzrIx45AHYC1CMEozKWjtYPf9qY%3D\" alt=\"\">\u003C\u002Fp>\n\u003Cp>2026 年 1 月 16 日，2025 冬季 InfiniTensor 大模型与人工智能系统训练营 CPU 并行编程系列第二课《CPU 性能加速实战》开讲。\u003C\u002Fp>\n\u003Cp>本节课介绍 CPU 性能加速的实战经验，重点讲解矩阵运算的并行优化方法。\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>\u003Cp>针对大模型推理中的矩阵运算（如 GEMM）设计，支持并行化开发与性能测试。\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>GitHub 与 Gitee 地址（推荐Gitee以避免访问不稳定）\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_21_zw02.jpg?Expires=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=Km%2BQx%2FMKTSLa7oNv71znIgaeUyI%3D\" alt=\"\">\u003C\u002Fp>\n\u003Ch4 id=\"3-环境配置\">\u003Ca class=\"anchor\" href=\"#3-环境配置\" aria-label=\"跳转到标题：3. 环境配置\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>3. 环境配置\u003C\u002Fh4>\u003Cul>\n\u003Cli>Windows 系统推荐使用 WSL（Ubuntu子系统）进行开发。\u003C\u002Fli>\n\u003Cli>配置步骤：微软商店安装 Ubuntu → 一键安装 → 虚拟环境开发。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4 id=\"4-框架使用方法\">\u003Ca class=\"anchor\" href=\"#4-框架使用方法\" aria-label=\"跳转到标题：4. 框架使用方法\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>4. 框架使用方法\u003C\u002Fh4>\u003Cul>\n\u003Cli>代码拉取：通过 git clone 下载仓库代码。\u003C\u002Fli>\n\u003Cli>构建工具：使用 xmake 进行编译，生成二进制文件。\u003C\u002Fli>\n\u003Cli>运行程序：\u003Cul>\n\u003Cli>编译：xmake\u003C\u002Fli>\n\u003Cli>运行：xmake run（自动执行可执行文件）\u003C\u002Fli>\n\u003C\u002Ful>\n\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>\u003Cp>重点关注 kernels 文件夹：存放矩阵运算实现代码。\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>Naive GEMM：基础矩阵乘法实现，包含内存重排优化。\u003C\u002Fli>\n\u003Cli>性能验证：\u003Cul>\n\u003Cli>默认矩阵大小：M=N=K=512。\u003C\u002Fli>\n\u003Cli>输出指标：每次运算时间、GFLOPS（每秒十亿次浮点运算）。\u003C\u002Fli>\n\u003Cli>性能对比：通过重排优化显著提升性能。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_21_zw03.jpg?Expires=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=Zx1UXBZ5KoJxD7Q6%2BbDQEzofcqk%3D\" alt=\"\">\u003C\u002Fp>\n\u003Ch4 id=\"3-实战操作\">\u003Ca class=\"anchor\" href=\"#3-实战操作\" aria-label=\"跳转到标题：3. 实战操作\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>3. 实战操作\u003C\u002Fh4>\u003Cul>\n\u003Cli>新建文件：在 kernels 文件夹中实现自定义矩阵运算代码。\u003C\u002Fli>\n\u003Cli>性能测试：通过框架自动运行并输出性能指标。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3 id=\"blas-接口标准与矩阵运算参数\">\u003Ca class=\"anchor\" href=\"#blas-接口标准与矩阵运算参数\" aria-label=\"跳转到标题：BLAS 接口标准与矩阵运算参数\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>BLAS 接口标准与矩阵运算参数\u003C\u002Fh3>\u003Ch4 id=\"1-blas-接口概述\">\u003Ca class=\"anchor\" href=\"#1-blas-接口概述\" aria-label=\"跳转到标题：1. BLAS 接口概述\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>1. BLAS 接口概述\u003C\u002Fh4>\u003Cul>\n\u003Cli>目的：统一矩阵运算库的接口规范，支持复杂参数（如矩阵存储方式、转置等）。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4 id=\"2-关键参数\">\u003Ca class=\"anchor\" href=\"#2-关键参数\" aria-label=\"跳转到标题：2. 关键参数\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>2. 关键参数\u003C\u002Fh4>\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_21_zw04.jpg?Expires=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=PUsAMbjvt2h7nfRKa5bVo44ezIc%3D\" alt=\"\">\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Leading Dimension：\u003Cul>\n\u003Cli>定义：矩阵中相邻行或列之间的元素间隔（内存连续存储的跨度）。\u003C\u002Fli>\n\u003Cli>作用：支持子矩阵运算，避免内存拷贝开销。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4 id=\"3-转置与-leading-dimension-结合\">\u003Ca class=\"anchor\" href=\"#3-转置与-leading-dimension-结合\" aria-label=\"跳转到标题：3. 转置与 Leading Dimension 结合\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>3. 转置与 Leading Dimension 结合\u003C\u002Fh4>\u003Cul>\n\u003Cli>转置效果：通过转置参数改变内存读取方式（行变列或列变行）。\u003C\u002Fli>\n\u003Cli>示例：若矩阵 B 为列主序且转置，则按行读取内存。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_21_zw05.jpg?Expires=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=qsdisEr2IZq3f4IT%2B0KdSlmdcCk%3D\" alt=\"\">\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>示例：Naive GEMM 中的内存重排优化。\u003C\u002Fli>\n\u003C\u002Ful>\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>重排前：性能较低（如 Intel 处理器基准性能低）。\u003C\u002Fli>\n\u003Cli>重排后：性能显著提升（GFLOPS 增加）。\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>任务分块：将矩阵运算任务分配给多个线程并行执行。\u003C\u002Fli>\n\u003C\u002Ful>\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>线程创建：使用 C++ \u003Ccode>&lt;thread&gt;\u003C\u002Fcode>库动态创建线程。\u003C\u002Fli>\n\u003Cli>硬件并发数：通过\u003Ccode>std::thread::hardware_concurrency()\u003C\u002Fcode>获取可用于并行的线程数参考值。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_21_zw06.jpg?Expires=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=2q9%2B2QxA0a%2BVBi9tV7HYYVFzTJo%3D\" alt=\"\">\u003C\u002Fp>\n\u003Cul>\n\u003Cli>任务划分：\u003Cul>\n\u003Cli>按行分块：每个线程计算矩阵 C 的若干行。\u003C\u002Fli>\n\u003Cli>数据结构：定义\u003Ccode>gemtask\u003C\u002Fcode>结构体保存任务范围（begin、end）。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>线程管理：使用\u003Ccode>std::vector\u003C\u002Fcode>存储线程对象，通过\u003Ccode>emplace_back\u003C\u002Fcode>创建并启动线程。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4 id=\"3-性能验证\">\u003Ca class=\"anchor\" href=\"#3-性能验证\" aria-label=\"跳转到标题：3. 性能验证\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>3. 性能验证\u003C\u002Fh4>\u003Cul>\n\u003Cli>多线程 GEMM：实现多线程矩阵乘法，性能提升显著（如 4 倍于 Naive 实现）。\u003C\u002Fli>\n\u003Cli>性能波动：受系统调度影响，结果存在动态范围。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3 id=\"openmp-并行化实现\">\u003Ca class=\"anchor\" href=\"#openmp-并行化实现\" aria-label=\"跳转到标题：OpenMP 并行化实现\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>OpenMP 并行化实现\u003C\u002Fh3>\u003Ch4 id=\"1-openmp-简介\">\u003Ca class=\"anchor\" href=\"#1-openmp-简介\" aria-label=\"跳转到标题：1. OpenMP 简介\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>1. OpenMP 简介\u003C\u002Fh4>\u003Cul>\n\u003Cli>作用：通过编译器指令自动实现循环并行化。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4 id=\"2-代码实现-1\">\u003Ca class=\"anchor\" href=\"#2-代码实现-1\" aria-label=\"跳转到标题：2. 代码实现\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>2. 代码实现\u003C\u002Fh4>\u003Cul>\n\u003Cli>在循环前添加\u003Ccode>#pragma omp parallel for\u003C\u002Fcode>指令。\u003C\u002Fli>\n\u003Cli>环境配置：编译时添加\u003Ccode>-fopenmp\u003C\u002Fcode>或\u003Ccode>\u002Fopenmp\u003C\u002Fcode>。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_21_zw07.jpg?Expires=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=NtlrN%2FkeciD3z1Z8claIRX3qpOg%3D\" alt=\"\">\u003C\u002Fp>\n\u003Ch3 id=\"simd-指令集加速\">\u003Ca class=\"anchor\" href=\"#simd-指令集加速\" aria-label=\"跳转到标题：SIMD 指令集加速\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>SIMD 指令集加速\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>利用 CPU 寄存器并行处理多个数据（如 AVX 指令集处理 8 个 F32 数据）。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_21_zw08.jpg?Expires=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=qfFHTwIIHO2c9QsKUGZsbVA6N3I%3D\" alt=\"\">\u003C\u002Fp>\n\u003Ch4 id=\"2-代码实现-2\">\u003Ca class=\"anchor\" href=\"#2-代码实现-2\" aria-label=\"跳转到标题：2. 代码实现\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>2. 代码实现\u003C\u002Fh4>\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_21_zw09.jpg?Expires=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=cKpJLl5Rk36VMPlHwSQYE6SvUhc%3D\" alt=\"\">\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_21_zw10.jpg?Expires=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=aOV2rDeXlEcZ5iF0DMZdXhbRz5M%3D\" alt=\"\">\u003C\u002Fp>\n\u003Ch4 id=\"3-性能验证-1\">\u003Ca class=\"anchor\" href=\"#3-性能验证-1\" aria-label=\"跳转到标题：3. 性能验证\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>3. 性能验证\u003C\u002Fh4>\u003Cul>\n\u003Cli>SIMD GEMM：性能提升显著，但受任务划分与对齐影响可能不稳定。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3 id=\"intel-mkl-库最优实现\">\u003Ca class=\"anchor\" href=\"#intel-mkl-库最优实现\" aria-label=\"跳转到标题：Intel MKL 库最优实现\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>Intel MKL 库最优实现\u003C\u002Fh3>\u003Ch4 id=\"1-mkl库简介\">\u003Ca class=\"anchor\" href=\"#1-mkl库简介\" aria-label=\"跳转到标题：1. MKL库简介\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>1. MKL库简介\u003C\u002Fh4>\u003Cul>\n\u003Cli>作用：Intel 提供的优化数学库，包含高性能矩阵运算实现。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4 id=\"2-代码实现-3\">\u003Ca class=\"anchor\" href=\"#2-代码实现-3\" aria-label=\"跳转到标题：2. 代码实现\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>2. 代码实现\u003C\u002Fh4>\u003Cul>\n\u003Cli>函数调用：使用\u003Ccode>cblas_sgemm\u003C\u002Fcode>函数实现矩阵乘法。\u003C\u002Fli>\n\u003Cli>参数配置：指定行主序、转置、缩放系数等。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4 id=\"3-性能对比\">\u003Ca class=\"anchor\" href=\"#3-性能对比\" aria-label=\"跳转到标题：3. 性能对比\">\u003Cspan class=\"octicon octicon-link\">\u003C\u002Fspan>\u003C\u002Fa>3. 性能对比\u003C\u002Fh4>\u003Cul>\n\u003Cli>MKL GEMM：性能远超手动实现，具体 GFLOPS 取决于硬件与配置。\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>\u003Cp>本节课讲解了多线程、OpenMP、SIMD、MKL库等内容，未来课程可讲解 INT8 量化加速。\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.infinitensor.com\u002Fprod\u002Fimages\u002FKnowledge_Base\u002FKB_01_zw6.jpg?Expires=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=Jvvk9S3asMdwJQP5eMwtAGsqW0k%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=1792752825&OSSAccessKeyId=LTAI5t9R6uzvTa69CT92cFvV&Signature=1334rp2zSvHyyt9iQC%2Fldsg3FyI%3D\" alt=\"\">\u003C\u002Fp>\n",[128,130,134,137,140,143,145,148,151,154,157,160,163,166,168,171,174,176,179,182,185,188,191,193,196,199,201,203,206,209,211,214,216,219],{"id":129,"text":129,"level":9},"测试框架说明",{"id":131,"text":132,"level":133},"1-框架用途","1. 框架用途",4,{"id":135,"text":136,"level":133},"2-框架获取","2. 框架获取",{"id":138,"text":139,"level":133},"3-环境配置","3. 环境配置",{"id":141,"text":142,"level":133},"4-框架使用方法","4. 框架使用方法",{"id":144,"text":144,"level":9},"框架目录结构与矩阵运算实现",{"id":146,"text":147,"level":133},"1-目录结构","1. 目录结构",{"id":149,"text":150,"level":133},"2-示例代码分析","2. 示例代码分析",{"id":152,"text":153,"level":133},"3-实战操作","3. 实战操作",{"id":155,"text":156,"level":9},"blas-接口标准与矩阵运算参数","BLAS 接口标准与矩阵运算参数",{"id":158,"text":159,"level":133},"1-blas-接口概述","1. BLAS 接口概述",{"id":161,"text":162,"level":133},"2-关键参数","2. 关键参数",{"id":164,"text":165,"level":133},"3-转置与-leading-dimension-结合","3. 转置与 Leading Dimension 结合",{"id":167,"text":167,"level":9},"循环重排与性能优化",{"id":169,"text":170,"level":133},"1-循环重排原理","1. 循环重排原理",{"id":172,"text":173,"level":133},"2-性能对比","2. 性能对比",{"id":175,"text":175,"level":9},"多线程并行化实现",{"id":177,"text":178,"level":133},"1-多线程概念","1. 多线程概念",{"id":180,"text":181,"level":133},"2-代码实现","2. 代码实现",{"id":183,"text":184,"level":133},"3-性能验证","3. 性能验证",{"id":186,"text":187,"level":9},"openmp-并行化实现","OpenMP 并行化实现",{"id":189,"text":190,"level":133},"1-openmp-简介","1. OpenMP 简介",{"id":192,"text":181,"level":133},"2-代码实现-1",{"id":194,"text":195,"level":9},"simd-指令集加速","SIMD 指令集加速",{"id":197,"text":198,"level":133},"1-寄存器优化","1. 寄存器优化",{"id":200,"text":181,"level":133},"2-代码实现-2",{"id":202,"text":184,"level":133},"3-性能验证-1",{"id":204,"text":205,"level":9},"intel-mkl-库最优实现","Intel MKL 库最优实现",{"id":207,"text":208,"level":133},"1-mkl库简介","1. MKL库简介",{"id":210,"text":181,"level":133},"2-代码实现-3",{"id":212,"text":213,"level":133},"3-性能对比","3. 性能对比",{"id":215,"text":215,"level":9},"总结",{"id":217,"text":218,"level":9},"学习贴士","💡 学习贴士",{"id":220,"text":221,"level":9},"训练营报名持续进行中","📚 训练营报名持续进行中"]