已合并
nn仓大模型资料扫描修改 #3686
sunchun创建于 4月10日
nn仓大模型资料扫描修改 #3686
已合并
从已删除 :nntextB合入到cann/ops-nn9.0.0
共 7 个文件变更+11-13
| @@ -116,10 +116,8 @@ aclnnStatus aclnnGather( | |||
| 116 | <td>index(aclTensor*)</td> | 116 | <td>index(aclTensor*)</td> |
| 117 | <td>输入</td> | 117 | <td>输入</td> |
| 118 | <td>公式中的index。</td> | 118 | <td>公式中的index。</td> |
| 119 | - <td> | 119 | + <td>维度数需要与self一致,且shape需要与out一致,除dim指定的维度外,其他维度的size需要小于等于self对应维度的size。<br>index中的具体数值代表self对应dim轴上的下标,取值范围[-self.shape[dim], self.shape[dim] - 1],index中的索引不支持越界。</td> |
| 120 | - 维度数需要与self一致,且shape需要与out一致,除dim指定的维度外,其他维度的size需要小于等于self对应维度的size。 | 120 | + <td>INT32、INT64</td> |
| 121 | - <br>index中的具体数值代表self对应dim轴上的下标,取值范围[-self.shape[dim], self.shape[dim] - 1],index中的索引不支持越界。</td> | ||
| 122 | - <td>INT32、IND64</td> | ||
| 123 | <td>-</td> | 121 | <td>-</td> |
| 124 | <td>0-8</td> | 122 | <td>0-8</td> |
| 125 | <td>√</td> | 123 | <td>√</td> |
| @@ -155,7 +155,7 @@ aclnnStatus aclnnGatherNd( | |||
| 155 | </tr> | 155 | </tr> |
| 156 | </tbody></table> | 156 | </tbody></table> |
| 157 | 157 | ||
| 158 | - - <term>Atlas A2 训练系列产品/Atlas A2 推理系列产品</term>、<term>Atlas A3 训练系列产品/Atlas A3 推理系列产品</term>:数据不类型支持DOUBLE、INT16、UINT16、UINT32、UINT64。 | 158 | + - <term>Atlas A2 训练系列产品/Atlas A2 推理系列产品</term>、<term>Atlas A3 训练系列产品/Atlas A3 推理系列产品</term>:数据类型不支持DOUBLE、INT16、UINT16、UINT32、UINT64。 |
| 159 | - **返回值** | 159 | - **返回值** |
| 160 | 160 | ||
| 161 | aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。 | 161 | aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。 |
| @@ -250,7 +250,7 @@ aclnnStatus aclnnInplaceIndexFillTensor( | |||
| 250 | <tr> | 250 | <tr> |
| 251 | <td>workspaceSize</td> | 251 | <td>workspaceSize</td> |
| 252 | <td>输入</td> | 252 | <td>输入</td> |
| 253 | - <td>在Device侧申请的workspace大小,由第一段接口aclnnIndexFillTensorTensor获取。</td> | 253 | + <td>在Device侧申请的workspace大小,由第一段接口aclnnIndexFillTensorGetWorkspaceSize获取。</td> |
| 254 | </tr> | 254 | </tr> |
| 255 | <tr> | 255 | <tr> |
| 256 | <td>executor</td> | 256 | <td>executor</td> |
| @@ -151,7 +151,7 @@ aclnnStatus aclnnIndexPutImpl( | |||
| 151 | </tr> | 151 | </tr> |
| 152 | </tbody></table> | 152 | </tbody></table> |
| 153 | 153 | ||
| 154 | - - <term>Atlas 训练系列产品</term>:数据类型不支持BFLOAT。 | 154 | + - <term>Atlas 训练系列产品</term>:数据类型不支持BFLOAT16。 |
| 155 | - <term>Ascend 950PR/Ascend 950DT</term>:当accumulate为False,且indices有重复索引值的时候,结果不保序。 | 155 | - <term>Ascend 950PR/Ascend 950DT</term>:当accumulate为False,且indices有重复索引值的时候,结果不保序。 |
| 156 | 156 | ||
| 157 | * **返回值** | 157 | * **返回值** |
| @@ -359,7 +359,7 @@ int main() { | |||
| 359 | alpha = aclCreateScalar(&alphaValue, aclDataType::ACL_FLOAT); | 359 | alpha = aclCreateScalar(&alphaValue, aclDataType::ACL_FLOAT); |
| 360 | CHECK_RET(alpha != nullptr, return ret); | 360 | CHECK_RET(alpha != nullptr, return ret); |
| 361 | 361 | ||
| 362 | - // 3. 调用CANN算子库API,需要修改为具体的Api名称 | 362 | + // 3. 调用CANN算子库API,需要修改为具体的API名称 |
| 363 | uint64_t workspaceSize = 0; | 363 | uint64_t workspaceSize = 0; |
| 364 | aclOpExecutor* executor; | 364 | aclOpExecutor* executor; |
| 365 | // 调用aclnnIndexAdd第一段接口 | 365 | // 调用aclnnIndexAdd第一段接口 |
| @@ -123,7 +123,7 @@ aclnnStatus aclnnInplaceIndexCopy( | |||
| 123 | <td>与selfRef一致</td> | 123 | <td>与selfRef一致</td> |
| 124 | <td>ND</td> | 124 | <td>ND</td> |
| 125 | <td>与selfRef一致</td> | 125 | <td>与selfRef一致</td> |
| 126 | - <td>d√</td> | 126 | + <td>√</td> |
| 127 | </tr> | 127 | </tr> |
| 128 | <tr> | 128 | <tr> |
| 129 | <td>outRef</td> | 129 | <td>outRef</td> |
| @@ -320,7 +320,7 @@ aclnnStatus aclnnInplaceIndexCopy( | |||
| 320 | <td>与selfRef一致</td> | 320 | <td>与selfRef一致</td> |
| 321 | <td>ND</td> | 321 | <td>ND</td> |
| 322 | <td>与selfRef一致</td> | 322 | <td>与selfRef一致</td> |
| 323 | - <td>d√</td> | 323 | + <td>√</td> |
| 324 | </tr> | 324 | </tr> |
| 325 | <tr> | 325 | <tr> |
| 326 | <td>workspaceSize</td> | 326 | <td>workspaceSize</td> |
| @@ -548,7 +548,7 @@ int main() { | |||
| 548 | ret = CreateAclTensor(outHostData, outShape, &outDeviceAddr, aclDataType::ACL_INT32, &out); | 548 | ret = CreateAclTensor(outHostData, outShape, &outDeviceAddr, aclDataType::ACL_INT32, &out); |
| 549 | CHECK_RET(ret == ACL_SUCCESS, return ret); | 549 | CHECK_RET(ret == ACL_SUCCESS, return ret); |
| 550 | 550 | ||
| 551 | - // 3. 调用CANN算子库API,需要修改为具体的Api名称 | 551 | + // 3. 调用CANN算子库API,需要修改为具体的API名称 |
| 552 | uint64_t workspaceSize = 0; | 552 | uint64_t workspaceSize = 0; |
| 553 | aclOpExecutor* executor; | 553 | aclOpExecutor* executor; |
| 554 | // 调用aclnnIndexCopy第一段接口 | 554 | // 调用aclnnIndexCopy第一段接口 |
| @@ -225,7 +225,7 @@ aclnnStatus aclnnModulateBackward( | |||
| 225 | <tr> | 225 | <tr> |
| 226 | <td>workspaceSize</td> | 226 | <td>workspaceSize</td> |
| 227 | <td>输入</td> | 227 | <td>输入</td> |
| 228 | - <td>在Device侧申请的workspace大小,由第一段接口aclnnMultiScaleDeformableAttentionGradGetWorkspaceSize获取。</td> | 228 | + <td>在Device侧申请的workspace大小,由第一段接口aclnnModulateBackwardGetWorkspaceSize获取。</td> |
| 229 | </tr> | 229 | </tr> |
| 230 | <tr> | 230 | <tr> |
| 231 | <td>executor</td> | 231 | <td>executor</td> |
| @@ -431,7 +431,7 @@ int main() | |||
| 431 | aclOpExecutor* executor = nullptr; | 431 | aclOpExecutor* executor = nullptr; |
| 432 | // 调用aclnnModulate第一段接口 | 432 | // 调用aclnnModulate第一段接口 |
| 433 | ret = aclnnModulateBackwardGetWorkspaceSize(grad_output, input, scale, shift, grad_input, grad_scale, grad_shift, &workspaceSize, &executor); | 433 | ret = aclnnModulateBackwardGetWorkspaceSize(grad_output, input, scale, shift, grad_input, grad_scale, grad_shift, &workspaceSize, &executor); |
| 434 | - CHECK_RET(ret == ACL_SUCCESS, LOG_PRINT("aclnnModulaBackwardteGetWorkspaceSize failed. ERROR: %d\n", ret); return ret); | 434 | + CHECK_RET(ret == ACL_SUCCESS, LOG_PRINT("aclnnModulateBackwardGetWorkspaceSize failed. ERROR: %d\n", ret); return ret); |
S | |||
| 435 | // 根据第一段接口计算出的workspaceSize申请device内存 | 435 | // 根据第一段接口计算出的workspaceSize申请device内存 |
| 436 | void* workspaceAddr = nullptr; | 436 | void* workspaceAddr = nullptr; |
| 437 | if (workspaceSize > 0) { | 437 | if (workspaceSize > 0) { |
LOG_PRINT 里的字符串仍是 aclnnModulateBackwardteGetWorkspaceSize,中间多了 te,与上一行调用的 aclnnModulateBackwardGetWorkspaceSize 不一致,建议改成与真实 API 名完全一致,避免复制示例时搜不到符号。