文件最后提交记录最后更新时间
1 个月前
1 个月前
22 天前
1 个月前
1 个月前
1 个月前
README

CATLASS 项目文档

1 开发实践

代码实践,指导开发者按步骤上手CATLASS各层级代码开发和使用,逐渐具备完整算子开发、测试、调优、模型使用的能力。

开发流程

  • 01快速开始:介绍模板库的环境准备,以及算子样例的编译和执行
  • 02Host 侧 Matmul 组装:讲解如何在 Host 侧组装 Matmul
  • 03Kernel 开发:拆解 Kernel 代码,介绍模板组装机制、Arguments、Params 和关键函数
  • 04Block Mmad 开发:拆解 Block Mmad 代码,介绍模板组装机制和主要接口
  • 05Block Scheduler 开发:拆解 Block Scheduler 代码,介绍模板组装机制和主要接口
  • 06Tile 开发:拆解 Tile Copy 和 Tile Mmad 代码,介绍模板组装机制和主要接口
  • 07Epilogue 适配:介绍 GEMM 算子在 Host、Kernel 层的 Epilogue 适配,以及 Epilogue 的 Block、Tile 开发
  • 08调测与分析:介绍调测工具使用、精度问题定位和性能瓶颈分析
  • 09样例贡献指南:介绍完整样例的设计、开发、测试和合入流程
  • 10创新样例开发指南:介绍创新样例的完整开发流程
  • 11Matmul 优化指南:介绍如何通过 Tiling 调参、应用不同的 Dispatch 策略快速获得性能提升
  • 12 样例集成:介绍样例适配及接入整网的方式(待贡献)

调测与分析

专题实践

这里存放内部和外部贡献的专题实践文档。

2 模块设计

项目概览

介绍项目定位、分层模块化设计和代码仓结构。

Kernel 设计

基础知识

核心设计

  • 01样例设计:汇总和索引仓库中的样例设计文档
  • 02Swizzle 策略:介绍影响 AI Core 计算基本块执行顺序的 Swizzle 策略
  • 03Dispatch 策略:介绍 Block Mmad 的重要模板参数 DispatchPolicy
  • 04矩阵乘模板总结:汇总 Matmul 样例模板、理论模板、工程优化和应用方式
  • 05自适应滑窗 Tiling:介绍自适应滑窗 Tiling 策略
  • 06 低精度专题(待贡献)

TLA 设计

  • 01Layout:介绍 TLA 的 Layout 结构和相关接口
  • 02LayoutTag:介绍 RowMajor、ColumnMajor、zN、nZ 等旧版布局标签和接口
  • 03Tensor:介绍 Tensor 结构

EVG 设计

  • 01EVG 设计概览:介绍 EVG 的定位、分层关系、执行模型和图组织方式
  • 02EVG 扩展规范:说明何时增加 ComputeFn、何时增加节点及其实现约束
  • 03EVG 快速开始:以 Matmul + Add 为例介绍 EVG 的基础接入流程

3 API 文档

CATLASS API

  • API 清单:CATLASS API 文档入口
  • GEMM API:介绍通用矩阵乘法接口
  • EVG API:介绍 EVG 的接入方式、参数顺序和常用节点

相关 API

4 附录

技术文章

基础入门

进阶主题

概念理解、问题定位、性能优化和优秀实践等内容待补充。

培训视频

昇腾社区在线课程

CATLASS 专题课程