| Files | Last commit | Last update |
|---|---|---|
TopkV2算子增加regbase的支持芯片范围 Co-authored-by: caoyan_huawei<caoyan11@huawei.com> # message auto-generated for no-merge-commit merge: !7137 merge cy_bug_repair_1105 into master TopkV2算子增加regbase的支持芯片范围 Created-by: caoyan_huawei Commit-by: caoyan_huawei Merged-by: cann-robot Description: ## 描述 变更摘要 本 PR 旨在扩展 TopKV2 算子对 regbase 架构的支持芯片范围。核心改动位于 math/topk/op_graph/fusion_pass/topk_fusion_pass.cpp,在判断是否为 regbase 架构的 IsRegbaseArch 函数中新增了 NpuArch::DAV_9201 与 NpuArch::DAV_9202 两个架构枚举值,使这些芯片也走 regbase 分支(即新 AscendC op_info 中注册 TopKV2(x + k)与双输入 Transpose(x + perm 常量))的融合逻辑,而不再落入 legacy 架构路径。 主要改动 1. 扩展 regbase 架构判定范围: IsRegbaseArch 的返回值判断由仅匹配 NpuArch::DAV_3510、NpuArch::DAV_5102,扩展为同时匹配 NpuArch::DAV_9201 与 NpuArch::DAV_9202。 2. 融合通路选择影响: 在 DAV_9201、DAV_9202 芯片上,TopK 融合 pass 将按 regbase op_info 注册的 TopKV2 与双输入 Transpose 形式进行匹配,而非 legacy 的 TopKD/TopKV2/TransposeD 形式。 3. 代码结构调整: 该单行判断改为多行 return 表达式并以 || 串联各架构条件,便于后续继续追加受支持的芯片架构。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/4519 ## 测试 ST,二级冒烟通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7137 | 7 days ago | |
add aicpu:topk&calc_buckets_limit_and_offset&compare_and_bit_pack Co-authored-by: sujunwei3<sujunwei3@huawei.com> # message auto-generated for no-merge-commit merge: !3724 merge dev into master add aicpu:topk&calc_buckets_limit_and_offset&compare_and_bit_pack Created-by: sujunwei3 Commit-by: sujunwei3 Merged-by: cann-robot Description: ## 描述 新增 TopK、CalcBucketsLimitAndOffset、CompareAndBitPack 三个 AICPU 算子的完整实现,共涉及 28 个文件变更。 ### 1. TopK(math/topk/) 从已有 aclnn 接口扩展为完整 AICPU 算子实现: - 新增 op_graph/topk_proto.h:算子协议定义 - 新增 op_host/topk_infershape.cpp:host 侧 shape 推导 - 新增 op_kernel_aicpu/topk_aicpu.cpp、topk_aicpu.h、topk_aicpu_def.cpp:AICPU kernel 实现及注册 - 新增 op_kernel_aicpu/CMakeLists.txt、op_graph/CMakeLists.txt:构建配置 - 新增 examples/test_geir_topk.cpp:使用示例 - 新增 tests/ut/op_kernel_aicpu/test_topk.cpp:单元测试 - 修改 CMakeLists.txt:添加 UT 测试配置 - 修改 README.md:补充完整算子文档(产品支持情况、接口说明等) ### 2. CalcBucketsLimitAndOffset(conversion/calc_buckets_limit_and_offset/) 全新 AICPU 算子,用于计算 buckets 的 limit 和 offset 值: - 新增 CMakeLists.txt、op_graph/calc_buckets_limit_and_offset_proto.h - 新增 op_kernel_aicpu/calc_buckets_limit_and_offset_aicpu.cpp、.h、_def.cpp - 新增 examples/test_geir_calc_buckets_limit_and_offset.cpp - 新增 tests/ut/op_kernel_aicpu/test_calc_buckets_limit_and_offset.cpp - 新增 README.md:算子文档 ### 3. CompareAndBitPack(math/compare_and_bit_pack/) 全新 AICPU 算子,将输入与阈值进行比较并将比较结果的比特位打包为 uint8 输出: - 新增 CMakeLists.txt、op_graph/compare_and_bit_pack_proto.h - 新增 op_kernel_aicpu/compare_and_bit_pack_aicpu.cpp、.h、_def.cpp - 新增 examples/test_geir_compare_and_bit_pack.cpp - 新增 tests/ut/op_kernel_aicpu/test_compare_and_bit_pack.cpp - 新增 README.md:算子文档 ### 4. 文档更新 - 修改 docs/zh/op_list.md:在算子列表中添加 compare_and_bit_pack 等算子条目 ## 关联的Issue #2187 ## 测试 根据代码变更,测试场景如下: 1. **算子构建测试** - 执行 cmake 配置和编译,验证三个算子(TopK、CalcBucketsLimitAndOffset、CompareAndBitPack)的 CMakeLists.txt 配置正确,能正常编译构建 2. **单元测试(UT)** - 运行 tests/ut/op_kernel_aicpu/test_topk.cpp,验证 TopK 算子在不同数据类型(float16、float32、int32)和 shape 下的计算正确性 - 运行 tests/ut/op_kernel_aicpu/test_calc_buckets_limit_and_offset.cpp,验证 CalcBucketsLimitAndOffset 算子的功能正确性 - 运行 tests/ut/op_kernel_aicpu/test_compare_and_bit_pack.cpp,验证 CompareAndBitPack 算子在不同数据类型下的比较和比特打包功能正确性 3. **Example 验证** - 编译并运行 examples/test_geir_topk.cpp,验证 TopK 算子端到端调用流程 - 编译并运行 examples/test_geir_calc_buckets_limit_and_offset.cpp,验证 CalcBucketsLimitAndOffset 算子端到端调用流程 - 编译并运行 examples/test_geir_compare_and_bit_pack.cpp,验证 CompareAndBitPack 算子端到端调用流程 4. **算子加载测试** - 验证三个算子的 AICPU kernel 注册成功,接口可正常调用 ## 文档更新 - 新增 math/topk/README.md:TopK 算子完整文档(产品支持情况、接口说明、约束限制等) - 新增 conversion/calc_buckets_limit_and_offset/README.md:CalcBucketsLimitAndOffset 算子文档 - 新增 math/compare_and_bit_pack/README.md:CompareAndBitPack 算子文档 - 修改 docs/zh/op_list.md:算子列表新增条目 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3724 | 4 months ago | |
整改TopK算子重复定义问题 Co-authored-by: caoyan_huawei<caoyan11@huawei.com> # message auto-generated for no-merge-commit merge: !5211 merge cy_br_829_topk_proto into master 整改TopK算子重复定义问题 Created-by: caoyan_huawei Commit-by: caoyan_huawei Merged-by: cann-robot Description: ## 描述 本次pr主要解决nn仓和math重复注册TopK算子的问题,由于当前pr:https://gitcode.com/cann/ops-math/pull/3724中已经关联了aicpu实现,故将nn仓的原型注册删除,将topk_onnx_plugin.cpp文件迁移到math仓; ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2969 ## 测试 ST,UT,二级冒烟通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5211 | 2 months ago | |
fix(topk): A2/A3 rank-0输入增加L0防御校验(#3968) Co-authored-by: doufloat<baijinxiang@huawei.com> # message auto-generated for no-merge-commit merge: !6808 merge fix/topk-rank0-guard into master fix(topk): A2/A3 rank-0输入增加L0防御校验(#3968) Created-by: doufloat Commit-by: doufloat Merged-by: cann-robot Description: ## 描述 **问题** TopkCommon 在构造输出形状和访问最后轴之前没有 rank-0 防御。A2/A3 使用相同的 DAV_2201 非 RegBase 路径,self 为 rank-0 时 GetDim(dimNum - 1) 会形成无效的最后轴访问,后续可能触发设备侧异常。 **兼容性取舍** - A2/A3:同属 DAV_2201 路径,实测 rank-0、k=1 无法正常完成,增加前置防御。 - A5:RegBase/DAV_3510 路径与 A2/A3 不同,实测 rank-0、k=0/1 可正常返回;为保持 A5 现有兼容行为,本 PR 不拦截 A5。 - 本修改限定在 TopkCommon 的 L0 防御,只对 NpuArch::DAV_2201 生效,rank>=1 路径不变。 **边界说明** aclnnTopkV2GetWorkspaceSize 的公共 ACLNN wrapper 不在本仓;第一段统一返回 161002 的检查需要在对应 ACLNN 代码中完成。本 PR 只负责阻止 A2/A3 的 L0 负索引访问,不能替代 wrapper 的第一段校验。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3968 ## 测试 - A2:fp32/fp16/bf16 rank-0 k=1 实测失败;int32 rank-0 k=1 也失败,错误表现不同。 - A5:Ascend950PR 上 fp32/fp16/bf16/int32 rank-0 k=0/1 实测均为 gws=0, exec=0, sync=0;k=1 回读 value=1/index=0,k=2 返回 161002。 - 兼容性:A5 不满足 DAV_2201 条件,因此保持现有 rank-0 行为;合法 rank>=1 路径不改变。 See merge request: cann/ops-math!6808 | 13 days ago | |
TopkV2算子增加regbase的支持芯片范围 Co-authored-by: caoyan_huawei<caoyan11@huawei.com> # message auto-generated for no-merge-commit merge: !7137 merge cy_bug_repair_1105 into master TopkV2算子增加regbase的支持芯片范围 Created-by: caoyan_huawei Commit-by: caoyan_huawei Merged-by: cann-robot Description: ## 描述 变更摘要 本 PR 旨在扩展 TopKV2 算子对 regbase 架构的支持芯片范围。核心改动位于 math/topk/op_graph/fusion_pass/topk_fusion_pass.cpp,在判断是否为 regbase 架构的 IsRegbaseArch 函数中新增了 NpuArch::DAV_9201 与 NpuArch::DAV_9202 两个架构枚举值,使这些芯片也走 regbase 分支(即新 AscendC op_info 中注册 TopKV2(x + k)与双输入 Transpose(x + perm 常量))的融合逻辑,而不再落入 legacy 架构路径。 主要改动 1. 扩展 regbase 架构判定范围: IsRegbaseArch 的返回值判断由仅匹配 NpuArch::DAV_3510、NpuArch::DAV_5102,扩展为同时匹配 NpuArch::DAV_9201 与 NpuArch::DAV_9202。 2. 融合通路选择影响: 在 DAV_9201、DAV_9202 芯片上,TopK 融合 pass 将按 regbase op_info 注册的 TopKV2 与双输入 Transpose 形式进行匹配,而非 legacy 的 TopKD/TopKV2/TransposeD 形式。 3. 代码结构调整: 该单行判断改为多行 return 表达式并以 || 串联各架构条件,便于后续继续追加受支持的芯片架构。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/4519 ## 测试 ST,二级冒烟通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7137 | 7 days ago | |
fix: E*9****内部错误码整改为正式语义码并保留内部异常EZ9999上报 Co-authored-by: chenyifeng<chenyifeng27@h-partners.com> # message auto-generated for no-merge-commit merge: !6606 merge fix_errorNum_1021 into master fix: E*9****内部错误码整改为正式语义码并保留内部异常EZ9999上报 Created-by: chen_0715 Commit-by: chenyifeng Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次 PR 整改以下 43 个算子中非法使用的内部错误码(E*9****),使其符合错误码使用规范: - cholesky / complex / cross / cummax / cummin / cumprod / get_shape / histogram_v2 / is_finite / is_inf - kl_div_v2 / lin_space / log_add_exp / non_finite_check / pdist / polar / pows / radix_top_k - reduce_log_sum / reduce_log_sum_exp / reduce_max / reduce_mean / reduce_mean_with_count / reduce_min - reduce_nansum / reduce_std_with_mean / rfft1_d / search_sorted / signbit / sin / sinc / sinkhorn / topk - affine_grid / amp_update_scale / angle_v2 / arg_max_v2 / arg_min / arg_min_with_value / atan2 / bessel_i1e / cdist_grad - conversion/tril 改动原因:上述算子 op_host / op_api / op_graph 源码中存在裸 OP_LOGE (EZ9999 兜底上报)、 OP_CHECK_NULL_WITH_CONTEXT / OP_CHECK_NOTNULL (EZ9999 上报)等不符合错误码使用规范的上报路径,需按失败原因分类整改为正式语义码或内部透传。 采取的方法: - op_host 参数/输入校验类(shape / dtype / format / attr 值域等)裸 OP_LOGE → 正式语义宏(EZ0004 / EZ0008–EZ0038) - op_host 内部 API 失败类(平台能力查询、tiling API 失败等)→ OP_LOGE_WITHOUT_REPORT 透传,去掉 EZ9999 上报、保留日志 - OP_CHECK_NULL_WITH_CONTEXT (EZ9999)→ 显式空指针检查 + 正式码宏 - op_api OP_CHECK_NOTNULL (EZ9999)→ 显式检查 + OP_LOGE_WITHOUT_REPORT(ACLNN_ERR_INNER_NULLPTR) + 返回公共错误码 - op_api OP_LOGE(ACLNN_ERR_INNER_* / RUNTIME_ERROR) (561xxx / 361xxx)→ OP_LOGE_WITHOUT_REPORT ;正式参数码 ACLNN_ERR_PARAM_* (161xxx)保留 - 删除 CREATE_EXECUTOR 之后不可达的空指针死检查( CHECK_RET(executor.get()!=nullptr, ACLNN_ERR_INNER_CREATE_EXECUTOR) ,40 处) - op_graph(histogram_v2 / reduce_mean 融合 pass)E9 上报 → 正式码或透传 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3977 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 43 算子 op_host / op_api / op_graph 全量编译通过,exit 0(910b + 950/arch35) - 本地增加ut测试130 用例全量通过(910b 83 + 950 47),日志级验证触发 78 次正式 EZ 错误码上报,覆盖 14 个正式错误码 - 原版 math_op_host_ut 300 用例全量通过,无回归 - 静态复扫:范围内 E*9**** 正式上报清零(残留均为 CHECK_RET 返回公共码 / 动态 return 等允许项) - 附:适配 CANN 9.3.0 atvoss 库 tiling key 编码变化,更新 reduce_max / reduce_mean_with_count 测试的 9 处 expectedTilingKey (官方 master 在 9.3.0 下同样失败,非本 PR 引入) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6606 | 17 days ago | |
fix(aicpu): 整改代码质量告警 Co-authored-by: zhaowenrui666<zhaowenrui7@huawei.com> # message auto-generated for no-merge-commit merge: !5881 merge fix-aicpu-codecheck-warnings into master fix(aicpu): 整改代码质量告警 Created-by: zhaowenrui666 Commit-by: zhaowenrui666 Merged-by: cann-robot Description: ## 描述 整改部分 AICPU 算子的代码质量告警: - 将可替代的 reinterpret_cast 调整为 static_cast。 - 为 lambda 显式列出捕获变量,避免默认引用捕获。 - 补充成员函数 const 限定、析构函数 override 以及头文件内函数的 inline 限定。 - 修正有符号整数左移、状态码隐式布尔转换及指针顶层 const 等告警。 - 同步头文件声明与实现签名,不改变算子功能语义。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3264 ## 测试 - cmake --build build --target aicpu_kernels -j8:通过,成功生成 libmath_aicpu_kernels.so。 - 对本次修改文件执行 pre-commit run --files ...:全部通过,包括 clang-format、codespell 和 OAT 检查。 - git diff --check:通过。 ## 文档更新 无文档变更。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:AICPU 代码质量告警整改 See merge request: cann/ops-math!5881 | 1 month ago | |
fix(TopKFusionPass): data_type DT_INT64 of input[1, k] is unsupported Co-authored-by: jerry_gd<jerry.luo@huawei.com> # message auto-generated for no-merge-commit merge: !7006 merge TopKFusionPass into master fix(TopKFusionPass): data_type DT_INT64 of input[1, k] is unsupported Created-by: jerry_gd Commit-by: jerry_gd Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 修复TopKFusionPass 在两处场景下的 dtype 处理问题。其一,被各道门禁拒绝(x dtype 不合规、sorted=false、TopKD 后端拒绝)的 TopK 源节点如果 k 输入 desc 为 int64,原实现直接跳过,导致后续 AICPU 选型报 DT_INT64 ... unsupported;现以 int32 的 k desc 重建该节点。其二,AICPU 降级替换时 indices 输出 desc 改为无条件声明为 int32,避免从 values desc 继承 double 等不可选型 dtype。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/4413 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 二级冒烟通过。 - ascend310B芯片下,跑相关k为int64的用例通过。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及。 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7006 | 10 days ago | |
fix(build): 修复UT构建失败问题 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !5145 merge master into master fix(build): 修复UT构建失败问题 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5145 | 2 months ago | |
产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5912 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5912 | 1 month ago | |
docs: add English translations for markdown files Co-authored-by: jenny_xiang<jenny.xiang@huawei.com> # message auto-generated for no-merge-commit merge: !7113 merge docs/add-english-translations into master docs: add English translations for markdown files Created-by: jenny_xiang Commit-by: jenny_xiang Merged-by: cann-robot Description: ## 描述 新增仓库Markdown文档英文译稿(第二批,共409个文件):第一批(已合入)之外的其余全部译稿,覆盖conversion、examples、ge、math、random各类算子README译稿,以及CHANGELOG_en.md、.gitcode PR模板英文版等。 本批内全部仓内链接均指向master已有文件(含第一批已合入的21+2篇译稿),合入后本仓432篇英文文档全部就位,链接完整生效。 本批同时包含4篇基于最新源文档的增量更新(math/ada_cast、math/prod_force_se_a、math/sinkhorn、math/xlogy,对应上游近期文档变更)。 ## 关联的Issue 无 ## 测试 文档类变更,无需算子测试;已通过链接有效性校验(本批全部相对链接仅指向master已有文件,无指向本PR外未提交文件的链接),并完成逐篇翻译规范自查与语义校对(含支持状态表、限定词、术语、数值符号核对)。 ## 文档更新 新增409个英文译稿文件(*_en.md / .en-US.md),不修改任何现有文件。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7113 | 8 days ago |
TopK
English | 简体中文
Product Support Status
| Product | Supported |
|---|---|
| Ascend 950PR&950DT products | √ |
| Atlas A3 products | √ |
| Atlas A2 products | √ |
| Atlas 200I/500 A2 inference products | √ |
| Atlas inference products | √ |
| Atlas training products | √ |
Function Description
- Operator function: finds the k largest or smallest elements in the input tensor and their indices along the specified dimension.
Parameter Description
| Parameter Name | Input/Output/Attribute | Description | Data Type | Data Format |
|---|---|---|---|---|
| x | Input | Input tensor. | FLOAT16, FLOAT, DOUBLE, INT8, INT16, INT32, INT64, UINT8, UINT16, UINT32, UINT64, BFLOAT16 | ND |
| k | Input | Number of elements to take. | INT32 | ND |
| sorted | Attribute | Whether to sort the output results. The default value is true. | Bool | - |
| largest | Attribute | Whether to take the maximum values. The default value is true. If false, the minimum values are taken. | Bool | - |
| dim | Attribute | Dimension along which the operation is performed. The default value is -1 (the last dimension). | Int | - |
| values | Output | Output top-k element values. | FLOAT16, FLOAT, DOUBLE, INT8, INT16, INT32, INT64, UINT8, UINT16, UINT32, UINT64, BFLOAT16 | ND |
| indices | Output | Indices of the output top-k elements in the input tensor. | INT32 | ND |
Constraint Description
- dim must be in the range [-number of dimensions of x, number of dimensions of x).
- k must be greater than or equal to 0 and less than or equal to the size of x on the dim dimension.
- The BFLOAT16 type is supported only on specific products.
Invocation Description
| Invocation Method | Sample Code | Description |
|---|---|---|
| Graph-mode invocation | test_geir_topk | Invokes the TopK operator through the operator IR API. |