| Files | Last commit | Last update |
|---|---|---|
【bugfix】修复conversion算子example中调用示例 Co-authored-by: jisongyuan@h-partners.com<jisongyuan@h-partners.com> # message auto-generated for no-merge-commit merge: !1020 merge example into master 【bugfix】修复conversion算子example中调用示例 Created-by: ji-songyuan Commit-by: jisongyuan@h-partners.com Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> coalesce_spars提供geir_example调用示例 diag_v2使用手写aclnn_diag接口,关闭自动生成的aclnn_diag_v2接口 feeds_repeat提供geir_example调用示例 stack_ball_query提供geir_example调用示例,修改infershape符合标准 transpose_v2使用transpose中手写aclnn_permute,关闭自动生成aclnn_transpose_v2接口,并提供对应算子的aclnn_example ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> #593 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> example已经验证,可以使用 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!1020 | 9 months ago | |
【bugfix】修复conversion算子example中调用示例 Co-authored-by: jisongyuan@h-partners.com<jisongyuan@h-partners.com> # message auto-generated for no-merge-commit merge: !1020 merge example into master 【bugfix】修复conversion算子example中调用示例 Created-by: ji-songyuan Commit-by: jisongyuan@h-partners.com Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> coalesce_spars提供geir_example调用示例 diag_v2使用手写aclnn_diag接口,关闭自动生成的aclnn_diag_v2接口 feeds_repeat提供geir_example调用示例 stack_ball_query提供geir_example调用示例,修改infershape符合标准 transpose_v2使用transpose中手写aclnn_permute,关闭自动生成aclnn_transpose_v2接口,并提供对应算子的aclnn_example ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> #593 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> example已经验证,可以使用 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!1020 | 9 months ago | |
修复 stack_ball_query 算子错误码 Co-authored-by: init__zhb__<zhanghaobo6@huawei.com> # message auto-generated for no-merge-commit merge: !6686 merge br.fix.errcode.stack_ball_query into master 修复 stack_ball_query 算子错误码 Created-by: init__zhb__ Commit-by: init__zhb__ Merged-by: cann-robot Description: ## 描述 conversion/stack_ball_query算子EZ9999错误码整改,整改列表: | 层级 | 上报接口 | 文件 | 行号 | |---|---|---|---| | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 38 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 46 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 48 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 50 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 52 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 55 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 93 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 95 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 53 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 61 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 72 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 81 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 101 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 115 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 131 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 139 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 162 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 167 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 169 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 173 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 184 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 187 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 196 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 210 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 212 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 214 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 280 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 289 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 293 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 299 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 336 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 381 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 383 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 387 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 395 | ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 - UT 构建通过: bash build.sh -u --ophost --ops=stack_ball_query --soc=ascend910b --noexec -j8 - UT 测试通过: bash $ $ ./build/tests/ut/op_host/math_op_host_ut --gtest_filter='StackBallQuery*' Note: Google Test filter = StackBallQuery* ... [ RUN ] StackBallQueryInfershape.stack_ball_query_infershape_neg_input_num_mismatch [ OK ] StackBallQueryInfershape.stack_ball_query_infershape_neg_input_num_mismatch (0 ms) StackBallQueryInfershape TearDown [----------] 14 tests from StackBallQueryInfershape (0 ms total) [----------] Global test environment tear-down Global Environment TearDown [==========] 32 tests from 2 test suites ran. (25 ms total) [ PASSED ] 32 tests. - 黄区构建通过:  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6686 | 14 days ago | |
StackBallQuery 增加950支持 Co-authored-by: wang-shilong32<wangshilong23@huawei.com> # message auto-generated for no-merge-commit merge: !4783 merge simt_stack_ball into master StackBallQuery 增加950支持 Created-by: wang-shilong32 Commit-by: wang-shilong32 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 增加StackBallQuery 950支持,修复kernel不支持int64 batchcount的问题,并添加对应的infershape、tiling校验和测试UT。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/2874 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 本地出包验证kernel、geir,UT测试,冒烟测试。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4783 | 2 months ago | |
修复 stack_ball_query 算子错误码 Co-authored-by: init__zhb__<zhanghaobo6@huawei.com> # message auto-generated for no-merge-commit merge: !6686 merge br.fix.errcode.stack_ball_query into master 修复 stack_ball_query 算子错误码 Created-by: init__zhb__ Commit-by: init__zhb__ Merged-by: cann-robot Description: ## 描述 conversion/stack_ball_query算子EZ9999错误码整改,整改列表: | 层级 | 上报接口 | 文件 | 行号 | |---|---|---|---| | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 38 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 46 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 48 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 50 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 52 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 55 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 93 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 95 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 53 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 61 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 72 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 81 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 101 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 115 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 131 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 139 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 162 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 167 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 169 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 173 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 184 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 187 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 196 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 210 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 212 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 214 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 280 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 289 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 293 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 299 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 336 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 381 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 383 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 387 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 395 | ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 - UT 构建通过: bash build.sh -u --ophost --ops=stack_ball_query --soc=ascend910b --noexec -j8 - UT 测试通过: bash $ $ ./build/tests/ut/op_host/math_op_host_ut --gtest_filter='StackBallQuery*' Note: Google Test filter = StackBallQuery* ... [ RUN ] StackBallQueryInfershape.stack_ball_query_infershape_neg_input_num_mismatch [ OK ] StackBallQueryInfershape.stack_ball_query_infershape_neg_input_num_mismatch (0 ms) StackBallQueryInfershape TearDown [----------] 14 tests from StackBallQueryInfershape (0 ms total) [----------] Global test environment tear-down Global Environment TearDown [==========] 32 tests from 2 test suites ran. (25 ms total) [ PASSED ] 32 tests. - 黄区构建通过:  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6686 | 14 days ago | |
增加A2 A3新算子支持 Co-authored-by: slx2008<shaolixin@huawei.com> # message auto-generated for no-merge-commit merge: !448 merge master into master 增加A2 A3新算子支持 Created-by: songkai111 Commit-by: slx2008 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!448 | 10 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 |
StackBallQuery
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR&950DT系列产品 | √ |
| Atlas A3系列产品 | √ |
| Atlas A2系列产品 | √ |
| Atlas 200I/500 A2推理产品 | × |
| Atlas推理系列产品 | × |
| Atlas训练系列产品 | √ |
| Kirin X90处理器系列产品 | √ |
| Kirin 9030处理器系列产品 | √ |
功能说明
- 算子功能:Stack Ball Query是KNN的替代方案,用于查找点p1指定半径范围内的所有点(在实现中设置了K的上限)。 返回的点不一定是距离p1最近的点,而是半径范围内的前K个点。 和Ball Query算子相比,Stack Ball Query将Ball Query算子的输入进行了堆叠,center_xyz和xyz的维度从3变成了2。 优势:当半径范围内存在大量点时,该算法比KNN算法更快,同时保证了固定的区域尺度,使局部区域特征更通用。 使用模型:该算子在PointNet++模型中被提出,在该模型及其衍生模型中使用。 Stack Ball Query具体操作如下: 根据输入的center_xyz,对同一个batch内的每一个点计算和xyz之间的距离。 如果距离小于max_radius,保存xyz点的索引值。 寻找到sample_num个满足要求的索引后,退出循环。 输出保存的索引值。
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| xyz | 输入 | 2D Tensor,经过堆叠的xyz的坐标值 | FLOAT16、FLOAT32 | ND |
| center_xyz | 输入 | 2D Tensor,经过堆叠的center_xyz的坐标值 | FLOAT16、FLOAT32 | ND |
| xyz_batch_cnt | 输入 | 1D Tensor,表示每个batch中的xyz点个数 | INT32、INT64 | ND |
| center_xyz_batch_cnt | 输入 | 1D Tensor,表示每个batch中的center_xyz点个数 | INT32、INT64 | ND |
| idx | 输出 | stack ball query后得到的索引值 | INT32 | ND |
| max_radius | 输入属性 | 最大半径值 | FLOAT | - |
| sample_num | 输入属性 | 最大采样数 | INT | - |
约束说明
- xyz为2维Tensor,shape为(3,N),第0维必须为3(对应x/y/z三个坐标轴,坐标按行存储),第1维N为堆叠后总点数。
- center_xyz为2维Tensor,shape为(M,3),第1维必须为3(每个center含cx/cy/cz三个坐标)。
- xyz_batch_cnt为1维Tensor,shape为(B,),B为batch数。
- center_xyz_batch_cnt为1维Tensor,shape为(B,),dim[0]必须与xyz_batch_cnt的dim[0]一致。
- xyz与center_xyz的dtype必须相同,且为FLOAT或FLOAT16。
- xyz_batch_cnt与center_xyz_batch_cnt的dtype必须相同,且为INT32或INT64。
- 输出idx的dtype固定为INT32,shape为(M,sample_num),M为center_xyz.shape[0]。
- max_radius必须大于0。
- sample_num必须大于0。
- 算子仅支持2D输入(xyz和center_xyz)及1D输入(batch_cnt),不支持标量或其他维度场景。
调用说明
| 调用方式 | 样例代码 | 说明 |
|---|---|---|
| aclnn接口 | test_geir_stack_ball_query | 通过算子IR构图方式调用StackBallQuery算子。 |