CATLASS 项目文档
1 Practice
代码实践,指导开发者按步骤上手CATLASS各层级代码开发和使用,逐渐具备完整算子开发、测试、调优、模型使用的能力。
- 01_quick_start:介绍模板库的环境准备,和提供的算子样例的编译执行。
- 02_host_example_assembly:host侧组装matmul讲解
- 03_kernel_development:kernel代码拆解,展示模板组装、arguments、params及关键函数等代码
- 04_block_mmad_development:block_mmad代码拆解,主要接口说明
- 05_block_scheduler_development:block_schedule代码拆解,主要接口说明
- 06_tile_development:tile_copy/tile_mmad组件代码拆解,主要接口说明
- 07_epilogue_adaptation:gemm的host/kernel层适配epilogue,及epilogue的block/tile开发
- 08_evaluation:调测工具使用
- 09_contribution_guide:完整样例的设计、开发、测试、合入流程
- 10_matmul_optimization:介绍模板库下的基础调优方式,包括如何通过Tiling调参、应用不同的Dispatch策略的方式,快速获得性能提升。
- 11_example_integration:样例适配、接入到整网的方式
- evaluation_tools
- others(folder):存放内部和外部贡献的难以归类的实践文档
- tla_rebuild:TLA样例改造
2 Design
- 00_project_overview:项目介绍、分层模块化设计、代码仓结构设计
- 01_kernel_design:算法设计
- 01_example_design:库上样例设计文档一览(将各样例文档放到样例文件夹内,此处只做归纳、牵引)
- 02_swizzle:对模板库中
Swizzle策略的基本介绍,这影响了AI Core上计算基本块间的顺序。 - 03_dispatch_policies:对模板库在
Block层面上BlockMmad中的一个重要模板参数DispatchPolicy的介绍。 - 04_matmul_summary:对模板库的
examples目录内已有的matmul模板设计进行介绍,包含样例模板清单、理论模板清单、工程优化清单、模板应用浅述,可用于matmul性能调优时参考。 - 05_quant_summary:低精度专题
- 02_tla:
- 03_evg
3 API
- README:API清单入口
- gemm api:Gemm API
- Ascend C API:昇腾社区Ascend C API列表
Appendix
外部开源文章、视频
- 常见问题 Q&A
- 技术文章
- 基础入门
- C++ template使用
- 概念理解
- 问题定位
- 性能优化
- 优秀实践
- 基础入门
- 培训视频
- Ascend C算子开发
- 昇腾训练营 CATLASS相关特辑