| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
SIMT CPP API实现同步C API修改 && 补充数学类接口返回值说明 Co-authored-by: zhangshunwei2<zhangshunwei2@huawei.com> # message auto-generated for no-merge-commit merge: !4869 merge cpp_sync into master SIMT CPP API实现同步C API修改 && 补充数学类接口返回值说明 Created-by: zhangshunwei2 Commit-by: zhangshunwei2 Merged-by: cann-robot Description: ## 描述 同步 SIMT C++ API 中尚未跟随 C API 更新的实现。C API 行为保持不变,C++ API 以现有 C API 为基准,并补充对应测试和返回值说明。 ### 数学 API 修改 - CopySign:将正负号判断从 y > 0 调整为与 C API copysignf 相同的 y >= 0,统一 y 为正数、负数和零时的结果。 - NextAfter:同步 C API nextafterf 的 NaN 判断和零起点处理;x == 0 时根据 y 的方向返回正或负的最小非规格化数,x、y 同为零时保留 x。 - Norm:同步 C API normf 的四元素分组计算,使用最大绝对值缩放和 FMA 累加,覆盖非正维度、全零、NaN、Inf、完整分组及尾部元素。 - Rnorm:继续复用同步后的 Norm 结果计算倒数,使分组计算和特殊输入处理与 C API rnormf 一致。 - Yn:同步 C API ynf 的参数判断顺序,非法阶数、负输入和 NaN 优先返回 NaN;通用递推路径同步三路循环展开、倒数复用和缩放处理。 ### Warp API 修改 - WarpShflSync:新增 bfloat16_t、bfloat16x2_t 支持,并按 C API 调用方式将 srcLane 和 width 分别传给 __shfl。 - WarpShflUpSync:新增 bfloat16_t、bfloat16x2_t 支持,并将 delta 和 width 分别传给 __shfl_up。 - WarpShflDownSync:新增 bfloat16_t、bfloat16x2_t 支持,并将 delta 和 width 分别传给 __shfl_down。 - WarpShflXorSync:新增 bfloat16_t、bfloat16x2_t 支持,并将 laneMask 和 width 分别传给 __shfl_xor。 ## 关联的Issue 关联Issue [#1485](https://gitcode.com/cann/asc-devkit/issues/1485) 。 ## 测试 - SIMT CPU UT:227/227 通过。 - 覆盖 CopySign、NextAfter、Norm、Yn 的 C++ 同步行为及边界分支。 - 四个 Warp API 已通过 ASC 编译,包含 BF16 类型实例化和 width 参数传递。 ## 文档更新 - atanhf:补充定义域边界,明确 x=1、x=-1 和 |x|>1 时的返回值。 - log1pf:补充定义域边界,明确 x=-1、x<-1 和 x=+inf 时的返回值。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [x] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!4869 | 27 天前 | |
SIMT:添加整型转换函数 Co-authored-by: ruoshuisixue<lishangfan@h-partners.com> # message auto-generated for no-merge-commit merge: !5170 merge master into master SIMT:添加整型转换函数 Created-by: ruoshuisixue Commit-by: ruoshuisixue Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 为 SIMT API 补充整型相关转换函数及配套能力,完善 half、bfloat16、fp8、数学函数和存储函数的声明与实现。 主要改动: - 新增 half/bfloat16 与 char、uchar、short、ushort 之间的转换接口,覆盖 rn/rz/rd/ru 等舍入模式。 - 新增 half/bfloat16 的 bit reinterpret 接口,以及 half2 相关转换接口。 - 新增 fp8 标量 float 转换接口 __asc_cvt_float_to_fp8。 - 补充 nanf、float 版本 abs、float 版本 min/max,以及有符号/无符号混合整型 min/max 重载。 - 为 asc_stcg、asc_stwt 补充 char 类型支持。 - 同步更新 SIMT API 文档、API 列表文档描述。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> https://gitcode.com/cann/asc-devkit/issues/1584 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 已新增/修改 SIMT API gtest 用例覆盖本次改动: - test_operator_simt_c_cast.cpp:覆盖 half/bfloat16 与 int16/uint16/char/uchar 转换、边界饱和、half2 打包/解包、fp8 标量转换。 - test_operator_simt_c_math.cpp:覆盖 abs、nanf、混合有符号/无符号 min/max。 - test_operator_simt_c_device_functions.cpp:覆盖 asc_stcg、asc_stwt 对 plain char 的支持。 - simt_stub.h:同步调整测试 stub 中 __half22float2 定义。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 包含文档更新: - 新增/更新 SIMT half、bfloat16、fp8 精度转换函数文档。 - 新增/更新 abs、nanf、min、max 等数学函数文档。 - 更新 asc_stcg、asc_stwt 对 char 类型的接口说明。 - 更新 SIMT API 列表。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5170 | 12 天前 | |
修复simt half类型接口精度 Co-authored-by: shaonaite<shaonaite@huawei.com> # message auto-generated for no-merge-commit merge: !5401 merge master into master 修复simt half类型接口精度 Created-by: shaonaite Commit-by: shaonaite Merged-by: cann-robot Description: ## 描述 修复 SIMT half 数学接口的精度问题,涉及以下接口: - hcos / h2cos - hsin / h2sin - htanh / h2tanh - hexp / h2exp - hexp2 / h2exp2 - hexp10 / h2exp10 针对个别 half 输入的舍入误差进行修正,并优化 htanh 的计算方式。half2 接口逐分量复用对应的 half 实现,同时保留 ASCENDC_USE_LEGACY_PRECISION 兼容开关。 修复后上述 6 个 half 标量接口的全量输入测试结果均为 **max ULP = 0**。 ## 关联的Issue 无。 ## 测试 - 测试环境:Ascend NPU,CANN 9.2.0,--npu-arch=dav-3510 - 测试方法:遍历全部 65536 种 half bit pattern,以 256-bit 高精度结果作为参考并舍入到 FP16 - 覆盖范围:零、非规格化数、有限值、无穷和 NaN | 接口 | 输入数量 | max ULP | 非零 ULP 数量 | | --- | ---: | ---: | ---: | | hcos | 65536 | 0 | 0 | | hsin | 65536 | 0 | 0 | | htanh | 65536 | 0 | 0 | | hexp | 65536 | 0 | 0 | | hexp2 | 65536 | 0 | 0 | | hexp10 | 65536 | 0 | 0 | half2 接口分别对两个分量调用对应的 half 标量实现。 ## 文档更新 无。 ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [x] 🧹 chore: 其他 See merge request: cann/asc-devkit!5401 | 7 天前 | |
SIMT:添加整型转换函数 Co-authored-by: ruoshuisixue<lishangfan@h-partners.com> # message auto-generated for no-merge-commit merge: !5170 merge master into master SIMT:添加整型转换函数 Created-by: ruoshuisixue Commit-by: ruoshuisixue Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 为 SIMT API 补充整型相关转换函数及配套能力,完善 half、bfloat16、fp8、数学函数和存储函数的声明与实现。 主要改动: - 新增 half/bfloat16 与 char、uchar、short、ushort 之间的转换接口,覆盖 rn/rz/rd/ru 等舍入模式。 - 新增 half/bfloat16 的 bit reinterpret 接口,以及 half2 相关转换接口。 - 新增 fp8 标量 float 转换接口 __asc_cvt_float_to_fp8。 - 补充 nanf、float 版本 abs、float 版本 min/max,以及有符号/无符号混合整型 min/max 重载。 - 为 asc_stcg、asc_stwt 补充 char 类型支持。 - 同步更新 SIMT API 文档、API 列表文档描述。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> https://gitcode.com/cann/asc-devkit/issues/1584 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 已新增/修改 SIMT API gtest 用例覆盖本次改动: - test_operator_simt_c_cast.cpp:覆盖 half/bfloat16 与 int16/uint16/char/uchar 转换、边界饱和、half2 打包/解包、fp8 标量转换。 - test_operator_simt_c_math.cpp:覆盖 abs、nanf、混合有符号/无符号 min/max。 - test_operator_simt_c_device_functions.cpp:覆盖 asc_stcg、asc_stwt 对 plain char 的支持。 - simt_stub.h:同步调整测试 stub 中 __half22float2 定义。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 包含文档更新: - 新增/更新 SIMT half、bfloat16、fp8 精度转换函数文档。 - 新增/更新 abs、nanf、min、max 等数学函数文档。 - 更新 asc_stcg、asc_stwt 对 char 类型的接口说明。 - 更新 SIMT API 列表。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5170 | 12 天前 | |
使用编译器 API 替代 nop 汇编指令 Co-authored-by: louyuxuan<louyuxuan@huawei.com> # message auto-generated for no-merge-commit merge: !5534 merge master into master 使用编译器 API 替代 nop 汇编指令 Created-by: louyuxuan Commit-by: louyuxuan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 使用编译器 API 替代直接写 nop 汇编指令 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> SIMT 二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5534 | 6 天前 | |
refactor: impl目录下的代码格式 Co-authored-by: haipingmao<maohaiping@huawei.com> # message auto-generated for no-merge-commit merge: !4211 merge br_codestyle_impl2 into master refactor: impl目录下的代码格式 Created-by: haipingmao Commit-by: haipingmao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 按照/clang-format刷新impl下tensor_api、simt_api、utils目录的代码格式。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> compile ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!4211 | 1 个月前 | |
使用编译器 API 替代 nop 汇编指令 Co-authored-by: louyuxuan<louyuxuan@huawei.com> # message auto-generated for no-merge-commit merge: !5534 merge master into master 使用编译器 API 替代 nop 汇编指令 Created-by: louyuxuan Commit-by: louyuxuan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 使用编译器 API 替代直接写 nop 汇编指令 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> SIMT 二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5534 | 6 天前 | |
refactor: impl目录下的代码格式 Co-authored-by: haipingmao<maohaiping@huawei.com> # message auto-generated for no-merge-commit merge: !4211 merge br_codestyle_impl2 into master refactor: impl目录下的代码格式 Created-by: haipingmao Commit-by: haipingmao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 按照/clang-format刷新impl下tensor_api、simt_api、utils目录的代码格式。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> compile ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!4211 | 1 个月前 | |
refactor: impl目录下的代码格式 Co-authored-by: haipingmao<maohaiping@huawei.com> # message auto-generated for no-merge-commit merge: !4211 merge br_codestyle_impl2 into master refactor: impl目录下的代码格式 Created-by: haipingmao Commit-by: haipingmao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 按照/clang-format刷新impl下tensor_api、simt_api、utils目录的代码格式。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> compile ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!4211 | 1 个月前 | |
SIMT :clean code Co-authored-by: ruoshuisixue<lishangfan@h-partners.com> # message auto-generated for no-merge-commit merge: !5446 merge master into master SIMT :clean code Created-by: ruoshuisixue Commit-by: ruoshuisixue Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> SIMT 字面量添加注释 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> https://gitcode.com/cann/asc-devkit/issues/1584 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [x] 🧹 chore: 其他,请具体描述 clean code See merge request: cann/asc-devkit!5446 | 10 天前 | |
SIMT:添加整型转换函数 Co-authored-by: ruoshuisixue<lishangfan@h-partners.com> # message auto-generated for no-merge-commit merge: !5170 merge master into master SIMT:添加整型转换函数 Created-by: ruoshuisixue Commit-by: ruoshuisixue Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 为 SIMT API 补充整型相关转换函数及配套能力,完善 half、bfloat16、fp8、数学函数和存储函数的声明与实现。 主要改动: - 新增 half/bfloat16 与 char、uchar、short、ushort 之间的转换接口,覆盖 rn/rz/rd/ru 等舍入模式。 - 新增 half/bfloat16 的 bit reinterpret 接口,以及 half2 相关转换接口。 - 新增 fp8 标量 float 转换接口 __asc_cvt_float_to_fp8。 - 补充 nanf、float 版本 abs、float 版本 min/max,以及有符号/无符号混合整型 min/max 重载。 - 为 asc_stcg、asc_stwt 补充 char 类型支持。 - 同步更新 SIMT API 文档、API 列表文档描述。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> https://gitcode.com/cann/asc-devkit/issues/1584 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 已新增/修改 SIMT API gtest 用例覆盖本次改动: - test_operator_simt_c_cast.cpp:覆盖 half/bfloat16 与 int16/uint16/char/uchar 转换、边界饱和、half2 打包/解包、fp8 标量转换。 - test_operator_simt_c_math.cpp:覆盖 abs、nanf、混合有符号/无符号 min/max。 - test_operator_simt_c_device_functions.cpp:覆盖 asc_stcg、asc_stwt 对 plain char 的支持。 - simt_stub.h:同步调整测试 stub 中 __half22float2 定义。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 包含文档更新: - 新增/更新 SIMT half、bfloat16、fp8 精度转换函数文档。 - 新增/更新 abs、nanf、min、max 等数学函数文档。 - 更新 asc_stcg、asc_stwt 对 char 类型的接口说明。 - 更新 SIMT API 列表。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [x] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5170 | 12 天前 | |
refactor: impl目录下的代码格式 Co-authored-by: haipingmao<maohaiping@huawei.com> # message auto-generated for no-merge-commit merge: !4211 merge br_codestyle_impl2 into master refactor: impl目录下的代码格式 Created-by: haipingmao Commit-by: haipingmao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 按照/clang-format刷新impl下tensor_api、simt_api、utils目录的代码格式。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> compile ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!4211 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 27 天前 | ||
| 12 天前 | ||
| 7 天前 | ||
| 12 天前 | ||
| 6 天前 | ||
| 1 个月前 | ||
| 6 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 10 天前 | ||
| 12 天前 | ||
| 1 个月前 |