| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
FFT算子新增 Co-authored-by: Tian_1122<tianjunhan@h-partners.com> # message auto-generated for no-merge-commit merge: !27 merge master into master FFT算子新增 Created-by: Tian_1122 Commit-by: Tian_1122 Merged-by: cann-robot Description: ## 变更描述 / Description <!-- 本 PR 做了什么,为什么需要 / What does this PR do and why --> 新增 4 个 FFT 算子实现,并重构公共 kernel 层。 **新增算子** - fft1_d arch32 mix:C2C 混合基数(910B) - fft1_d arch35 mix:C2C Stockham 混合基数(950) - irfft1_d arch32 c2r_fft:C2R FFT(910B) - rfft1_d arch32 r2c_fft:R2C FFT(910B) **其他改动** - 公共 kernel 重构:base 头文件移入 kernel/base/,新增共享层 fft_all_common / fft_c2c_common / fft_c2r_common / fft_r2c_common - 命名空间、宏命名修正,移除冗余注释 - 修复 irfft1_d.h 缺失的 aclfftIrfft1DDft 声明 - rfft1_d arch35 R2C 选核:FFT 优先、FastDFT 兜底 - aclfftMakePlan1d 头文件参数名 stride → dimType,补全 @param 注释 - 文档更新:FFT_1D.md 约束说明、目录结构、开发指南、测试指南 - 许可证名称修正 ## 改动类型 / Change Type - [ ] Bug 修复 / Bug Fix - [x] 新功能 / New Feature - [ ] 性能优化 / Performance - [x] 代码重构 / Refactoring - [x] 文档更新 / Documentation - [ ] 测试相关 / Test - [ ] 其它 / Other ## 关联 Issue / Related Issues <!-- Closes #000 可自动关闭 / Closes #000 to auto-close --> [#2](https://gitcode.com/cann/ops-fft/issues/2) [#13](https://gitcode.com/cann/ops-fft/issues/13) ## 测试信息 / Testing <!-- 简要测试说明或关键结果 / Brief test description or key results --> - [ ] 单元测试通过 / UT passed - [ ] 集成测试通过 / ST passed - [ ] 人工验证通过 / Manual verified ## 检查清单 / Checklist - [ ] 代码符合规范 / Code follows style guide - [ ] 测试添加并通过 / Tests added and passed - [x] 文档已更新 / Docs updated if needed - [ ] 无硬编码敏感信息 / No secrets hardcoded - [ ] 提交信息符合规范 / Commit message follows convention See merge request: cann/ops-fft!27 | 1 个月前 | |
fix: 修复 Plan 尺寸计算、类型校验、构建脚本环境变量与线程数校验问题 Co-authored-by: 2301_82146483<2556943601@qq.com> # message auto-generated for no-merge-commit merge: !36 merge fix/issues-44-47 into master fix: 修复 Plan 尺寸计算、类型校验、构建脚本环境变量与线程数校验问题 Created-by: 2301_82146483 Commit-by: 2301_82146483 Merged-by: cann-robot Description: ## 背景 ops-fft 仓库存在 4 个已提交的缺陷反馈 Issue,涉及 Plan 尺寸元数据、枚举类型校验、构建脚本环境变量与线程数参数校验。本 PR 一并修复。 ## 目的 - Fixes #44:实数 FFT Plan 尺寸未按 Hermitian packed 布局计算 - Fixes #45:aclfftType 合法性校验使用数值区间,会接受未定义枚举值 - Fixes #46:build.sh 同时处理 ASCEND_INSTALL_PATH 和 ASCEND_HOME_PATH,但实际强制要求 ASCEND_HOME_PATH - Fixes #47:build.sh -j0 会被接受,线程数只校验整数、不校验大于 0 ## 解决方案 ### Issue #44:Hermitian packed 布局 calculate_data_sizes() 原先将所有维度乘积作为 total_elements,R2C/D2Z 输出与 C2R/Z2D 输入均按全量复数计算,与 Hermitian packed 语义不一致。 修改为区分 full_elements(实数侧全量)与 packed_elements(复数侧 Hermitian packed,最后一维用 floor(n/2)+1),使 Plan 内部 input_size / output_size 元数据与仓库文档、测试、算子实现保持一致。 ### Issue #45:类型白名单校验 aclfftType 枚举值不连续(0x29/0x2a/0x2c/0x69/0x6a/0x6c),原先 type >= ACLFFT_C2C && type <= ACLFFT_Z2D 的区间判断会接受 0x2b、0x30 等未定义枚举值。 在 fft_error.h 新增 aclfft_is_valid_type() 白名单函数,替换 aclfftPlan1d/2d/3d 与 aclfftMakePlan1d/2d 中全部 5 处区间判断。 ### Issue #46:统一 ASCEND 环境变量 build.sh 开头按 ASCEND_INSTALL_PATH > ASCEND_HOME_PATH > 默认值 计算 _ASCEND_INSTALL_PATH,但 check_ascend_env 与 CMake 只认 ASCEND_HOME_PATH。 在计算完毕后统一 export ASCEND_HOME_PATH,使仅设置 ASCEND_INSTALL_PATH 的用户也能正常构建。同步更新报错提示信息与 docs/zh/context/build.md 文档。 ### Issue #47:-j 线程数校验大于 0 -j 参数原先只校验纯数字(^[0-9]+$),-j0 / -j00 可通过解析。现追加 >= 1 校验,在参数解析阶段即报错。 ## 测试 - 代码审查验证:所有改动为防御性修复,不影响合法参数的已有行为 - Issue #44:input_size / output_size 当前未被任何算子实现读取(算子各自计算尺寸),修复使元数据语义一致 - Issue #45:合法枚举值行为不变,仅拦截未定义值 - Issue #46:已有 ASCEND_HOME_PATH 用户行为不变,新增 ASCEND_INSTALL_PATH fallback - Issue #47:正常线程数行为不变,仅 -j0 等零值提前报错 ## 涉及文件 | 文件 | Issue | |---|---| | lib/fft_plan_init_api.cpp | #44, #45 | | lib/fft_error.h | #45 | | lib/fft_plan_api.cpp | #45 | | build.sh | #46, #47 | | docs/zh/context/build.md | #46 | ## 目标 SoC Ascend950 / Ascend910B(改动不涉及算子核函数,与 SoC 无关) See merge request: cann/ops-fft!36 | 26 天前 | |
| 6 个月前 | ||
FFT算子新增 Co-authored-by: Tian_1122<tianjunhan@h-partners.com> # message auto-generated for no-merge-commit merge: !27 merge master into master FFT算子新增 Created-by: Tian_1122 Commit-by: Tian_1122 Merged-by: cann-robot Description: ## 变更描述 / Description <!-- 本 PR 做了什么,为什么需要 / What does this PR do and why --> 新增 4 个 FFT 算子实现,并重构公共 kernel 层。 **新增算子** - fft1_d arch32 mix:C2C 混合基数(910B) - fft1_d arch35 mix:C2C Stockham 混合基数(950) - irfft1_d arch32 c2r_fft:C2R FFT(910B) - rfft1_d arch32 r2c_fft:R2C FFT(910B) **其他改动** - 公共 kernel 重构:base 头文件移入 kernel/base/,新增共享层 fft_all_common / fft_c2c_common / fft_c2r_common / fft_r2c_common - 命名空间、宏命名修正,移除冗余注释 - 修复 irfft1_d.h 缺失的 aclfftIrfft1DDft 声明 - rfft1_d arch35 R2C 选核:FFT 优先、FastDFT 兜底 - aclfftMakePlan1d 头文件参数名 stride → dimType,补全 @param 注释 - 文档更新:FFT_1D.md 约束说明、目录结构、开发指南、测试指南 - 许可证名称修正 ## 改动类型 / Change Type - [ ] Bug 修复 / Bug Fix - [x] 新功能 / New Feature - [ ] 性能优化 / Performance - [x] 代码重构 / Refactoring - [x] 文档更新 / Documentation - [ ] 测试相关 / Test - [ ] 其它 / Other ## 关联 Issue / Related Issues <!-- Closes #000 可自动关闭 / Closes #000 to auto-close --> [#2](https://gitcode.com/cann/ops-fft/issues/2) [#13](https://gitcode.com/cann/ops-fft/issues/13) ## 测试信息 / Testing <!-- 简要测试说明或关键结果 / Brief test description or key results --> - [ ] 单元测试通过 / UT passed - [ ] 集成测试通过 / ST passed - [ ] 人工验证通过 / Manual verified ## 检查清单 / Checklist - [ ] 代码符合规范 / Code follows style guide - [ ] 测试添加并通过 / Tests added and passed - [x] 文档已更新 / Docs updated if needed - [ ] 无硬编码敏感信息 / No secrets hardcoded - [ ] 提交信息符合规范 / Commit message follows convention See merge request: cann/ops-fft!27 | 1 个月前 | |
| 6 个月前 | ||
docs: 修正 6 处 API%20Reference 链接为实际目录 API_Reference Co-authored-by: Taoyouce<3463716443@qq.com> # message auto-generated for no-merge-commit merge: !35 merge fix/api-reference-dir-link into master docs: 修正 6 处 API%20Reference 链接为实际目录 API_Reference Created-by: 2403_87936996 Commit-by: Taoyouce Merged-by: cann-robot Description: ## 描述 docs/zh/ 下目录实名 API_Reference,6 处链接写成 API%20Reference(空格编码)导致 404:README.md:104 及 op_list.md:24/42/60/78/116。 ## 关联的Issue #43 ## 如何测试 替换后 grep -r "API%20Reference" 归零;逐条核对目标文件 docs/zh/API_Reference/{README,FFT_1D,FFT_2D}.md 均存在。 ## 类型标签 - [x] 缺陷修复 See merge request: cann/ops-fft!35 | 25 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 26 天前 | ||
| 6 个月前 | ||
| 1 个月前 | ||
| 6 个月前 | ||
| 25 天前 |