| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
文档低错整改 Co-authored-by: sunhao_hw<sunhao203@huawei.com> # message auto-generated for no-merge-commit merge: !859 merge debug into master 文档低错整改 Created-by: sunhao_hw Commit-by: sunhao_hw Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 使用doc tools工具排查文档存在 - 代码块未指定语言 - 代码块前后换行 - 本地路径链接无法访问 - 列表前后换行 - 加粗符号空格 - 标签匹配失败 - 有序列表编号错误 等问题 基于大模型扫描修复文字描述中出现的低级错误 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!859 | 1 个月前 | |
style: format all markdown files with prettier Co-authored-by: Yuan Tao<yuantao313@outlook.com> # message auto-generated for no-merge-commit merge: !766 merge format/md-docs into master style: format all markdown files with prettier Created-by: yuantao_ Commit-by: Yuan Tao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 用prettier格式化所有md文件,以解决在某些编辑器下的显示问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!766 | 2 个月前 | |
fix: clip EVG tanh 输入防止 exp 溢出 NaN & EVG clean code & computeLength计算规范与文档更新 Co-authored-by: sinceseto<wangyuanfei6@huawei.com> # message auto-generated for no-merge-commit merge: !765 merge evg_tanh_nan_fix into master fix: clip EVG tanh 输入防止 exp 溢出 NaN & EVG clean code & computeLength计算规范与文档更新 Created-by: sinceseto Commit-by: sinceseto Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复 Ascend950 EVG 样例 matmul_evg_tanh 在大规模矩阵乘场景下输出大量 NaN 的问题。 问题现象:64_ascend950_matmul_evg_tanh 输出部分NaN,但 CompareData 仍显示 Compare success(NaN 比较被静默放过)。 根因:EVG 用手动公式 tanh(x) = (e^2x - 1) / (e^2x + 1) 实现 Tanh,未对输入做 clip。矩阵乘累加结果 |C| 较大时,exp(2C) 在 float32 下溢出为 inf,导致 inf/inf 产生 NaN;而 CPU golden 使用 std::tanh(),大输入会饱和到 ±1,不会产生 NaN。 改动方法: 在 operations.hpp 新增 Mins、Maxs fusion 算子(封装 AscendC::Mins / AscendC::Maxs)。 在 matmul_evg_tanh 的 TopologicalVisitor 中,于 Exp 前增加 clip:Mins(8.8) + Maxs(-8.8),将输入限制在 [-8.8, 8.8],避免 exp(2x) 浮点溢出,同时与标准 Tanh 饱和区行为一致。 同步更新 computeLength:节点数由 6 增至 8(/8/2/),并修正注释(原注释误写为 2)。 同步更新 optest 内核 matmul_evg_tanh_impl.cpp。 clean code & computeLength计算规范与文档更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 100组随机泛化case,无nan出现  optest测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!765 | 2 个月前 | |
Add mkdocs configuration and reorganized docs for web page Co-authored-by: yuantao<taoyuan18@huawei.com> Co-authored-by: gitcode-bot<noreply@gitcode.com> # message auto-generated for no-merge-commit merge: !1006 merge mkdocs into master Add mkdocs configuration and reorganized docs for web page Created-by: yuantao_ Commit-by: yuantao;gitcode-bot Merged-by: cann-robot Description: ## 描述 增加mkdocs配置文件并进行资源整理,适配文档编译框架 同时修正一些错误,补充学习资料#373 #371 #354 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!1006 | 1 个月前 |
CATLASS API 列表
CATLASS提供分层的Gemm API接口,从低到高(Basic/Tile/Block/Kernel/Device)组装模板实现算子。开发者可以根据特定需求复用低层次组件、开发高层次组件,实现定制化算子开发。
| 组件分类 | 描述 |
|---|---|
| gemm/kernel | 设备侧调用的入口,对应了所有Block在NPU上执行逻辑的集合 |
| gemm/block | 是矩阵乘(Block层级)累加(MMAD)主循环的主要接口 |
| gemm/tile | 使用基础API构建Gemm涉及的NPU微内核 |
| epilogue/block | Gemm的尾处理组件,也可用于Gemm之外的其他计算 |
| epilogue/fusion | EVG 的图组织器与基础节点组件 |
| epilogue/tile | 使用基础API构建尾处理涉及的NPU微内核 |
| conv/tile | 使用基础API构建Conv涉及的NPU微内核 |
| gemv/tile | 使用基础API构建Gemv涉及的NPU微内核 |
| TLA | 抽象数据存储细节,提供通用的访问多维数组算法 |