| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
style: ruff 配置行宽 120 并关闭 magic trailing comma Co-authored-by: zhangyujia77<zhangyujia37@huawei.com> # message auto-generated for no-merge-commit merge: !6286 merge style/ruff-line-length-120 into master style: ruff 配置行宽 120 并关闭 magic trailing comma Created-by: zhangyujia77 Commit-by: zhangyujia77 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ruff.toml 新增两项配置并据此重排全仓 Python 代码: line-length = 120 行宽从默认 88 放宽到 120 [format] skip-magic-trailing-comma = true 忽略末尾逗号的强制展开语义 ### 为什么改 line-length ruff 的 line-length 此前**从未在仓库任何地方配置过** —— ruff.toml 只设了target-version,全仓搜 line-length 零命中,pre-commit 的 ruff hook 也没传参。 所以生效值 88 是 ruff 内置默认(沿用 Black 的约定),**不是评估过的技术决策**: $ ruff check --show-settings Settings path: ".../asc-devkit/ruff.toml" linter.line_length = 88 120 有三层依据: 1. **本仓 C++ 侧已定 120** —— .clang-format: ColumnLimit: 120。同一仓库 C++ 120、Python 88 本身不一致。 2. **CANN 生态其余 Python 仓统一为 120** —— pyasc、pypto、pto-isa、ops-test-kit、vllm-ascend(ruff),torch_npu、pytorch(flake8)。asc-devkit 是其中唯一没配的。 3. **本仓 Python 历史上事实遵守 120** —— ruff-format 落地前,非空行 P99.5 = 119,99.82% 的行 ≤ 120;超 120 的 38 行基本是嵌在 Python 里的 C++ 模板与宏定义。 88 列会把多参数调用强制拆成逐参数一行,一条语句常常变 3-5 行: python # 前(1 行) raise RuntimeError("Length of ASCENDC_TPL_UINT_{} {} is too short.".format(self.macro_type, self.name)) # 后(5 行) raise RuntimeError( "Length of ASCENDC_TPL_UINT_{} {} is too short.".format( self.macro_type, self.name ) ) ### 为什么关 magic trailing comma 末尾逗号会让 ruff-format 强制保持展开,即使该行放得下。统计范围内现存 886 处此类逗号,**绝大多数是 88 列时期 ruff 自己折行时补上的,并非作者意图** ——换到 120 列后这些调用本可收拢,却因那个自动留下的逗号继续保持展开。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [x] 🧹 chore: 代码格式修改 See merge request: cann/asc-devkit!6286 | 16 小时前 | |
style: ruff 配置行宽 120 并关闭 magic trailing comma Co-authored-by: zhangyujia77<zhangyujia37@huawei.com> # message auto-generated for no-merge-commit merge: !6286 merge style/ruff-line-length-120 into master style: ruff 配置行宽 120 并关闭 magic trailing comma Created-by: zhangyujia77 Commit-by: zhangyujia77 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ruff.toml 新增两项配置并据此重排全仓 Python 代码: line-length = 120 行宽从默认 88 放宽到 120 [format] skip-magic-trailing-comma = true 忽略末尾逗号的强制展开语义 ### 为什么改 line-length ruff 的 line-length 此前**从未在仓库任何地方配置过** —— ruff.toml 只设了target-version,全仓搜 line-length 零命中,pre-commit 的 ruff hook 也没传参。 所以生效值 88 是 ruff 内置默认(沿用 Black 的约定),**不是评估过的技术决策**: $ ruff check --show-settings Settings path: ".../asc-devkit/ruff.toml" linter.line_length = 88 120 有三层依据: 1. **本仓 C++ 侧已定 120** —— .clang-format: ColumnLimit: 120。同一仓库 C++ 120、Python 88 本身不一致。 2. **CANN 生态其余 Python 仓统一为 120** —— pyasc、pypto、pto-isa、ops-test-kit、vllm-ascend(ruff),torch_npu、pytorch(flake8)。asc-devkit 是其中唯一没配的。 3. **本仓 Python 历史上事实遵守 120** —— ruff-format 落地前,非空行 P99.5 = 119,99.82% 的行 ≤ 120;超 120 的 38 行基本是嵌在 Python 里的 C++ 模板与宏定义。 88 列会把多参数调用强制拆成逐参数一行,一条语句常常变 3-5 行: python # 前(1 行) raise RuntimeError("Length of ASCENDC_TPL_UINT_{} {} is too short.".format(self.macro_type, self.name)) # 后(5 行) raise RuntimeError( "Length of ASCENDC_TPL_UINT_{} {} is too short.".format( self.macro_type, self.name ) ) ### 为什么关 magic trailing comma 末尾逗号会让 ruff-format 强制保持展开,即使该行放得下。统计范围内现存 886 处此类逗号,**绝大多数是 88 列时期 ruff 自己折行时补上的,并非作者意图** ——换到 120 列后这些调用本可收拢,却因那个自动留下的逗号继续保持展开。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [x] 🧹 chore: 代码格式修改 See merge request: cann/asc-devkit!6286 | 16 小时前 | |
修复issue 1409和issue 1472 Co-authored-by: cgcaof<caochenguang1@h-partners.com> # message auto-generated for no-merge-commit merge: !5100 merge master into master 修复issue 1409和issue 1472 Created-by: cgcaof Commit-by: cgcaof Merged-by: cann-robot Description: ## 描述 修复issue 1409,文档链接指向错误 修复issue 1472,链接名称错误 ## 关联的Issue https://gitcode.com/cann/asc-devkit/issues/1409 https://gitcode.com/cann/asc-devkit/issues/1472 ## 测试 不涉及 ## 文档更新 docs/zh/guide/算子实践参考/SIMD算子实现/融合算子编程/CV融合/算子实现.md ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5100 | 1 个月前 | |
[aclrtc] fix example cann version mistake Co-authored-by: ChenZhoujie<chenzhoujie@huawei.com> # message auto-generated for no-merge-commit merge: !5462 merge master into master [aclrtc] fix example cann version mistake Created-by: ChenZhoujie Commit-by: ChenZhoujie Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> aclrtc样例中引入了aclrtLaunchKernelWithArgsArray接口启动内核,但该API在CANN 9.0.0的头文件中不存在,会导致在CANN 9.0.0的环境下编译失败。 修改描述,需要9.1.0以上的版本 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> [#1455](https://gitcode.com/cann/asc-devkit/issues/1455) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> examples/01_simd_cpp_api/02_features/05_aclrtc ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5462 | 23 天前 | |
fix(examples): correct build settings and fp16 validation Co-authored-by: zhangyujia77<zhangyujia37@huawei.com> # message auto-generated for no-merge-commit merge: !4349 merge fix-examples into master fix(examples): correct build settings and fp16 validation Created-by: zhangyujia77 Commit-by: zhangyujia77 Merged-by: cann-robot Description: ## 描述 修复examples目录中的构建配置和FP16结果校验问题: 1. 删除8个样例中重复添加的 --npu-arch=${CMAKE_ASC_ARCHITECTURES},统一由ASC CMake模块注入,避免编译命令重复传参。 2. 精简ge_torchair和triple_chevron_notation的链接依赖。 3. 将aclnn_invocation的FP16结果校验从精确比特比较改为容差比较。 ## 关联的Issue 无。 ## 测试 - 对以下8个受影响样例分别执行CMake配置和完整构建,全部通过:ge_torchair、pybind、torch_library、triple_chevron_notation、vector_tiling_strategy、00_basic_compile、03_static_library_compile、matmul_aot_compilation。 ## 文档更新 无。 ## 类型标签 - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!4349 | 2 个月前 | |
docs: clarify simplified key sample configuration Co-authored-by: m0_56712298<wukeran@huawei.com> # message auto-generated for no-merge-commit merge: !5899 merge docs/simplified-key-config-guidance into master docs: clarify simplified key sample configuration Created-by: m0_56712298 Commit-by: m0_56712298 Merged-by: cann-robot Description: ## 描述 补充simplified key资料中的完整样例链接,并明确输入Binary JSON配置与构建输出config目录的职责边界。通用说明统一使用ascendxxx或<soc>,避免将具体SoC写死。 ## 关联的Issue 无。 ## 测试 - [x] 执行git diff --check upstream/master...HEAD。 - [x] 核对样例输入配置文件、CMake引用路径及构建输出目录生成逻辑。 ## 文档更新 - [x] 更新simplified key二进制配置JSON文档。 - [x] 更新GenSimplifiedKey回调和运行时流程文档中的样例链接。 - [x] 更新自定义simplified key样例的中英文README,说明配置目录准备方式。 ## 类型标签 - [ ] 🐛 fix: Bug修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5899 | 7 天前 | |
add feature introduce doc for AOT Co-authored-by: wangkai<wangkai86@huawei.com> # message auto-generated for no-merge-commit merge: !4088 merge master into master add feature introduce doc for AOT Created-by: kevin365 Commit-by: wangkai Merged-by: cann-robot Description: ## 描述 样例的文档增加AOT样例的目录和链接 ## 关联的Issue NA ## 测试 NA ## 文档更新 更新examples/01_simd_cpp_api/02_features目录 ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [X] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!4088 | 2 个月前 | |
add feature introduce doc for AOT Co-authored-by: wangkai<wangkai86@huawei.com> # message auto-generated for no-merge-commit merge: !4088 merge master into master add feature introduce doc for AOT Created-by: kevin365 Commit-by: wangkai Merged-by: cann-robot Description: ## 描述 样例的文档增加AOT样例的目录和链接 ## 关联的Issue NA ## 测试 NA ## 文档更新 更新examples/01_simd_cpp_api/02_features目录 ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [X] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!4088 | 2 个月前 |
Features样例介绍
概述
介绍 Ascend C SIMD 特性样例,覆盖编译工程、算子调用、框架接入等场景,用于展示不同特性的典型实现方式和编译运行流程。
样例列表
| 目录名称 | 功能描述 |
|---|---|
| 00_framework | 本样例介绍了PyTorch、TensorFlow、ONNX、GE和ACLGraph场景的自定义算子实现方法 |
| 02_tiling_selector | 展示SIMD矢量计算场景下多核Tiling切分策略和Tiling参数选择方式。 |
| 04_compile | 展示SIMD编译相关的特性样例。 |
| 05_aclrtc | 样例主要介绍使用Aclrtc(运行时编译)接口在Host侧编译字符串形式的Ascend C核函数,并完成编译结果的加载和执行的过程 |
| 06_aot_compilation | 样例主要介绍基于AOT(Ahead-of-Time)编译的性能优化方法 |
| 99_acl_based | 本样例介绍了自定义算子编译工程和Aclnn/Aclop算子调用的实现方法 |