文件最后提交记录最后更新时间
doc tools 工具扫描问题修改 Co-authored-by: gitee-yanglulu<yanglulul@h-partners.com> # message auto-generated for no-merge-commit merge: !1938 merge master into master doc tools 工具扫描问题修改 Created-by: gitee-yanglulu Commit-by: gitee-yanglulu Merged-by: cann-robot Description: doc tools 工具扫描问题修改 See merge request: cann/ops-math!19382 个月前
open op ArgMaxV2 ArgMaxWithValue ArgMin ArgMinWithValue BitWiseAnd BitWiseOr LogicalNot MaskedScale Reciprocal Co-authored-by: ChenPengyi<chenpengyi@huawei.com> # message auto-generated for no-merge-commit merge: !588 merge py_docs into master open op ArgMaxV2 ArgMaxWithValue ArgMin ArgMinWithValue BitWiseAnd BitWiseOr LogicalNot MaskedScale Reciprocal Created-by: cpy_123456 Commit-by: ChenPengyi Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5884 个月前
add transpose and pad series op to opensource new Co-authored-by: lu-yukun<luyukun4@h-partners.com> # message auto-generated for no-merge-commit merge: !891 merge xf_mem_as_new into master add transpose and pad series op to opensource new Created-by: lu-yukun Commit-by: lu-yukun Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> add transpose and pad series op to opensource new ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!8914 个月前
add argmax(min)withvalue attr for dtype Co-authored-by: lu-yukun<luyukun4@h-partners.com> # message auto-generated for no-merge-commit merge: !1049 merge br_argmax_min_withvalue into master add argmax(min)withvalue attr for dtype Created-by: lu-yukun Commit-by: lu-yukun Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> add argmax(min)withvalue attr for dtype ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/642 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!10493 个月前
修改不易理解词汇-使能,并补齐op_list(math/random类) Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !2982 merge master into master 修改不易理解词汇-使能,并补齐op_list(math/random类) Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ①修改不易理解词汇-使能; ②排查op_list.md中math/random类下算子目录是否齐全 ③排查op_api_list.md是否齐全 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 已验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> op_list.md op_api_list.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!29826 天前
argmax优化 Co-authored-by: RoyHys<huangyuqian6@huawei.com> # message auto-generated for no-merge-commit merge: !2856 merge master into master argmax优化 Created-by: RoyHys Commit-by: RoyHys Merged-by: cann-robot Description: ## 描述 ArgMax算子在ARA分支切分尾轴,且尾轴较大时,性能较差,同带宽950PR表现为达不到竞品的0.5倍;在纯R轴时,搬运量不足,达不到竞品的0.5倍。 ### 问题分析 104分支存在问题: 1、当尾轴大于128B下,尾轴发生切分,NDDMA不能发挥出Dcache命中的优势,搬运带宽只能做到600G,因此不能走NDDMA 2、如果要走入movalien 在cutAwithNextA分支里,性能有优化,但是如果cutNextA<64B场景,随着cacheline命中率的下降,竞品没有下降,达不到竞品的0.5倍带宽性能 现有 GROUP_REDUCE 分支存在以下问题: 1. UB 空间计算不准确,导致 cutRSize 偏小,循环次数过多 2. 不支持核内切分 A 轴,当 A 较大时无法有效利用 UB 3. 特定 nextA 范围(>256B 且 <coreNum×64B)场景缺少高效处理路径 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1651 ## 测试 例:典型shape((3, 300000, 65),)->(3, 65) GPU时间比例从0.07倍变为1.86倍 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!28568 天前
整改st目录下的atk用例统一目录格式 Co-authored-by: yue-ma<mayue54@huawei.com> # message auto-generated for no-merge-commit merge: !2579 merge master into master 整改st目录下的atk用例统一目录格式 Created-by: yue-ma Commit-by: yue-ma Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 整改st目录下的atk用例统一目录格式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1538 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:st用例目录整改 See merge request: cann/ops-math!257921 天前
适配PG short_soc_version Co-authored-by: xufeng12121<1074805447@qq.com> # message auto-generated for no-merge-commit merge: !2804 merge mc62 into master 适配PG short_soc_version Created-by: xufeng12121 Commit-by: xufeng12121 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 算子适配PG特性,将math仓 mc62cm12a/MC62CM12A 改成 mc62/MC62 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1732 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!28044 天前
math仓的doc tools 工具检测的低错问题 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !2461 merge master into master math仓的doc tools 工具检测的低错问题 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 处理math仓的doc tools 工具检测的低错问题,包括markdown低错、htlm标签合入、链接是否可以正常跳转 ## 关联的Issue #关联issue#1262 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 更新全部文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!24611 个月前
README.md

ArgMaxWithValue

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2 推理产品 ×
Atlas 推理系列产品
Atlas 训练系列产品

