| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
将 81_ascend950_rain_fusion_attention 迁移至 experimental Co-authored-by: sunhao_hw<sunhao203@huawei.com> # message auto-generated for no-merge-commit merge: !1239 merge feat/move-rfa-to-experimental into master 将 81_ascend950_rain_fusion_attention 迁移至 experimental Created-by: sunhao_hw Commit-by: sunhao_hw Merged-by: cann-robot Description: ## 描述 将 examples/81_ascend950_rain_fusion_attention 按 experimental 迁移规范移至 experimental/attention/ascend950_rain_fusion_attention: - 去掉数字前缀,归入 attention 分类 - 使用 git mv 保留历史;optest 测试件只改位置、保留原文件名 test_81_ascend950_rain_fusion_attention.py - 从 examples/CMakeLists.txt 的 EXAMPLE_ASCEND950 与 tests/test_example.py 中移除该样例 - README 增加 experimental 说明,超链接按 3 层目录重写;编译/gen_data 仍按拷回 examples/ascend950_rain_fusion_attention/ 后的运行路径编写 - .cpp 数据路径保留 examples/ 前缀,仅更新样例名 ## 关联的Issue 关联Issue #546(Close #546) https://gitcode.com/cann/catlass/issues/546 ## 原因 该样例暂未经过完整测试,先移至 experimental 供开发者参考,待补全测试后再正式放回 examples。 ## 测试 样例目录迁移,不涉及 host/kernel 逻辑变更,无需算子泛化与精度/内存自验。已人工核对: - README 第 3 行为 experimental 说明,文档超链接为 ../../../ - 执行命令与数据路径使用 examples/ascend950_rain_fusion_attention/,未写成 experimental - examples/CMakeLists.txt、tests/test_example.py 已无 81_ascend950_rain_fusion_attention ## 文档更新 - experimental/attention/ascend950_rain_fusion_attention/README.md ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [x] 其他,请描述:样例迁移 experimental See merge request: cann/catlass!1239 | 6 天前 | |
在 experimental 中新增 Ascend950 FP4/FP8 量化矩阵乘 Co-authored-by: Chen_HaoWen<chenhaowen12@huawei.com> # message auto-generated for no-merge-commit merge: !791 merge master_migrate into master 在 experimental 中新增 Ascend950 FP4/FP8 量化矩阵乘 Created-by: Chen_HaoWen Commit-by: Chen_HaoWen Merged-by: cann-robot Description: ## 描述 接入 Ascend950 FP4 MX 量化矩阵乘和 FP8 E4M3 量化矩阵乘,提供公共模板、torch_catlass 接口及 optest。修复输入 storage offset、MX B scale 布局,以及 FP8 单行和末尾单行 tile 的同步问题;补充异常参数检查和失败返回码。 两个样例分别放在 experimental/matmul/ascend950_fp4_mx_quant_matmul/ 和 experimental/matmul/ascend950_fp8_e4m3_quant_matmul/,样例目录及构建目标不带编号。使用前按 README 拷回 examples/ 并注册 CMake 目标;optest 测试件随样例移动,保留 test_85/test_86 文件名及现有 torch/JIT 接口。PR 保持一个 commit。 ## 关联的Issue Closes #283 对应 [Issue #283](https://gitcode.com/cann/catlass/issues/283)。 ## 原因 完成两个 Ascend950 量化矩阵乘算子的接入,解决接口、数据布局和单行同步问题,并补齐模型场景及边界泛化验证。样例归入 experimental 分类目录,由用户按说明选择编译运行。 ## 测试 测试脚本已通过 [catlass-test-scripts PR #83](https://gitcode.com/catlass/catlass-test-scripts/merge_requests/83) 合入;[后续 PR #89](https://gitcode.com/catlass/catlass-test-scripts/merge_requests/89) 仅修正 4 处源码路径说明。每个 ATK 目录仍为 YAML、generator、execute 和 node.yaml 四件套。 环境:A5 / Ascend950、CANN 9.1.0、ATK 26.9.8、torch 2.10.0、torch_npu 2.10.0;本轮被测源码 2e05d8bb0e1dcebb970df0320b38a4290289e75f。 - 构建与功能(2026-09-11 新执行):在独立 worktree 按 README 将样例拷回 examples,两个新目标构建、安装和运行通过;从 experimental 中执行 226 项功能/精度及输入检查,另 1 项单行专用回归通过,均无跳过;4 项缺失数据/空 shape 的失败返回码检查通过。 - 精度检测(2026-09-11 新执行):为本提交重新构建并安装 torch_catlass wheel,FP4 MX **200/200**、FP8 E4M3 **200/200**,使用 ATK 26.9.8 原生 mixed_tolerance_bm: {},无自定义阈值。每个算子 100 个不同形状×均匀/正态两种分布,固定种子;M≤4097、K≤2048、N≤4096,覆盖单行、tile 尾块、分组边界及模型场景。生成结果与固定快照逐字节一致,逐例核对正式报告及 CPU/NPU 保存输出。 - 特殊值检测:既有 FP4 **14/14**、FP8 **12/12** 通过,覆盖空 Tensor、空 K、格式可表示的 NaN、正负最大有限值及零缩放。FP4 E2M1 不表示 Inf/NaN,E4M3FN 不表示 Inf。 - 内存检测:既有各 **20** 个不同形状通过,直接包含原 JIT C++ 模板编译,经独立 ACL 驱动运行 mssanitizer,捕获目标内核访存记录且无异常;40 例原生输入与 ATK 保存输入字节一致、插桩输出逐位一致。范围覆盖 C++ 内核及 host launch;本环境 Python JIT 插桩返回停顿保留为历史环境限制。 - 确定性检测:既有各 20 个内存场景,每例 **3 次**输出逐位一致。 - 本轮迁移仅涉及目录、构建目标、样例数据路径及说明;公共数值实现不变,测试件和数据生成逻辑不变。特殊值、内存及确定性结论沿用迁移前 ba2d303a 的实测证据,本轮未重复这些专项检测。 - 性能检测:本次没有性能优化目标,未做专项性能对比。 - 流水线:当前提交 2e05d8bb 的 **PR-pipeline_catlass #3418** 全部启用任务通过,覆盖编译构建、静态检查、ARM/IR/lit 单测;平台标签 ci-pipeline-passed。 完整测试证据及专项工具保存在本地,ATK 仓未新增 stress、reports 或专项 tools。 ## 文档更新 更新两个 experimental 样例的 README:第三行增加拷回 examples 的说明,修正目录树、编译/数据生成/执行命令及相对链接,补充迁移后 optest 测试入口;同步 torch 接口的源码位置说明。 ## 类型标签 - [x] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!791 | 1 天前 |