文件最后提交记录最后更新时间
doc tool motidy Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !2186 merge 9.0.0 into 9.0.0 doc tool motidy Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 修改math仓的doc tools检测内容,修改markdown等语法 ## 关联的Issue 关联issue#1262 [https://gitcode.com/cann/ops-math/issues/1262](url) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 更新全部文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [X] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!21861 个月前
Update A5 sort and sort_with_index Co-authored-by: JimmyLam2<linjingmin2@huawei.com> # message auto-generated for no-merge-commit merge: !823 merge master into master Update A5 sort and sort_with_index Created-by: JimmyLam2 Commit-by: JimmyLam2 Merged-by: cann-robot Description: ## 描述 Update A5 sort and sort_with_index ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!8234 个月前
Update A5 sort and sort_with_index Co-authored-by: JimmyLam2<linjingmin2@huawei.com> # message auto-generated for no-merge-commit merge: !823 merge master into master Update A5 sort and sort_with_index Created-by: JimmyLam2 Commit-by: JimmyLam2 Merged-by: cann-robot Description: ## 描述 Update A5 sort and sort_with_index ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!8234 个月前
Update A5 sort and sort_with_index Co-authored-by: JimmyLam2<linjingmin2@huawei.com> # message auto-generated for no-merge-commit merge: !823 merge master into master Update A5 sort and sort_with_index Created-by: JimmyLam2 Commit-by: JimmyLam2 Merged-by: cann-robot Description: ## 描述 Update A5 sort and sort_with_index ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!8234 个月前
新增sort算子核内归并模板 Co-authored-by: ConanHuang<huangxiaobin1@huawei.com> # message auto-generated for no-merge-commit merge: !1779 merge 9.0.0 into 9.0.0 新增sort算子核内归并模板 Created-by: ConanHuang Commit-by: ConanHuang Merged-by: cann-robot Description: ## 描述 1 新增sort算子核内归并模板,三阶段流水线:UB排序(Phase1) -> 四路归并(Phase2) -> 提取输出(Phase3) 2 调整单核归并排序fp32进入条件 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1013 ## 测试 - 已跑二级冒烟,结果正常 - 已跑基础的150+ ST用例,性能和功能均正常 - 新增7个ST用例,覆盖模板各个核心分支,已验证通过 - 通过调整排序轴大小,分析得到与基数排序的临界点,临界点内本次新增模板优于基数排序,已将临界点设置为模板挑选的依据 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!17792 个月前
新增sort算子核内归并模板 Co-authored-by: ConanHuang<huangxiaobin1@huawei.com> # message auto-generated for no-merge-commit merge: !1779 merge 9.0.0 into 9.0.0 新增sort算子核内归并模板 Created-by: ConanHuang Commit-by: ConanHuang Merged-by: cann-robot Description: ## 描述 1 新增sort算子核内归并模板,三阶段流水线:UB排序(Phase1) -> 四路归并(Phase2) -> 提取输出(Phase3) 2 调整单核归并排序fp32进入条件 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1013 ## 测试 - 已跑二级冒烟,结果正常 - 已跑基础的150+ ST用例,性能和功能均正常 - 新增7个ST用例,覆盖模板各个核心分支,已验证通过 - 通过调整排序轴大小,分析得到与基数排序的临界点,临界点内本次新增模板优于基数排序,已将临界点设置为模板挑选的依据 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!17792 个月前
新增sort算子核内归并模板 Co-authored-by: ConanHuang<huangxiaobin1@huawei.com> # message auto-generated for no-merge-commit merge: !1779 merge 9.0.0 into 9.0.0 新增sort算子核内归并模板 Created-by: ConanHuang Commit-by: ConanHuang Merged-by: cann-robot Description: ## 描述 1 新增sort算子核内归并模板,三阶段流水线:UB排序(Phase1) -> 四路归并(Phase2) -> 提取输出(Phase3) 2 调整单核归并排序fp32进入条件 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1013 ## 测试 - 已跑二级冒烟,结果正常 - 已跑基础的150+ ST用例,性能和功能均正常 - 新增7个ST用例,覆盖模板各个核心分支,已验证通过 - 通过调整排序轴大小,分析得到与基数排序的临界点,临界点内本次新增模板优于基数排序,已将临界点设置为模板挑选的依据 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!17792 个月前
Arch编码更新 Co-authored-by: liulinxiang<liulinxiang1@huawei.com> # message auto-generated for no-merge-commit merge: !992 merge master1 into master Arch编码更新 Created-by: liulinxiang Commit-by: liulinxiang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!9924 个月前
修改整个math仓doc tools修改 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !2280 merge 9.0.0 into 9.0.0 修改整个math仓doc tools修改 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 修改math仓的doc tools检测内容,修改markdown等语法 ## 关联的Issue 关联issue#1262 [https://gitcode.com/cann/ops-math/issues/1262](url) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 更新全部文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [X] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!22801 个月前
README.md