功能说明

算子功能:返回Tensor指定维度的最大值及其索引位置。最大值保存到out中,最大值的索引保存到indices中。如果keepdim为false,则不保留对应的轴;如果为true,则保留指定轴的维度值为1。

函数原型

每个算子分为两段式接口,必须先调用“aclnnMaxDimGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnMaxDim”接口执行计算。

  • aclnnStatus aclnnMaxDimGetWorkspaceSize(const aclTensor *self, int64_t dim, bool keepdim, aclTensor *out, aclTensor *indices, uint64_t *workspaceSize, aclOpExecutor **executor)
  • aclnnStatus aclnnMaxDim(void *workspace, uint64_t workspaceSize, aclOpExecutor *executor, aclrtStream stream)

aclnnMaxDimGetWorkspaceSize

  • 参数说明:

    • self(aclTensor*, 计算输入):Device侧的aclTensor。支持非连续的Tensor数据格式支持ND。支持[1, 8]维。

      • Atlas 推理系列产品、Atlas 训练系列产品:数据类型支持FLOAT、FLOAT16、INT64、BOOL
      • Atlas A2 训练系列产品/Atlas A2 推理系列产品、Atlas A3 训练系列产品/Atlas A3 推理系列产品:数据类型支持FLOAT、FLOAT16、INT64、BOOL、BFLOAT16
      • Ascend 950PR/Ascend 950DT:数据类型支持FLOAT、FLOAT16、INT64、BOOL、BFLOAT16、INT32
    • dim(int64_t, 计算输入):指定的维度,数据类型为INT64,取值范围在[-self.dim(), self.dim())。

    • keepdim(bool,计算输入):reduce轴的维度是否保留,数据类型为BOOL。

    • out(aclTensor*, 计算输出):Device侧的aclTensor,且数据类型和self一致。支持非连续的Tensor数据格式支持ND。如果keepdim为false,则输出维度为self维度减1;如果keepdim为true,则输出维度等于self维度。

      • Atlas 推理系列产品、Atlas 训练系列产品:数据类型支持FLOAT、FLOAT16、INT64、BOOL
      • Atlas A2 训练系列产品/Atlas A2 推理系列产品、Atlas A3 训练系列产品/Atlas A3 推理系列产品:数据类型支持FLOAT、FLOAT16、INT64、BOOL、BFLOAT16
      • Ascend 950PR/Ascend 950DT:数据类型支持FLOAT、FLOAT16、INT64、BOOL、BFLOAT16、INT32
    • indices(aclTensor*, 计算输出):Device侧的aclTensor。支持非连续的Tensor数据格式支持ND。

      • Atlas A2 训练系列产品/Atlas A2 推理系列产品、Atlas A3 训练系列产品/Atlas A3 推理系列产品、Ascend 950PR/Ascend 950DT:数据类型支持BOOL、FLOAT32、FLOAT16、INT8、INT16、UINT16、UINT8、INT32、INT64、UINT32、UINT64、DOUBLE、COMPLEX64、COMPLEX128、BFLOAT16。
      • Atlas 推理系列产品、Atlas 训练系列产品:数据类型支持BOOL、FLOAT32、FLOAT16、INT8、INT16、UINT16、UINT8、INT32、INT64、UINT32、UINT64、DOUBLE、COMPLEX64、COMPLEX128。
    • workspaceSize(uint64_t*, 出参):返回需要在Device侧申请的workspace大小。

    • executor(aclOpExecutor**, 出参):返回op执行器,包含了算子计算流程。

  • 返回值:

    aclnnStatus:返回状态码,具体参见aclnn返回码

第一段接口完成入参校验,出现以下场景时报错:
161001 (ACLNN_ERR_PARAM_NULLPTR): 1. 传入的self、out和indices是空指针。
161002 (ACLNN_ERR_PARAM_INVALID): 1. self、out和indices数据类型不在支持的范围内。
                                  2. self、out和indices的数据格式不在支持的范围内。
                                  3. dim超出输入self的维度范围。

aclnnMaxDim

  • 参数说明:

    • workspace(void*, 入参):在Device侧申请的workspace内存地址。

    • workspaceSize(uint64_t, 入参):在Device侧申请的workspace大小,由第一段接口aclnnMaxDimGetWorkspaceSize获取。

    • executor(aclOpExecutor*, 入参):op执行器,包含了算子计算流程。

    • stream(aclrtStream, 入参):指定执行任务的Stream。

  • 返回值:

    aclnnStatus:返回状态码,具体参见aclnn返回码

约束说明

  • 确定性计算:
    • aclnnMaxDim默认确定性实现。

调用说明

调用方式 调用样例 说明
aclnn调用 test_aclnn_arg_max_with_value 通过aclnnMaxDim接口方式调用ArgMaxWithValue算子。