| Files | Last commit | Last update |
|---|---|---|
新增 IsPosInf 生态算子 Co-authored-by: cwzhang<zhangchangwei8@huawei.com> # message auto-generated for no-merge-commit merge: !3058 merge is_pos_inf into master 新增 IsPosInf 生态算子 Created-by: cwzhang Commit-by: cwzhang Merged-by: cann-robot Description: ## 描述 新增 aclnnIsPosInf 昇腾Ascend生态算子。算子目录位于 experimental/math/is_pos_inf,用于判断输入tensor的元素是否为 +inf,支持 Ascend 910B/910C 设备。 AI Agent 算子生成项目,支持昇腾算子生态发展。 本次改动主要包括: - 新增对外 ACLNN 接口: - aclnnIsPosInfGetWorkspaceSize - aclnnIsPosInf - 基于已验证的 ascend-kernel/csrc/ops/is_pos_inf 实现接入 op_kernel 与 host tiling,保持原有数据搬运、切核和计算流程。 - 在 host 侧补充 ACLNN 接口参数校验,覆盖: - 空指针校验 - self/out shape 一致性校验 - 最大 8 维限制 - out 必须为 ge::DT_BOOL - 非连续输入/输出处理 - 非浮点输入直接返回全 false 结果 - 新增 example、UT、ST、README 和 ACLNN 接口文档。 - 新增 ST JSON 与 executor,使其分别支持: - pyaclnn 后端 - npu 后端 的精度测试链路。 ## 关联的Issue [[Requirement|需求建议]: 新增 IsPosInf 生态算子(关联PR用于追踪)](https://gitcode.com/cann/ops-math/issues/1751) ## 测试 已完成以下验证: - 单算子构建: - bash build.sh --pkg --experimental --soc=ascend910b --ops=is_pos_inf -j8 -O2 - run 包生成并安装成功: - build_out/cann-ops-math-custom_linux-aarch64.run - example 冒烟通过: - experimental/math/is_pos_inf/examples/run.sh - UT: - op_api UT 通过,13 tests passed - ATK: - 精度测试 6750 / 6750 通过 - 性能测试通过 平均加速比 0.84 (阈值0.6) ## 文档更新 已更新/新增以下文档: - experimental/math/is_pos_inf/README.md - experimental/math/is_pos_inf/docs/aclnnIsPosInf.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3058 | 4 months ago | |
新增 IsPosInf 生态算子 Co-authored-by: cwzhang<zhangchangwei8@huawei.com> # message auto-generated for no-merge-commit merge: !3058 merge is_pos_inf into master 新增 IsPosInf 生态算子 Created-by: cwzhang Commit-by: cwzhang Merged-by: cann-robot Description: ## 描述 新增 aclnnIsPosInf 昇腾Ascend生态算子。算子目录位于 experimental/math/is_pos_inf,用于判断输入tensor的元素是否为 +inf,支持 Ascend 910B/910C 设备。 AI Agent 算子生成项目,支持昇腾算子生态发展。 本次改动主要包括: - 新增对外 ACLNN 接口: - aclnnIsPosInfGetWorkspaceSize - aclnnIsPosInf - 基于已验证的 ascend-kernel/csrc/ops/is_pos_inf 实现接入 op_kernel 与 host tiling,保持原有数据搬运、切核和计算流程。 - 在 host 侧补充 ACLNN 接口参数校验,覆盖: - 空指针校验 - self/out shape 一致性校验 - 最大 8 维限制 - out 必须为 ge::DT_BOOL - 非连续输入/输出处理 - 非浮点输入直接返回全 false 结果 - 新增 example、UT、ST、README 和 ACLNN 接口文档。 - 新增 ST JSON 与 executor,使其分别支持: - pyaclnn 后端 - npu 后端 的精度测试链路。 ## 关联的Issue [[Requirement|需求建议]: 新增 IsPosInf 生态算子(关联PR用于追踪)](https://gitcode.com/cann/ops-math/issues/1751) ## 测试 已完成以下验证: - 单算子构建: - bash build.sh --pkg --experimental --soc=ascend910b --ops=is_pos_inf -j8 -O2 - run 包生成并安装成功: - build_out/cann-ops-math-custom_linux-aarch64.run - example 冒烟通过: - experimental/math/is_pos_inf/examples/run.sh - UT: - op_api UT 通过,13 tests passed - ATK: - 精度测试 6750 / 6750 通过 - 性能测试通过 平均加速比 0.84 (阈值0.6) ## 文档更新 已更新/新增以下文档: - experimental/math/is_pos_inf/README.md - experimental/math/is_pos_inf/docs/aclnnIsPosInf.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3058 | 4 months ago | |
新增 IsPosInf 生态算子 Co-authored-by: cwzhang<zhangchangwei8@huawei.com> # message auto-generated for no-merge-commit merge: !3058 merge is_pos_inf into master 新增 IsPosInf 生态算子 Created-by: cwzhang Commit-by: cwzhang Merged-by: cann-robot Description: ## 描述 新增 aclnnIsPosInf 昇腾Ascend生态算子。算子目录位于 experimental/math/is_pos_inf,用于判断输入tensor的元素是否为 +inf,支持 Ascend 910B/910C 设备。 AI Agent 算子生成项目,支持昇腾算子生态发展。 本次改动主要包括: - 新增对外 ACLNN 接口: - aclnnIsPosInfGetWorkspaceSize - aclnnIsPosInf - 基于已验证的 ascend-kernel/csrc/ops/is_pos_inf 实现接入 op_kernel 与 host tiling,保持原有数据搬运、切核和计算流程。 - 在 host 侧补充 ACLNN 接口参数校验,覆盖: - 空指针校验 - self/out shape 一致性校验 - 最大 8 维限制 - out 必须为 ge::DT_BOOL - 非连续输入/输出处理 - 非浮点输入直接返回全 false 结果 - 新增 example、UT、ST、README 和 ACLNN 接口文档。 - 新增 ST JSON 与 executor,使其分别支持: - pyaclnn 后端 - npu 后端 的精度测试链路。 ## 关联的Issue [[Requirement|需求建议]: 新增 IsPosInf 生态算子(关联PR用于追踪)](https://gitcode.com/cann/ops-math/issues/1751) ## 测试 已完成以下验证: - 单算子构建: - bash build.sh --pkg --experimental --soc=ascend910b --ops=is_pos_inf -j8 -O2 - run 包生成并安装成功: - build_out/cann-ops-math-custom_linux-aarch64.run - example 冒烟通过: - experimental/math/is_pos_inf/examples/run.sh - UT: - op_api UT 通过,13 tests passed - ATK: - 精度测试 6750 / 6750 通过 - 性能测试通过 平均加速比 0.84 (阈值0.6) ## 文档更新 已更新/新增以下文档: - experimental/math/is_pos_inf/README.md - experimental/math/is_pos_inf/docs/aclnnIsPosInf.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3058 | 4 months ago | |
build: 将 op_graph 目录下所有 cpp 编入 libopsgraph_math.so Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !4484 merge master into master build: 将 op_graph 目录下所有 cpp 编入 libopsgraph_math.so Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 将 op_graph 目录下所有 cpp 文件递归编入 libopsgraph_math.so。原 cmake 配置仅编译匹配 *_graph_*.cpp、*_fallback.cpp、fusion_pass/*_pass.cpp 的文件,新增 op_graph 文件需手动调整 glob 模式;改为 GLOB_RECURSE 递归收集 op_graph 目录下所有 .cpp,后续新增文件自动纳入编译。 具体改动(cmake/func.cmake 两处): - add_all_modules_sources:file(GLOB ...) 改为 file(GLOB_RECURSE OP_GRAPH_SRCS ${SOURCE_DIR}/op_graph/*.cpp) - add_graph_plugin_sources:file(GLOB ...) 改为 file(GLOB_RECURSE OP_GRAPH_SRCS ${SOURCE_DIR}/*.cpp) ## 关联的Issue - #2540: 将 op_graph 目录下所有 cpp 自动编入 libopsgraph_math.so ## 测试 - 本地编译 ops-math,验证 libopsgraph_math.so 正常生成,op_graph 目录下新增 cpp 文件的符号被纳入。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:构建系统优化 See merge request: cann/ops-math!4484 | 3 months ago | |
新增 IsPosInf 生态算子 Co-authored-by: cwzhang<zhangchangwei8@huawei.com> # message auto-generated for no-merge-commit merge: !3058 merge is_pos_inf into master 新增 IsPosInf 生态算子 Created-by: cwzhang Commit-by: cwzhang Merged-by: cann-robot Description: ## 描述 新增 aclnnIsPosInf 昇腾Ascend生态算子。算子目录位于 experimental/math/is_pos_inf,用于判断输入tensor的元素是否为 +inf,支持 Ascend 910B/910C 设备。 AI Agent 算子生成项目,支持昇腾算子生态发展。 本次改动主要包括: - 新增对外 ACLNN 接口: - aclnnIsPosInfGetWorkspaceSize - aclnnIsPosInf - 基于已验证的 ascend-kernel/csrc/ops/is_pos_inf 实现接入 op_kernel 与 host tiling,保持原有数据搬运、切核和计算流程。 - 在 host 侧补充 ACLNN 接口参数校验,覆盖: - 空指针校验 - self/out shape 一致性校验 - 最大 8 维限制 - out 必须为 ge::DT_BOOL - 非连续输入/输出处理 - 非浮点输入直接返回全 false 结果 - 新增 example、UT、ST、README 和 ACLNN 接口文档。 - 新增 ST JSON 与 executor,使其分别支持: - pyaclnn 后端 - npu 后端 的精度测试链路。 ## 关联的Issue [[Requirement|需求建议]: 新增 IsPosInf 生态算子(关联PR用于追踪)](https://gitcode.com/cann/ops-math/issues/1751) ## 测试 已完成以下验证: - 单算子构建: - bash build.sh --pkg --experimental --soc=ascend910b --ops=is_pos_inf -j8 -O2 - run 包生成并安装成功: - build_out/cann-ops-math-custom_linux-aarch64.run - example 冒烟通过: - experimental/math/is_pos_inf/examples/run.sh - UT: - op_api UT 通过,13 tests passed - ATK: - 精度测试 6750 / 6750 通过 - 性能测试通过 平均加速比 0.84 (阈值0.6) ## 文档更新 已更新/新增以下文档: - experimental/math/is_pos_inf/README.md - experimental/math/is_pos_inf/docs/aclnnIsPosInf.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3058 | 4 months ago | |
新增 IsPosInf 生态算子 Co-authored-by: cwzhang<zhangchangwei8@huawei.com> # message auto-generated for no-merge-commit merge: !3058 merge is_pos_inf into master 新增 IsPosInf 生态算子 Created-by: cwzhang Commit-by: cwzhang Merged-by: cann-robot Description: ## 描述 新增 aclnnIsPosInf 昇腾Ascend生态算子。算子目录位于 experimental/math/is_pos_inf,用于判断输入tensor的元素是否为 +inf,支持 Ascend 910B/910C 设备。 AI Agent 算子生成项目,支持昇腾算子生态发展。 本次改动主要包括: - 新增对外 ACLNN 接口: - aclnnIsPosInfGetWorkspaceSize - aclnnIsPosInf - 基于已验证的 ascend-kernel/csrc/ops/is_pos_inf 实现接入 op_kernel 与 host tiling,保持原有数据搬运、切核和计算流程。 - 在 host 侧补充 ACLNN 接口参数校验,覆盖: - 空指针校验 - self/out shape 一致性校验 - 最大 8 维限制 - out 必须为 ge::DT_BOOL - 非连续输入/输出处理 - 非浮点输入直接返回全 false 结果 - 新增 example、UT、ST、README 和 ACLNN 接口文档。 - 新增 ST JSON 与 executor,使其分别支持: - pyaclnn 后端 - npu 后端 的精度测试链路。 ## 关联的Issue [[Requirement|需求建议]: 新增 IsPosInf 生态算子(关联PR用于追踪)](https://gitcode.com/cann/ops-math/issues/1751) ## 测试 已完成以下验证: - 单算子构建: - bash build.sh --pkg --experimental --soc=ascend910b --ops=is_pos_inf -j8 -O2 - run 包生成并安装成功: - build_out/cann-ops-math-custom_linux-aarch64.run - example 冒烟通过: - experimental/math/is_pos_inf/examples/run.sh - UT: - op_api UT 通过,13 tests passed - ATK: - 精度测试 6750 / 6750 通过 - 性能测试通过 平均加速比 0.84 (阈值0.6) ## 文档更新 已更新/新增以下文档: - experimental/math/is_pos_inf/README.md - experimental/math/is_pos_inf/docs/aclnnIsPosInf.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3058 | 4 months ago | |
新增 IsPosInf 生态算子 Co-authored-by: cwzhang<zhangchangwei8@huawei.com> # message auto-generated for no-merge-commit merge: !3058 merge is_pos_inf into master 新增 IsPosInf 生态算子 Created-by: cwzhang Commit-by: cwzhang Merged-by: cann-robot Description: ## 描述 新增 aclnnIsPosInf 昇腾Ascend生态算子。算子目录位于 experimental/math/is_pos_inf,用于判断输入tensor的元素是否为 +inf,支持 Ascend 910B/910C 设备。 AI Agent 算子生成项目,支持昇腾算子生态发展。 本次改动主要包括: - 新增对外 ACLNN 接口: - aclnnIsPosInfGetWorkspaceSize - aclnnIsPosInf - 基于已验证的 ascend-kernel/csrc/ops/is_pos_inf 实现接入 op_kernel 与 host tiling,保持原有数据搬运、切核和计算流程。 - 在 host 侧补充 ACLNN 接口参数校验,覆盖: - 空指针校验 - self/out shape 一致性校验 - 最大 8 维限制 - out 必须为 ge::DT_BOOL - 非连续输入/输出处理 - 非浮点输入直接返回全 false 结果 - 新增 example、UT、ST、README 和 ACLNN 接口文档。 - 新增 ST JSON 与 executor,使其分别支持: - pyaclnn 后端 - npu 后端 的精度测试链路。 ## 关联的Issue [[Requirement|需求建议]: 新增 IsPosInf 生态算子(关联PR用于追踪)](https://gitcode.com/cann/ops-math/issues/1751) ## 测试 已完成以下验证: - 单算子构建: - bash build.sh --pkg --experimental --soc=ascend910b --ops=is_pos_inf -j8 -O2 - run 包生成并安装成功: - build_out/cann-ops-math-custom_linux-aarch64.run - example 冒烟通过: - experimental/math/is_pos_inf/examples/run.sh - UT: - op_api UT 通过,13 tests passed - ATK: - 精度测试 6750 / 6750 通过 - 性能测试通过 平均加速比 0.84 (阈值0.6) ## 文档更新 已更新/新增以下文档: - experimental/math/is_pos_inf/README.md - experimental/math/is_pos_inf/docs/aclnnIsPosInf.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3058 | 4 months ago | |
新增 IsPosInf 生态算子 Co-authored-by: cwzhang<zhangchangwei8@huawei.com> # message auto-generated for no-merge-commit merge: !3058 merge is_pos_inf into master 新增 IsPosInf 生态算子 Created-by: cwzhang Commit-by: cwzhang Merged-by: cann-robot Description: ## 描述 新增 aclnnIsPosInf 昇腾Ascend生态算子。算子目录位于 experimental/math/is_pos_inf,用于判断输入tensor的元素是否为 +inf,支持 Ascend 910B/910C 设备。 AI Agent 算子生成项目,支持昇腾算子生态发展。 本次改动主要包括: - 新增对外 ACLNN 接口: - aclnnIsPosInfGetWorkspaceSize - aclnnIsPosInf - 基于已验证的 ascend-kernel/csrc/ops/is_pos_inf 实现接入 op_kernel 与 host tiling,保持原有数据搬运、切核和计算流程。 - 在 host 侧补充 ACLNN 接口参数校验,覆盖: - 空指针校验 - self/out shape 一致性校验 - 最大 8 维限制 - out 必须为 ge::DT_BOOL - 非连续输入/输出处理 - 非浮点输入直接返回全 false 结果 - 新增 example、UT、ST、README 和 ACLNN 接口文档。 - 新增 ST JSON 与 executor,使其分别支持: - pyaclnn 后端 - npu 后端 的精度测试链路。 ## 关联的Issue [[Requirement|需求建议]: 新增 IsPosInf 生态算子(关联PR用于追踪)](https://gitcode.com/cann/ops-math/issues/1751) ## 测试 已完成以下验证: - 单算子构建: - bash build.sh --pkg --experimental --soc=ascend910b --ops=is_pos_inf -j8 -O2 - run 包生成并安装成功: - build_out/cann-ops-math-custom_linux-aarch64.run - example 冒烟通过: - experimental/math/is_pos_inf/examples/run.sh - UT: - op_api UT 通过,13 tests passed - ATK: - 精度测试 6750 / 6750 通过 - 性能测试通过 平均加速比 0.84 (阈值0.6) ## 文档更新 已更新/新增以下文档: - experimental/math/is_pos_inf/README.md - experimental/math/is_pos_inf/docs/aclnnIsPosInf.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3058 | 4 months ago |
IsPosInf
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
当前工程按需求仅面向 Ascend 910B/910C 路径生成 ACLNN 接口与 AiCore 实现。
功能说明
- 算子功能:逐元素判断输入张量是否为正无穷。
- 对浮点输入,返回
input_i == +inf的布尔结果。 - 对
bool/int8/uint8/int16/int32/int64等有界类型,返回同 shape 的全false布尔张量。
数学表达
若输入为浮点型:
outi=(selfi==+∞)out_i = (self_i == +\infty) outi=(selfi==+∞)
若输入为支持的非浮点有界类型:
outi=falseout_i = \mathrm{false} outi=false
接口说明
对外暴露两段式 ACLNN 接口:
aclnnStatus aclnnIsPosInfGetWorkspaceSize(
const aclTensor *self,
aclTensor *out,
uint64_t *workspaceSize,
aclOpExecutor **executor);
aclnnStatus aclnnIsPosInf(
void *workspace,
uint64_t workspaceSize,
aclOpExecutor *executor,
const aclrtStream stream);
参数说明
| 参数名 | 输入/输出 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
self |
输入 | 待判断是否为正无穷的张量 | FLOAT16/FLOAT/BFLOAT16/BOOL/INT8/UINT8/INT16/INT32/INT64 |
ND |
out |
输出 | 逐元素判断结果 | BOOL |
ND |
约束说明
self和out不能为空指针。self与outshape 必须完全一致,不支持 broadcast。- 维度数不超过 8,支持标量和空 Tensor。
outdtype 必须为BOOL。self非连续时先转连续;out非连续时通过ViewCopy回写。BFLOAT16浮点路径依赖910B/910C类 SoC 支持。
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| ACLNN | examples/test_aclnn_is_pos_inf.cpp | 两段式调用 aclnnIsPosInfGetWorkspaceSize 和 aclnnIsPosInf |