Sort

产品支持情况

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

功能说明

将输入tensor中的元素根据指定维度进行升序/降序, 并且返回对应的index值。输入tensor self总共是N维 [0, N-1],根据dim指定的维度进行排序。

函数原型

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

aclnnStatus aclnnSortGetWorkspaceSize(
  const aclTensor *self, 
  bool             stable, 
  int64_t          dim, 
  bool             descending, 
  aclTensor       *valuesOut, 
  aclTensor       *indicesOut, 
  uint64_t        *workspaceSize, 
  aclOpExecutor  **executor)
aclnnStatus aclnnSort(
  void             *workspace, 
  uint64_t          workspaceSize, 
  aclOpExecutor    *executor, 
  const aclrtStream stream)

aclnnSortGetWorkspaceSize

  • 参数说明:

    参数名 输入/输出 描述 使用说明 数据类型 数据格式 维度(shape) 非连续Tensor
    self 输入 输入Tensor。 - BFLOAT16、FLOAT16、FLOAT32、INT8、INT16、INT32、INT64、UINT8、UINT16、UINT32、UINT64、BOOL ND 1-8
    stable 输入 是否稳定排序, True为稳定排序,False为非稳定排序。 - BOOL - - -
    dim 输入 用来作为排序标准的维度。 范围为 [-self.dim(), self.dim()-1],self.dim()为输入tensor的维度。 INT64 - - -
    descending 输入 控制排序顺序,True为降序,False为升序。 - BOOL - - -
    valuesOut 输出 表示tensor在指定维度上排序的结果。 - BFLOAT16、FLOAT16、FLOAT32、DOUBLE、INT8、INT16、INT32、INT64、UINT8、BOOL、UINT16、UINT32、UINT64 ND 与self一致
    indicesOut 输出 表示排序后每个元素在原tensor中的索引。 - INT64 ND 与self一致
    • Atlas A2 训练系列产品/Atlas A2 推理系列产品、Atlas A3 训练系列产品/Atlas A3 推理系列产品:
      • self数据类型不支持UINT16、UINT32、UINT64。
      • 当self的数据类型为BFLOAT16时,参数dim指定的轴不能等于1。
      • valuesOut数据类型不支持UINT16、UINT32、UINT64。
    • Ascend 950PR/Ascend 950DT:valuesOut数据类型不支持DOUBLE、BOOL。
  • 返回值

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

    第一段接口完成入参校验,出现以下场景时报错:

    返回码 错误码 描述
    ACLNN_ERR_PARAM_NULLPTR 161001 传入的self、valuesOut或indicesOut是空指针。
    ACLNN_ERR_PARAM_INVALID 161002 self、valuesOut或indicesOut的数据类型不在支持的范围之内, 或shape不相互匹配。
    dim的取值不在输入tensor self的维度范围中。

aclnnSort

  • 参数说明

    参数名 输入/输出 描述
    workspace 输入 在Device侧申请的workspace内存地址。
    workspaceSize 输入 在Device侧申请的workspace大小,由第一段接口aclnnSortGetWorkspaceSize获取。
    executor 输入 op执行器,包含了算子计算流程。
    stream 输入 指定执行任务的Stream。
  • 返回值

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

约束说明

  • 确定性计算:

    • aclnnSort默认确定性实现。
  • self的数据类型不为FLOAT、FLOAT16、BFLOAT16时,tensor size过大可能会导致算子执行超时(aicpu error类型报错,报错 reason=[aicpu timeout]),具体类型最大size(与机器具体剩余内存强相关)限制如下:

    • INT64 类型:150000000
    • UINT8、INT8、INT16、INT32 类型:725000000