已合并
math仓资料整改 #2265
sunchun创建于 4月16日
math仓资料整改 #2265
已合并
从已删除 :mathtext1合入到cann/ops-mathmaster
共 3 个文件变更+316-55
| @@ -139,7 +139,8 @@ aclnnStatus aclnnLinalgCross( | |||
| 139 | </tr> | 139 | </tr> |
| 140 | </tbody></table> | 140 | </tbody></table> |
| 141 | 141 | ||
| 142 | - - <term>Atlas 训练系列产品</term>不支持BFLOAT16。 | 142 | + - <term>Atlas 训练系列产品:</term>不支持BFLOAT16。 |
| 143 | + | ||
| 143 | - **返回值:** | 144 | - **返回值:** |
| 144 | 145 | ||
| 145 | aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。 | 146 | aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。 |
| @@ -13,41 +13,128 @@ | |||
| 13 | 13 | ||
| 14 | ## 功能说明 | 14 | ## 功能说明 |
| 15 | 15 | ||
| 16 | -- 算子功能:将uint8类型1位Adam拆包为float32或者float16。 | 16 | +将uint8类型1位Adam拆包为float32或者float16。 |
已过期
![]() ![]() | |||
| 17 | 17 | ||
| 18 | ## 函数原型 | 18 | ## 函数原型 |
| 19 | 19 | ||
| 20 | -每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnSignBitsUnpackGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnSignBitsUnpack”接口执行计算。 | 20 | +每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用"aclnnSignBitsUnpackGetWorkspaceSize"接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用"aclnnSignBitsUnpack"接口执行计算。 |
| 21 | 21 | ||
| 22 | -- `aclnnStatus aclnnSignBitsUnpackGetWorkspaceSize(const aclTensor* self, int64_t size, aclDataType dtype, aclTensor* out, uint64_t* workspaceSize, aclOpExecutor** executor)` | 22 | +```Cpp |
| 23 | -- `aclnnStatus aclnnSignBitsUnpack(void* workspace, uint64_t workspaceSize, aclOpExecutor* executor, aclrtStream stream)` | 23 | +aclnnStatus aclnnSignBitsUnpackGetWorkspaceSize( |
| 24 | + const aclTensor* self, | ||
| 25 | + int64_t size, | ||
| 26 | + aclDataType dtype, | ||
| 27 | + aclTensor* out, | ||
| 28 | + uint64_t* workspaceSize, | ||
| 29 | + aclOpExecutor** executor) | ||
| 30 | +``` | ||
| 31 | + | ||
| 32 | +```Cpp | ||
| 33 | +aclnnStatus aclnnSignBitsUnpack( | ||
| 34 | + void* workspace, | ||
| 35 | + uint64_t workspaceSize, | ||
| 36 | + aclOpExecutor* executor, | ||
| 37 | + aclrtStream stream) | ||
| 38 | +``` | ||
| 24 | 39 | ||
| 25 | ## aclnnSignBitsUnpackGetWorkspaceSize | 40 | ## aclnnSignBitsUnpackGetWorkspaceSize |
| 26 | 41 | ||
| 27 | - **参数说明:** | 42 | - **参数说明:** |
| 28 | 43 | ||
| 29 | - - self(aclTensor*, 计算输入):表示用于计算的1D张量,Device侧的aclTensor,支持空tensor场景,数据类型支持UINT8,支持[非连续的Tensor](../../../docs/zh/context/非连续的Tensor.md),[数据格式](../../../docs/zh/context/数据格式.md)支持ND。 | 44 | + <table style="undefined;table-layout: fixed; width: 1550px"><colgroup> |
| 30 | - | 45 | + <col style="width: 190px"> |
| 31 | - - size(int64_t, 入参):表示维度处理,Host侧的整型,reshape时输出张量的第一个维度,数据类型支持INT64。 | 46 | + <col style="width: 120px"> |
| 32 | - | 47 | + <col style="width: 250px"> |
| 33 | - - dtype(aclDataType, 入参):表示量化输出Tensor的数据类型,支持ACL_FLOAT16、ACL_FLOAT。 | 48 | + <col style="width: 320px"> |
| 34 | - | 49 | + <col style="width: 250px"> |
| 35 | - - out(aclTensor*, 计算输出):Device侧的aclTensor,数据类型支持FLOAT16、FLOAT,由dtype参数决定。[数据格式](../../../docs/zh/context/数据格式.md)支持ND。支持[非连续的Tensor](../../../docs/zh/context/非连续的Tensor.md)。 | 50 | + <col style="width: 120px"> |
| 36 | - | 51 | + <col style="width: 140px"> |
| 37 | - - workspaceSize(uint64_t*, 出参):返回需要在Device侧申请的workspace大小。 | 52 | + <col style="width: 160px"> |
| 38 | - | 53 | + </colgroup> |
| 39 | - - executor(aclOpExecutor**, 出参):返回op执行器,包含了算子计算流程。 | 54 | + <thead> |
| 55 | + <tr> | ||
| 56 | + <th>参数名</th> | ||
| 57 | + <th>输入/输出</th> | ||
| 58 | + <th>描述</th> | ||
| 59 | + <th>使用说明</th> | ||
| 60 | + <th>数据类型</th> | ||
| 61 | + <th>数据格式</th> | ||
| 62 | + <th>维度(shape)</th> | ||
| 63 | + <th>非连续Tensor</th> | ||
| 64 | + </tr></thead> | ||
| 65 | + <tbody> | ||
| 66 | + <tr> | ||
| 67 | + <td>self(aclTensor*)</td> | ||
| 68 | + <td>输入</td> | ||
| 69 | + <td>表示用于计算的1D张量。</td> | ||
| 70 | + <td>支持空tensor场景。</td> | ||
| 71 | + <td>UINT8</td> | ||
| 72 | + <td>ND</td> | ||
| 73 | + <td>1</td> | ||
| 74 | + <td>√</td> | ||
| 75 | + </tr> | ||
| 76 | + <tr> | ||
| 77 | + <td>size(int64_t)</td> | ||
| 78 | + <td>输入</td> | ||
| 79 | + <td>表示维度处理,reshape时输出张量的第一个维度。</td> | ||
| 80 | + <td>-</td> | ||
| 81 | + <td>-</td> | ||
| 82 | + <td>-</td> | ||
| 83 | + <td>-</td> | ||
| 84 | + <td>-</td> | ||
| 85 | + </tr> | ||
| 86 | + <tr> | ||
| 87 | + <td>dtype(aclDataType)</td> | ||
| 88 | + <td>输入</td> | ||
| 89 | + <td>表示量化输出Tensor的数据类型。</td> | ||
| 90 | + <td>支持ACL_FLOAT16、ACL_FLOAT。</td> | ||
| 91 | + <td>-</td> | ||
| 92 | + <td>-</td> | ||
| 93 | + <td>-</td> | ||
| 94 | + <td>-</td> | ||
| 95 | + </tr> | ||
| 96 | + <tr> | ||
| 97 | + <td>out(aclTensor*)</td> | ||
| 98 | + <td>输出</td> | ||
| 99 | + <td>输出Tensor。</td> | ||
| 100 | + <td>数据类型由dtype参数决定。</td> | ||
| 101 | + <td>FLOAT16、FLOAT</td> | ||
| 102 | + <td>ND</td> | ||
| 103 | + <td>2</td> | ||
| 104 | + <td>√</td> | ||
| 105 | + </tr> | ||
| 106 | + <tr> | ||
| 107 | + <td>workspaceSize(uint64_t*)</td> | ||
| 108 | + <td>输出</td> | ||
| 109 | + <td>返回需要在Device侧申请的workspace大小。</td> | ||
| 110 | + <td>-</td> | ||
| 111 | + <td>-</td> | ||
| 112 | + <td>-</td> | ||
| 113 | + <td>-</td> | ||
| 114 | + <td>-</td> | ||
| 115 | + </tr> | ||
| 116 | + <tr> | ||
| 117 | + <td>executor(aclOpExecutor**)</td> | ||
| 118 | + <td>输出</td> | ||
| 119 | + <td>返回op执行器,包含了算子计算流程。</td> | ||
| 120 | + <td>-</td> | ||
| 121 | + <td>-</td> | ||
| 122 | + <td>-</td> | ||
| 123 | + <td>-</td> | ||
| 124 | + <td>-</td> | ||
| 125 | + </tr> | ||
| 126 | + </tbody></table> | ||
| 40 | 127 | ||
| 41 | - **返回值:** | 128 | - **返回值:** |
| 42 | 129 | ||
| 43 | - aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。 | 130 | + aclnnStatus: 返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md). |
| 44 | 131 | ||
| 45 | 第一段接口完成入参校验,出现以下场景时报错: | 132 | 第一段接口完成入参校验,出现以下场景时报错: |
| 46 | 133 | ||
| 47 | - <table style="undefined;table-layout: fixed; width: 1149px"><colgroup> | 134 | + <table style="undefined;table-layout: fixed; width: 1150px"><colgroup> |
| 48 | <col style="width: 300px"> | 135 | <col style="width: 300px"> |
| 49 | - <col style="width: 136px"> | 136 | + <col style="width: 134px"> |
| 50 | - <col style="width: 713px"> | 137 | + <col style="width: 716px"> |
| 51 | </colgroup> | 138 | </colgroup> |
| 52 | <thead> | 139 | <thead> |
| 53 | <tr> | 140 | <tr> |
| @@ -1,6 +1,6 @@ | |||
| 1 | # aclnnTopk | 1 | # aclnnTopk |
| 2 | 2 | ||
| 3 | -[📄 查看源码](https://gitcode.com/cann/ops-math/tree/master/math/topk) | 3 | +[📄 查看源码](https://gitcode.com/cann/ops-math/tree/9.0.0/math/topk) |
| 4 | 4 | ||
| 5 | ## 产品支持情况 | 5 | ## 产品支持情况 |
| 6 | 6 | ||
| @@ -15,57 +15,230 @@ | |||
| 15 | 15 | ||
| 16 | ## 功能说明 | 16 | ## 功能说明 |
| 17 | 17 | ||
| 18 | -算子功能:返回输入Tensor在指定维度上的k个极值及索引。 | 18 | +- 算子功能:返回输入Tensor在指定维度上的k个极值及索引。 |
| 19 | 19 | ||
| 20 | ## 函数原型 | 20 | ## 函数原型 |
| 21 | 21 | ||
| 22 | 每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnTopkGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnTopk”接口执行计算。 | 22 | 每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnTopkGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnTopk”接口执行计算。 |
| 23 | 23 | ||
| 24 | -- `aclnnStatus aclnnTopkGetWorkspaceSize(const aclTensor *self, int64_t k, int64_t dim, bool largest, bool sorted, aclTensor *valuesOut, aclTensor *indicesOut, uint64_t *workspaceSize, aclOpExecutor **executor)` | 24 | +每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用"aclnnTopkGetWorkspaceSize"接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用"aclnnTopk"接口执行计算。 |
| 25 | -- `aclnnStatus aclnnTopk(void *workspace, uint64_t workspaceSize, aclOpExecutor *executor, const aclrtStream stream)` | 25 | + |
| 26 | +```Cpp | ||
| 27 | +aclnnStatus aclnnTopkGetWorkspaceSize( | ||
| 28 | + const aclTensor* self, | ||
| 29 | + int64_t k, | ||
| 30 | + int64_t dim, | ||
| 31 | + bool largest, | ||
| 32 | + bool sorted, | ||
| 33 | + aclTensor* valuesOut, | ||
| 34 | + aclTensor* indicesOut, | ||
| 35 | + uint64_t* workspaceSize, | ||
| 36 | + aclOpExecutor** executor) | ||
| 37 | +``` | ||
| 38 | + | ||
| 39 | +```Cpp | ||
| 40 | +aclnnStatus aclnnTopk( | ||
| 41 | + void* workspace, | ||
| 42 | + uint64_t workspaceSize, | ||
| 43 | + aclOpExecutor* executor, | ||
| 44 | + const aclrtStream stream) | ||
| 45 | +``` | ||
| 26 | 46 | ||
| 27 | ## aclnnTopkGetWorkspaceSize | 47 | ## aclnnTopkGetWorkspaceSize |
| 28 | 48 | ||
| 29 | -- **参数说明** | 49 | +- **参数说明:** |
| 30 | 50 | ||
| 31 | - - self(aclTensor\*, 计算输入):Device侧的aclTensor。shape支持1-8维度,支持[非连续的Tensor](../../../docs/zh/context/非连续的Tensor.md), [数据格式](../../../docs/zh/context/数据格式.md)支持ND。 | 51 | + <table style="undefined;table-layout: fixed; width: 1550px"><colgroup> |
| 32 | - - <term>Atlas 推理系列产品</term>、<term>Atlas 训练系列产品</term>:数据类型支持INT8、UINT8、INT16、INT32、INT64、FLOAT16、FLOAT32、DOUBLE。 | 52 | + <col style="width: 190px"> |
| 33 | - - <term>Atlas A2 训练系列产品/Atlas A2 推理系列产品</term>、<term>Atlas A3 训练系列产品/Atlas A3 推理系列产品</term>:数据类型支持INT8、UINT8、INT16、INT32、INT64、FLOAT16、FLOAT32、DOUBLE、BFLOAT16。 | 53 | + <col style="width: 120px"> |
| 34 | - - <term>Ascend 950PR/Ascend 950DT</term>:数据类型支持BFLOAT16、FLOAT16、FLOAT32、INT8、INT16、INT32、INT64、UINT8、UINT16、UINT32、UINT64、DOUBLE。 | 54 | + <col style="width: 250px"> |
| 35 | - - k(int64_t, 计算输入):Host侧的整型。表示计算维度上输出的极值个数。取值范围为[0, self.size(dim)]。 | 55 | + <col style="width: 320px"> |
| 36 | - - dim(int64_t, 计算输入):Host侧的整型。表示计算维度。取值范围为[-self.dim(), self.dim())。 | 56 | + <col style="width: 250px"> |
| 37 | - - largest(bool, 计算输入):Host侧的布尔型。True表示计算维度上的结果应由大到小输出,False表示计算维度上的结果由小到大输出。 | 57 | + <col style="width: 120px"> |
| 38 | - - sorted(bool, 计算输入):Host侧的布尔型。True表示输出结果排序(若largest为True则结果从大到小排序,否则结果从小到大排序),False表示输出结果不排序,按输入时的数据顺序输出。注意:当前该参数仅支持取True,暂不支持取False。 | 58 | + <col style="width: 140px"> |
| 39 | - - valuesOut(aclTensor\*, 计算输出):Device侧的aclTensor,数据类型与self保持一致。支持[非连续的Tensor](../../../docs/zh/context/非连续的Tensor.md), [数据格式](../../../docs/zh/context/数据格式.md)支持ND。shape排序轴与k一致,非排序轴与self一致。 | 59 | + <col style="width: 160px"> |
| 40 | - - <term>Atlas 推理系列产品</term>、<term>Atlas 训练系列产品</term>:数据类型支持INT8、UINT8、INT16、INT32、INT64、FLOAT16、FLOAT32、DOUBLE。 | 60 | + </colgroup> |
| 41 | - - <term>Atlas A2 训练系列产品/Atlas A2 推理系列产品</term>、<term>Atlas A3 训练系列产品/Atlas A3 推理系列产品</term>:数据类型支持INT8、UINT8、INT16、INT32、INT64、FLOAT16、FLOAT32、DOUBLE、BFLOAT16。 | 61 | + <thead> |
| 42 | - - <term>Ascend 950PR/Ascend 950DT</term>:数据类型支持BFLOAT16、FLOAT16、FLOAT32、INT8、INT16、INT32、INT64、UINT8、UINT16、UINT32、UINT64、DOUBLE。 | 62 | + <tr> |
| 43 | - - indicesOut(aclTensor\*, 计算输出):Device侧的aclTensor,数据类型支持INT64。支持[非连续的Tensor](../../../docs/zh/context/非连续的Tensor.md), [数据格式](../../../docs/zh/context/数据格式.md)支持ND。shape排序轴与k一致,非排序轴与self一致。 | 63 | + <th>参数名</th> |
| 44 | - - workspaceSize(uint64_t\*, 出参):返回需要在Device侧申请的workspace大小。 | 64 | + <th>输入/输出</th> |
| 45 | - - executor(aclOpExecutor\**, 出参):返回op执行器,包含了算子计算流程。 | 65 | + <th>描述</th> |
| 66 | + <th>使用说明</th> | ||
| 67 | + <th>数据类型</th> | ||
| 68 | + <th>数据格式</th> | ||
| 69 | + <th>维度(shape)</th> | ||
| 70 | + <th>非连续Tensor</th> | ||
| 71 | + </tr></thead> | ||
| 72 | + <tbody> | ||
| 73 | + <tr> | ||
| 74 | + <td>self(aclTensor*)</td> | ||
| 75 | + <td>输入</td> | ||
| 76 | + <td>输入Tensor。</td> | ||
| 77 | + <td>支持空Tensor。</td> | ||
| 78 | + <td>INT8、UINT8、INT16、INT32、INT64、FLOAT16、FLOAT32、DOUBLE、BFLOAT16、UINT16、UINT32、UINT64</td> | ||
| 79 | + <td>ND</td> | ||
| 80 | + <td>1-8</td> | ||
| 81 | + <td>√</td> | ||
| 82 | + </tr> | ||
| 83 | + <tr> | ||
| 84 | + <td>k(int64_t)</td> | ||
| 85 | + <td>输入</td> | ||
| 86 | + <td>表示计算维度上输出的极值个数。</td> | ||
| 87 | + <td>取值范围[0, self.size(dim)]。</td> | ||
| 88 | + <td>-</td> | ||
| 89 | + <td>-</td> | ||
| 90 | + <td>-</td> | ||
| 91 | + <td>-</td> | ||
| 92 | + </tr> | ||
| 93 | + <tr> | ||
| 94 | + <td>dim(int64_t)</td> | ||
| 95 | + <td>输入</td> | ||
| 96 | + <td>表示计算维度。</td> | ||
| 97 | + <td>取值范围[-self.dim(), self.dim())。</td> | ||
| 98 | + <td>-</td> | ||
| 99 | + <td>-</td> | ||
| 100 | + <td>-</td> | ||
| 101 | + <td>-</td> | ||
| 102 | + </tr> | ||
| 103 | + <tr> | ||
| 104 | + <td>largest(bool)</td> | ||
| 105 | + <td>输入</td> | ||
| 106 | + <td>表示计算维度上的结果排序方式。</td> | ||
| 107 | + <td>True表示结果由大到小输出,False表示结果由小到大输出。</td> | ||
| 108 | + <td>-</td> | ||
| 109 | + <td>-</td> | ||
| 110 | + <td>-</td> | ||
| 111 | + <td>-</td> | ||
| 112 | + </tr> | ||
| 113 | + <tr> | ||
| 114 | + <td>sorted(bool)</td> | ||
| 115 | + <td>输入</td> | ||
| 116 | + <td>表示输出结果是否排序。</td> | ||
| 117 | + <td>True表示输出结果排序,False表示输出结果不排序。注意:当前该参数仅支持取True。</td> | ||
| 118 | + <td>-</td> | ||
| 119 | + <td>-</td> | ||
| 120 | + <td>-</td> | ||
| 121 | + <td>-</td> | ||
| 122 | + </tr> | ||
| 123 | + <tr> | ||
| 124 | + <td>valuesOut(aclTensor*)</td> | ||
| 125 | + <td>输出</td> | ||
| 126 | + <td>输出Tensor,包含极值。</td> | ||
| 127 | + <td>数据类型与self保持一致。</td> | ||
| 128 | + <td>INT8、UINT8、INT16、INT32、INT64、FLOAT16、FLOAT32、DOUBLE、BFLOAT16、UINT16、UINT32、UINT64</td> | ||
| 129 | + <td>ND</td> | ||
| 130 | + <td>1-8</td> | ||
| 131 | + <td>√</td> | ||
| 132 | + </tr> | ||
| 133 | + <tr> | ||
| 134 | + <td>indicesOut(aclTensor*)</td> | ||
| 135 | + <td>输出</td> | ||
| 136 | + <td>输出Tensor,包含索引。</td> | ||
| 137 | + <td>数据类型支持INT64。</td> | ||
| 138 | + <td>INT64</td> | ||
| 139 | + <td>ND</td> | ||
| 140 | + <td>1-8</td> | ||
| 141 | + <td>√</td> | ||
| 142 | + </tr> | ||
| 143 | + <tr> | ||
| 144 | + <td>workspaceSize(uint64_t*)</td> | ||
| 145 | + <td>输出</td> | ||
| 146 | + <td>返回需要在Device侧申请的workspace大小。</td> | ||
| 147 | + <td>-</td> | ||
| 148 | + <td>-</td> | ||
| 149 | + <td>-</td> | ||
| 150 | + <td>-</td> | ||
| 151 | + <td>-</td> | ||
| 152 | + </tr> | ||
| 153 | + <tr> | ||
| 154 | + <td>executor(aclOpExecutor**)</td> | ||
| 155 | + <td>输出</td> | ||
| 156 | + <td>返回op执行器,包含了算子计算流程。</td> | ||
| 157 | + <td>-</td> | ||
| 158 | + <td>-</td> | ||
| 159 | + <td>-</td> | ||
| 160 | + <td>-</td> | ||
| 161 | + <td>-</td> | ||
| 162 | + </tr> | ||
| 163 | + </tbody></table> | ||
| 46 | 164 | ||
| 47 | -- **返回值** | 165 | +- **返回值:** |
| 48 | 166 | ||
| 49 | - aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。 | 167 | + aclnnStatus: 返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。 |
| 50 | 168 | ||
| 51 | - ``` | ||
| 52 | 第一段接口完成入参校验,出现以下场景时报错: | 169 | 第一段接口完成入参校验,出现以下场景时报错: |
| 53 | - 返回161001(ACLNN_ERR_PARAM_NULLPTR): 1. 传入的self、valuesOut或indicesOut是空指针。 | 170 | + |
| 54 | - 返回161002(ACLNN_ERR_PARAM_INVALID): 1. self、valuesOut或indicesOut的数据类型和数据格式不在支持的范围之内。 | 171 | + <table style="undefined;table-layout: fixed; width: 1150px"><colgroup> |
| 55 | - 2. dim不在输入self的合理维度范围内。 | 172 | + <col style="width: 300px"> |
| 56 | - 3. k小于0或者k大于输入self在dim维度上的size大小。 | 173 | + <col style="width: 134px"> |
| 57 | - ``` | 174 | + <col style="width: 716px"> |
| 175 | + </colgroup> | ||
| 176 | + <thead> | ||
| 177 | + <tr> | ||
| 178 | + <th>返回值</th> | ||
| 179 | + <th>错误码</th> | ||
| 180 | + <th>描述</th> | ||
| 181 | + </tr></thead> | ||
| 182 | + <tbody> | ||
| 183 | + <tr> | ||
| 184 | + <td>ACLNN_ERR_PARAM_NULLPTR</td> | ||
| 185 | + <td>161001</td> | ||
| 186 | + <td>传入的self、valuesOut或indicesOut是空指针。</td> | ||
| 187 | + </tr> | ||
| 188 | + <tr> | ||
| 189 | + <td rowspan="3">ACLNN_ERR_PARAM_INVALID</td> | ||
| 190 | + <td rowspan="3">161002</td> | ||
| 191 | + <td>self、valuesOut或indicesOut的数据类型和数据格式不在支持的范围之内。</td> | ||
| 192 | + </tr> | ||
| 193 | + <tr> | ||
| 194 | + <td>dim不在输入self的合理维度范围内。</td> | ||
| 195 | + </tr> | ||
| 196 | + <tr> | ||
| 197 | + <td>k小于0或者k大于输入self在dim维度上的size大小。</td> | ||
| 198 | + </tr> | ||
| 199 | + </tbody> | ||
| 200 | + </table> | ||
| 58 | 201 | ||
| 59 | ## aclnnTopk | 202 | ## aclnnTopk |
| 60 | 203 | ||
| 61 | -- **参数说明** | 204 | +- **参数说明:** |
| 62 | 205 | ||
| 63 | - - workspace(void\*, 入参):在Device侧申请的workspace内存地址。 | 206 | + <table style="undefined;table-layout: fixed; width: 1149px"><colgroup> |
| 64 | - - workspaceSize(uint64_t, 入参):在Device侧申请的workspace大小,由第一段接口aclnnTopkGetWorkspaceSize获取。 | 207 | + <col style="width: 167px"> |
| 65 | - - executor(aclOpExecutor\*, 入参):op执行器,包含了算子计算流程。 | 208 | + <col style="width: 134px"> |
| 66 | - - stream(aclrtStream, 入参):指定执行任务的Stream。 | 209 | + <col style="width: 848px"> |
| 210 | + </colgroup> | ||
| 211 | + <thead> | ||
| 212 | + <tr> | ||
| 213 | + <th>参数名</th> | ||
| 214 | + <th>输入/输出</th> | ||
| 215 | + <th>描述</th> | ||
| 216 | + </tr></thead> | ||
| 217 | + <tbody> | ||
| 218 | + <tr> | ||
| 219 | + <td>workspace</td> | ||
| 220 | + <td>输入</td> | ||
| 221 | + <td>在Device侧申请的workspace内存地址。</td> | ||
| 222 | + </tr> | ||
| 223 | + <tr> | ||
| 224 | + <td>workspaceSize</td> | ||
| 225 | + <td>输入</td> | ||
| 226 | + <td>在Device侧申请的workspace大小,由第一段接口aclnnTopkGetWorkspaceSize获取。</td> | ||
| 227 | + </tr> | ||
| 228 | + <tr> | ||
| 229 | + <td>executor</td> | ||
| 230 | + <td>输入</td> | ||
| 231 | + <td>op执行器,包含了算子计算流程。</td> | ||
| 232 | + </tr> | ||
| 233 | + <tr> | ||
| 234 | + <td>stream</td> | ||
| 235 | + <td>输入</td> | ||
| 236 | + <td>指定执行任务的Stream。</td> | ||
| 237 | + </tr> | ||
| 238 | + </tbody> | ||
| 239 | + </table> | ||
| 67 | 240 | ||
| 68 | -- **返回值** | 241 | +- **返回值:** |
| 69 | 242 | ||
| 70 | aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。 | 243 | aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。 |
| 71 | 244 | ||
| @@ -105,7 +278,7 @@ int64_t GetShapeSize(const std::vector<int64_t>& shape) { | |||
| 105 | } | 278 | } |
| 106 | 279 | ||
| 107 | int Init(int32_t deviceId, aclrtStream* stream) { | 280 | int Init(int32_t deviceId, aclrtStream* stream) { |
| 108 | - // 固定写法,资源初始化 | 281 | + // 固定写法,资源初始化 |
| 109 | auto ret = aclInit(nullptr); | 282 | auto ret = aclInit(nullptr); |
| 110 | CHECK_RET(ret == ACL_SUCCESS, LOG_PRINT("aclInit failed. ERROR: %d\n", ret); return ret); | 283 | CHECK_RET(ret == ACL_SUCCESS, LOG_PRINT("aclInit failed. ERROR: %d\n", ret); return ret); |
| 111 | ret = aclrtSetDevice(deviceId); | 284 | ret = aclrtSetDevice(deviceId); |


后面加个空行