已合并
docs: 更新文档链接至CANN 9.1和PyTorch 26.0.0 #2126
zouyanlong创建于 6月16日
docs: 更新文档链接至CANN 9.1和PyTorch 26.0.0 #2126
已合并
共 5 个文件变更+27-27
| @@ -80,7 +80,7 @@ ATB的API保证前后一年的ABI兼容能力,在不涉及新功能的情况 | |||
| 80 | 由于CANN出包目录调整,ATB 8.5版本以及主线分支必须匹配8.5或以上版本的toolkit包。 | 80 | 由于CANN出包目录调整,ATB 8.5版本以及主线分支必须匹配8.5或以上版本的toolkit包。 |
| 81 | 81 | ||
| 82 | ```shell | 82 | ```shell |
| 83 | -chmod +x Ascend-cann-toolkit_${VERSION}_linux-$(arch).run # 其中${VERSION}表示对应的CANN版本,如8.2.RC1 | 83 | +chmod +x Ascend-cann-toolkit_${VERSION}_linux-$(arch).run # 其中${VERSION}表示对应的CANN版本,如9.1.0 |
| 84 | ./Ascend-cann-toolkit_${VERSION}_linux-$(arch).run --install | 84 | ./Ascend-cann-toolkit_${VERSION}_linux-$(arch).run --install |
| 85 | ``` | 85 | ``` |
| 86 | 86 | ||
| @@ -113,14 +113,14 @@ chmod +x Ascend-cann-${chip_type}-ops_${VERSION}_linux-$(arch).run #其中${chi | |||
| 113 | 113 | ||
| 114 | ### ATB安装部署相关依赖说明 | 114 | ### ATB安装部署相关依赖说明 |
| 115 | 115 | ||
| 116 | -在编译加速库之前,需访问[加速库包安装部署](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/850alpha001/acce/ascendtb/ascendtb_0034.html)查看加速库相关依赖的版本要求,并进行对应依赖的安装部署。 | 116 | +在编译加速库之前,需访问[加速库包安装部署](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/API/ascendtb/ascendtb_0034.html)查看加速库相关依赖的版本要求,并进行对应依赖的安装部署。 |
| 117 | 117 | ||
| 118 | ### 基础工具版本要求与安装 | 118 | ### 基础工具版本要求与安装 |
| 119 | 119 | ||
| 120 | 安装CANN之后,您可安装一些工具方便后续开发,参见以下内容: | 120 | 安装CANN之后,您可安装一些工具方便后续开发,参见以下内容: |
| 121 | 121 | ||
| 122 | -* [CANN依赖列表](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/850alpha001/softwareinst/instg/instg_0045.html?Mode=PmIns&InstallType=local&OS=Debian&Software=cannToolKit) | 122 | +* [CANN依赖列表](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/softwareinst/instg/instg_0045.html?Mode=PmIns&InstallType=local&OS=Debian&Software=cannToolKit) |
| 123 | -* [CANN安装后操作](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/850alpha001/softwareinst/instg/instg_0094.html?Mode=PmIns&InstallType=local&OS=Debian&Software=cannToolKit) | 123 | +* [CANN安装后操作](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/softwareinst/instg/instg_0094.html?Mode=PmIns&InstallType=local&OS=Debian&Software=cannToolKit) |
| 124 | 124 | ||
| 125 | ## 三、快速上手 | 125 | ## 三、快速上手 |
| 126 | 126 | ||
| @@ -159,7 +159,7 @@ chmod +x Ascend-cann-${chip_type}-ops_${VERSION}_linux-$(arch).run #其中${chi | |||
| 159 | 159 | ||
| 160 | #### Python | 160 | #### Python |
| 161 | 161 | ||
| 162 | -在运行python代码前,需要导入ATB Python API模块torch_atb,该插件运行依赖PyTorch和torch_npu,可访问[加速库包安装部署](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/850alpha001/acce/ascendtb/ascendtb_0034.html)查看版本要求和安装指导。 | 162 | +在运行python代码前,需要导入ATB Python API模块torch_atb,该插件运行依赖PyTorch和torch_npu,可访问[加速库包安装部署](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/API/ascendtb/ascendtb_0034.html)查看版本要求和安装指导。 |
| 163 | 安装PyTorch和torch_npu之后,需要手动安装torch_atb,安装方法包含以下两种: | 163 | 安装PyTorch和torch_npu之后,需要手动安装torch_atb,安装方法包含以下两种: |
| 164 | 164 | ||
| 165 | - 通过`./Ascend-cann-nnal_${version_info}_linux-aarch64.run --install --torch_atb`命令安装 | 165 | - 通过`./Ascend-cann-nnal_${version_info}_linux-aarch64.run --install --torch_atb`命令安装 |
| @@ -198,7 +198,7 @@ result=outputs[0].cpu().numpy() | |||
| 198 | print(result) | 198 | print(result) |
| 199 | ``` | 199 | ``` |
| 200 | 200 | ||
| 201 | -代码编写指导可访问[算子使用指导(ATB Python API)-昇腾社区](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/850alpha001/acce/ascendtb/ascendtb_0077.html)。 | 201 | +代码编写指导可访问[算子使用指导(ATB Python API)-昇腾社区](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/API/ascendtb/ascendtb_0077.html)。 |
| 202 | 202 | ||
| 203 | #### C++ | 203 | #### C++ |
| 204 | 204 | ||
| @@ -261,7 +261,7 @@ CHECK_STATUS(aclFinalize()); | |||
| 261 | faupdate demo success! | 261 | faupdate demo success! |
| 262 | ``` | 262 | ``` |
| 263 | 263 | ||
| 264 | -代码编写指导:可访问[单算子-昇腾社区](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/850alpha001/acce/ascendtb/ascendtb_0046.html)。 | 264 | +代码编写指导:可访问[单算子-昇腾社区](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/API/ascendtb/ascendtb_0046.html)。 |
| 265 | 265 | ||
| 266 | #### 样例安全声明 | 266 | #### 样例安全声明 |
| 267 | 267 | ||
| @@ -274,7 +274,7 @@ ATB不推荐用户直接将样例作为业务代码,也不保证此种做法 | |||
| 274 | - 加速库日志请参考 | 274 | - 加速库日志请参考 |
| 275 | **[日志与调试](https://gitcode.com/cann/ascend-transformer-boost/blob/master/docs/%E6%97%A5%E5%BF%97%E4%B8%8E%E8%B0%83%E8%AF%95.md)**; | 275 | **[日志与调试](https://gitcode.com/cann/ascend-transformer-boost/blob/master/docs/%E6%97%A5%E5%BF%97%E4%B8%8E%E8%B0%83%E8%AF%95.md)**; |
| 276 | - 加速库日志现在已经部分适配CANN日志,环境变量说明请参考 | 276 | - 加速库日志现在已经部分适配CANN日志,环境变量说明请参考 |
| 277 | - **[CANN社区版文档/环境变量参考](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/83RC1alpha002/maintenref/envvar/envref_07_0119.html)**; | 277 | + **[CANN社区版文档/环境变量参考](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/maintenref/envvar/envref_07_0119.html)**; |
| 278 | 278 | ||
| 279 | ## 四、自定义算子开发 | 279 | ## 四、自定义算子开发 |
| 280 | 280 | ||
| @@ -299,11 +299,11 @@ ATB不推荐用户直接将样例作为业务代码,也不保证此种做法 | |||
| 299 | - [开发指南](docs/开发指南.md):以一个融合算子为例,详细介绍了ATB算子开发的流程,以及如何对算子进行功能、精度、性能测试。 | 299 | - [开发指南](docs/开发指南.md):以一个融合算子为例,详细介绍了ATB算子开发的流程,以及如何对算子进行功能、精度、性能测试。 |
| 300 | - [贡献指南](docs/贡献指南.md):介绍了如何向ATB库贡献代码。 | 300 | - [贡献指南](docs/贡献指南.md):介绍了如何向ATB库贡献代码。 |
| 301 | - [日志与调试](docs/日志与调试.md):介绍ATB的日志相关环境变量,以及调测方法。 | 301 | - [日志与调试](docs/日志与调试.md):介绍ATB的日志相关环境变量,以及调测方法。 |
| 302 | -- [API文档](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/850alpha001/API/ascendtbapi/ascendtb_01_0098.html):介绍了ATB库的接口和相关术语。 | 302 | +- [API文档](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/API/ascendtb/ascendtb_01_0005.html):介绍了ATB库的接口和相关术语。 |
| 303 | - [常见问题与回答](docs/常见问题与回答.md):介绍ATB的编译和安装使用过程中遇到的一些常见问题与解决方案。 | 303 | - [常见问题与回答](docs/常见问题与回答.md):介绍ATB的编译和安装使用过程中遇到的一些常见问题与解决方案。 |
| 304 | - [问题报告](https://gitcode.com/cann/ascend-transformer-boost/issues):通过Issue提交发现的问题。 | 304 | - [问题报告](https://gitcode.com/cann/ascend-transformer-boost/issues):通过Issue提交发现的问题。 |
| 305 | 305 | ||
| 306 | ## 七、参考文档 | 306 | ## 七、参考文档 |
| 307 | 307 | ||
| 308 | -**[CANN社区版文档](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/850alpha001/index/index.html)** | 308 | +**[CANN社区版文档](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/index/index.html)** |
| 309 | -**[ATB社区版文档](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/850alpha001/acce/ascendtb/ascendtb_0001.html)** | 309 | +**[ATB社区版文档](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/API/ascendtb/ascendtb_0001.html)** |
| @@ -156,7 +156,7 @@ ATB算子实现主要包括:kernel侧算子实现和host侧tiling实现。 | |||
| 156 | 156 | ||
| 157 | ### tiling开发 | 157 | ### tiling开发 |
| 158 | 158 | ||
| 159 | -tiling开发的核心概念:`TilingData`、`Workspace`、`TilingKey`、`BlockDim`等,可访问[术语表-昇腾社区](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/850alpha001/opdevg/Ascendcopdevg/atlas_ascendc_10_00013.html)查看。 | 159 | +tiling开发的核心概念:`TilingData`、`Workspace`、`TilingKey`、`BlockDim`等,可访问[术语表-昇腾社区](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/programug/Ascendcopdevg/docs/guide/%E7%BC%96%E7%A8%8B%E6%8C%87%E5%8D%97/%E6%A6%82%E5%BF%B5%E5%8E%9F%E7%90%86%E5%92%8C%E6%9C%AF%E8%AF%AD/%E6%9C%AF%E8%AF%AD%E8%A1%A8.md)查看。 |
| 160 | 160 | ||
| 161 | #### tiling_data.h | 161 | #### tiling_data.h |
| 162 | 162 | ||
| @@ -256,7 +256,7 @@ Status AddcustomTiling(const LaunchParam &launchParam, KernelInfo &kernelInfo) | |||
| 256 | 256 | ||
| 257 | ### kernel开发 | 257 | ### kernel开发 |
| 258 | 258 | ||
| 259 | -kernel相关的`Compute`、`CopyIn`、`CopyOut`等概念,可访问[术语表-昇腾社区](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/850alpha001/opdevg/Ascendcopdevg/atlas_ascendc_10_00013.html)查看。 | 259 | +kernel相关的`Compute`、`CopyIn`、`CopyOut`等概念,可访问[术语表-昇腾社区](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/programug/Ascendcopdevg/docs/guide/%E7%BC%96%E7%A8%8B%E6%8C%87%E5%8D%97/%E6%A6%82%E5%BF%B5%E5%8E%9F%E7%90%86%E5%92%8C%E6%9C%AF%E8%AF%AD/%E6%9C%AF%E8%AF%AD%E8%A1%A8.md)查看。 |
| 260 | 260 | ||
| 261 | #### addcustom.cpp | 261 | #### addcustom.cpp |
| 262 | 262 | ||
| @@ -776,7 +776,7 @@ source output/atb/set_env.sh | |||
| 776 | 776 | ||
| 777 | ### 测试 | 777 | ### 测试 |
| 778 | 778 | ||
| 779 | -`example/op_demo`目录下,存放了多个不依赖测试框架、即编可用的算子调用Demo示例。算子开发完成之后,用户可编写用例对算子进行功能测试,编写方法可参考[算子使用指导](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/850alpha001/acce/ascendtb/ascendtb_0046.html)。 | 779 | +`example/op_demo`目录下,存放了多个不依赖测试框架、即编可用的算子调用Demo示例。算子开发完成之后,用户可编写用例对算子进行功能测试,编写方法可参考[算子使用指导](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/API/ascendtb/ascendtb_0046.html)。 |
| 780 | 新建`example/op_demo/addcustom`文件夹,算子调用示例的目录结构如下: | 780 | 新建`example/op_demo/addcustom`文件夹,算子调用示例的目录结构如下: |
| 781 | 781 | ||
| 782 | ``` | 782 | ``` |
| @@ -15,11 +15,11 @@ | |||
| 15 | 15 | ||
| 16 | (1)环境准备 | 16 | (1)环境准备 |
| 17 | 17 | ||
| 18 | -- CANN软件安装请参考[环境准备](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/850alpha001/opdevg/Ascendcopdevg/atlas_ascendc_10_0002.html)(左上角可切换至最新版本,后文同此操作)。 | 18 | +- CANN软件安装请参考[环境准备](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/programug/Ascendcopdevg/docs/guide/%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B/%E7%8E%AF%E5%A2%83%E5%87%86%E5%A4%87.md)(左上角可切换至最新版本,后文同此操作)。 |
| 19 | 19 | ||
| 20 | (2)算子实现 | 20 | (2)算子实现 |
| 21 | 21 | ||
| 22 | -- Kernel侧算子实现和host侧tiling实现,与非ATB算子开发大体相同(可参考[算子实现](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/850alpha001/opdevg/Ascendcopdevg/atlas_ascendc_10_0030.html)),本文档主要给出不同之处。 | 22 | +- Kernel侧算子实现和host侧tiling实现,与非ATB算子开发大体相同(可参考[算子实现](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/programug/Ascendcopdevg/docs/guide/%E7%AE%97%E5%AD%90%E5%AE%9E%E8%B7%B5%E5%8F%82%E8%80%83/%E5%BC%82%E6%9E%84%E8%AE%A1%E7%AE%97.md)),本文档主要给出不同之处。 |
| 23 | 23 | ||
| 24 | (3)ATB接入 | 24 | (3)ATB接入 |
| 25 | 25 | ||
| @@ -261,13 +261,13 @@ | |||
| 261 | 261 | ||
| 262 | ### tiling开发 | 262 | ### tiling开发 |
| 263 | 263 | ||
| 264 | -算子开发的核心概念:`TilingData`、`Workspace`、`TilingKey`、`BlockDim`等,可访问[术语表-昇腾社区](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/850alpha001/opdevg/Ascendcopdevg/atlas_ascendc_10_00013.html)查看。 | 264 | +算子开发的核心概念:`TilingData`、`Workspace`、`TilingKey`、`BlockDim`等,可访问[术语表-昇腾社区](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/programug/Ascendcopdevg/docs/guide/%E7%BC%96%E7%A8%8B%E6%8C%87%E5%8D%97/%E6%A6%82%E5%BF%B5%E5%8E%9F%E7%90%86%E5%92%8C%E6%9C%AF%E8%AF%AD/%E6%9C%AF%E8%AF%AD%E8%A1%A8.md)查看。 |
| 265 | 265 | ||
| 266 | #### 代码实现 | 266 | #### 代码实现 |
| 267 | 267 | ||
| 268 | 与tiling相关的文件是`tiling_data.h`、`fastsoftmax_tiling.h`、`fastsoftmax_tiling.cpp`文件。 | 268 | 与tiling相关的文件是`tiling_data.h`、`fastsoftmax_tiling.h`、`fastsoftmax_tiling.cpp`文件。 |
| 269 | 269 | ||
| 270 | -**注意**:ATB算子开发与[Ascend C算子开发](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/850alpha001/opdevg/Ascendcopdevg/atlas_ascendc_10_0001.html)不同点主要在于**TilingData**结构的定义和使用上,Ascend C使用`BEGIN_TILING_DATA_DEF`注册结构体,ATB算子开发需要用户直接定义。代码内容的功能都是一致的,只需要注意与结构体相关部分的代码编写。 | 270 | +**注意**:ATB算子开发与[Ascend C算子开发](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/programug/Ascendcopdevg/docs/guide/%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B/%E4%BB%80%E4%B9%88%E6%98%AFAscend-C.md)不同点主要在于**TilingData**结构的定义和使用上,Ascend C使用`BEGIN_TILING_DATA_DEF`注册结构体,ATB算子开发需要用户直接定义。代码内容的功能都是一致的,只需要注意与结构体相关部分的代码编写。 |
| 271 | 271 | ||
| 272 | ##### tiling_data.h | 272 | ##### tiling_data.h |
| 273 | 273 | ||
| @@ -354,12 +354,12 @@ tiling的策略与kernel的实现配套,tiling指导kernel的内存分配和 | |||
| 354 | 354 | ||
| 355 | ### kernel开发 | 355 | ### kernel开发 |
| 356 | 356 | ||
| 357 | -kernel相关的`Compute`、`CopyIn`、`CopyOut`等概念,可访问[术语表-昇腾社区](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/850alpha001/opdevg/Ascendcopdevg/atlas_ascendc_10_00013.html)查看。 | 357 | +kernel相关的`Compute`、`CopyIn`、`CopyOut`等概念,可访问[术语表-昇腾社区](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/programug/Ascendcopdevg/docs/guide/%E7%BC%96%E7%A8%8B%E6%8C%87%E5%8D%97/%E6%A6%82%E5%BF%B5%E5%8E%9F%E7%90%86%E5%92%8C%E6%9C%AF%E8%AF%AD/%E6%9C%AF%E8%AF%AD%E8%A1%A8.md)查看。 |
| 358 | 358 | ||
| 359 | #### 代码实现 | 359 | #### 代码实现 |
| 360 | 360 | ||
| 361 | Kernel即算子执行二进制文件,kernel实现即算子device执行代码实现,根据tiling信息完成所有数据的搬运和计算。 | 361 | Kernel即算子执行二进制文件,kernel实现即算子device执行代码实现,根据tiling信息完成所有数据的搬运和计算。 |
| 362 | -**注意**:因`TilingData`结构的定义和使用方式不同而造成ATB算子与[Ascend C算子kernel开发](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/850alpha001/opdevg/Ascendcopdevg/atlas_ascendc_10_0063.html)有不同点。 | 362 | +**注意**:因`TilingData`结构的定义和使用方式不同而造成ATB算子与[Ascend C算子kernel开发](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/programug/Ascendcopdevg/docs/guide/%E7%BC%96%E7%A8%8B%E6%8C%87%E5%8D%97/%E9%99%84%E5%BD%95/%E5%B7%A5%E7%A8%8B%E5%8C%96%E7%AE%97%E5%AD%90%E5%BC%80%E5%8F%91/Kernel%E4%BE%A7%E7%AE%97%E5%AD%90%E5%AE%9E%E7%8E%B0.md)有不同点。 |
| 363 | 363 | ||
| 364 | * 在Ascend C算子开发中,调用`GET_TILING_DATA(tilingData, tiling);`获取`TilingData`;而ATB算子开发中,使用如下方式: | 364 | * 在Ascend C算子开发中,调用`GET_TILING_DATA(tilingData, tiling);`获取`TilingData`;而ATB算子开发中,使用如下方式: |
| 365 | 365 | ||
| @@ -453,7 +453,7 @@ REG_KERNEL_BASE(FastSoftMaxKernel); | |||
| 453 | #### 流程详解 | 453 | #### 流程详解 |
| 454 | 454 | ||
| 455 |  | 455 |  |
| 456 | -具体编写说明,可查看[核函数-昇腾社区](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/850alpha001/opdevg/Ascendcopdevg/atlas_ascendc_10_0014.html#ZH-CN_TOPIC_0000002370175061__zh-cn_topic_0000001447989210_section1915102519220)。 | 456 | +具体编写说明,可查看[核函数-昇腾社区](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/programug/Ascendcopdevg/docs/guide/%E7%BC%96%E7%A8%8B%E6%8C%87%E5%8D%97/%E7%BC%96%E7%A8%8B%E6%A8%A1%E5%9E%8B/AI-Core-SIMD%E7%BC%96%E7%A8%8B/%E6%A0%B8%E5%87%BD%E6%95%B0.md)。 |
| 457 | 457 | ||
| 458 | ### ATB算子接入 | 458 | ### ATB算子接入 |
| 459 | 459 | ||
| @@ -798,7 +798,7 @@ source output/atb/set_env.sh | |||
| 798 | ATB算子开发完成之后,用户可编写用例对算子进行功能测试,ATB仓提供了python和C++两种方式。您可参考如下资料进行编写: | 798 | ATB算子开发完成之后,用户可编写用例对算子进行功能测试,ATB仓提供了python和C++两种方式。您可参考如下资料进行编写: |
| 799 | 799 | ||
| 800 | - [调用示例编写说明](../README.md#调用示例说明) | 800 | - [调用示例编写说明](../README.md#调用示例说明) |
| 801 | -- [单算子调用示例编写](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/850alpha001/acce/ascendtb/ascendtb_0046.html) | 801 | +- [单算子调用示例编写](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/API/ascendtb/ascendtb_0046.html) |
| 802 | 802 | ||
| 803 | #### 精度测试 | 803 | #### 精度测试 |
| 804 | 804 | ||
| @@ -237,7 +237,7 @@ int main(int argc, char **argv) | |||
| 237 | 237 | ||
| 238 | ### msDebug | 238 | ### msDebug |
| 239 | 239 | ||
| 240 | -`msDebug`允许用户对昇腾单算子程序设置断点、单步运行、查看核函数变量、NPU侧内存数据等能力,实现在同一个应用中同时调试CPU和NPU代码。就像`AscendC编程`是`C编程`的扩展一样,使用`msDebug`调试也是使用`gdb/lldb`调试的自然扩展。[官方文档](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/83RC1alpha001/devaids/optool/atlasopdev_16_0062.html) | 240 | +`msDebug`允许用户对昇腾单算子程序设置断点、单步运行、查看核函数变量、NPU侧内存数据等能力,实现在同一个应用中同时调试CPU和NPU代码。就像`AscendC编程`是`C编程`的扩展一样,使用`msDebug`调试也是使用`gdb/lldb`调试的自然扩展。[官方文档](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/devaids/optool/docs/zh/quick_start/msdebug_quick_start.md) |
| 241 | 241 | ||
| 242 | 1. 确认环境中是否有该功能 | 242 | 1. 确认环境中是否有该功能 |
| 243 | 243 | ||
| @@ -249,7 +249,7 @@ int main(int argc, char **argv) | |||
| 249 | ./Ascend-hdk-<chip_type>-npu-driver_<version>_linux-<arch>.run --full | 249 | ./Ascend-hdk-<chip_type>-npu-driver_<version>_linux-<arch>.run --full |
| 250 | ``` | 250 | ``` |
| 251 | 251 | ||
| 252 | -* 方法二:驱动安装时指定**--debug**参数,具体安装操作请参见[安装NPU驱动固件](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/83RC1alpha001/softwareinst/instg/instg_0005.html?Mode=PmIns&OS=Ubuntu&Software=cannToolKit)。 | 252 | +* 方法二:驱动安装时指定**--debug**参数,具体安装操作请参见[安装NPU驱动固件](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/softwareinst/instg/instg_0005.html?Mode=PmIns&OS=Ubuntu&Software=cannToolKit)。 |
| 253 | 253 | ||
| 254 | ``` | 254 | ``` |
| 255 | ./Ascend-hdk-<chip_type>-npu-driver_<version>_linux-<arch>.run --debug | 255 | ./Ascend-hdk-<chip_type>-npu-driver_<version>_linux-<arch>.run --debug |
| @@ -320,7 +320,7 @@ ATB加速库的`AscendC_Dump`功能支持用户在调试ATB加速库中的算子 | |||
| 320 | 首先需要查看环境是否安装CANN/ascend-toolkit并且配置好环境变量: `echo $ASCEND_HOME_PATH`。如果没有返回相应的路径,需要重新`source ${install_path}/set_env.sh`,其中${install_path}为CANN软件的安装目录。 | 320 | 首先需要查看环境是否安装CANN/ascend-toolkit并且配置好环境变量: `echo $ASCEND_HOME_PATH`。如果没有返回相应的路径,需要重新`source ${install_path}/set_env.sh`,其中${install_path}为CANN软件的安装目录。 |
| 321 | 2. 添加AscendC::printf、AscendC::DumpTensor到对应算子的核函数中。 | 321 | 2. 添加AscendC::printf、AscendC::DumpTensor到对应算子的核函数中。 |
| 322 | 322 | ||
| 323 | - * AscendC::printf: 该接口提供CPU域/NPU域调试场景下的格式化输出功能。在算子kernel侧实现代码中需要输出日志信息的地方调用printf接口打印相关内容。[官方文档](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/83RC1alpha001/API/ascendcopapi/atlasascendc_api_07_0193.html) | 323 | + * AscendC::printf: 该接口提供CPU域/NPU域调试场景下的格式化输出功能。在算子kernel侧实现代码中需要输出日志信息的地方调用printf接口打印相关内容。[官方文档](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/API/ascendcopapi/atlasascendc_api_07_00166.html) |
| 324 | 324 | ||
| 325 | * 函数接口:`void AscendC::printf(__gm__ const char* fmt, Args&&... args)` | 325 | * 函数接口:`void AscendC::printf(__gm__ const char* fmt, Args&&... args)` |
| 326 | * 参数说明: | 326 | * 参数说明: |
| @@ -330,7 +330,7 @@ ATB加速库的`AscendC_Dump`功能支持用户在调试ATB加速库中的算子 | |||
| 330 | | fmt | 输入 | 格式控制字符串,包含两种类型的对象:普通字符和转换说明。支持的转化类型:<br>%d/%i: 输出十进制整数,支持打印数据类型:bool、int8_t、int16_t、int32_t、int64_t <br>%f: 输出实数,支持打印数据类型:float/half/bfloat16_t <br>%x: 输出十六进制整数,支持打印的数据类型:int8_t、int16_t、int32_t、int64_t、uint8_t、uint16_t、uint32_t、uint64_t <br> %s: 输出字符串 <br> %u: 输出unsigned类型数据,支持打印的数据类型:bool、uint8_t、uint16_t、uint32_t、uint64_t <br>%p: 输出指针地址 | | 330 | | fmt | 输入 | 格式控制字符串,包含两种类型的对象:普通字符和转换说明。支持的转化类型:<br>%d/%i: 输出十进制整数,支持打印数据类型:bool、int8_t、int16_t、int32_t、int64_t <br>%f: 输出实数,支持打印数据类型:float/half/bfloat16_t <br>%x: 输出十六进制整数,支持打印的数据类型:int8_t、int16_t、int32_t、int64_t、uint8_t、uint16_t、uint32_t、uint64_t <br> %s: 输出字符串 <br> %u: 输出unsigned类型数据,支持打印的数据类型:bool、uint8_t、uint16_t、uint32_t、uint64_t <br>%p: 输出指针地址 | |
| 331 | | args | 输入 | 附加参数,个数和类型可变的参数列表:根据不同的fmt字符串,函数可能需要一系列的附加参数,每个参数包含了一个要被插入的值,替换了fmt参数中指定的每个%标签。参数的个数应与%标签的个数相同。 | | 331 | | args | 输入 | 附加参数,个数和类型可变的参数列表:根据不同的fmt字符串,函数可能需要一系列的附加参数,每个参数包含了一个要被插入的值,替换了fmt参数中指定的每个%标签。参数的个数应与%标签的个数相同。 | |
| 332 | 332 | ||
| 333 | - * AscendC::DumpTensor: 使用该接口Dump指定Tensor的内容, 目前只支持打印存储位置为Unified Buffer、L1 Buffer、L0C Buffer、Global Memory的Tensor信息。[官方文档](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/83RC1alpha001/API/ascendcopapi/atlasascendc_api_07_0192.html) | 333 | + * AscendC::DumpTensor: 使用该接口Dump指定Tensor的内容, 目前只支持打印存储位置为Unified Buffer、L1 Buffer、L0C Buffer、Global Memory的Tensor信息。[官方文档](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/API/ascendcopapi/atlasascendc_api_07_0192.html) |
| 334 | * 函数接口: | 334 | * 函数接口: |
| 335 | 335 | ||
| 336 | ``` | 336 | ``` |
| @@ -82,4 +82,4 @@ ATB的基本编译命令是`bash build.sh`,默认构建模式下生成版本 | |||
| 82 | 82 | ||
| 83 | **文件名**:`scripts/set_env.sh` | 83 | **文件名**:`scripts/set_env.sh` |
| 84 | 加速库安装完成后,提供进程级环境变量设置脚本`set_env.sh`,以自动完成环境变量设置,用户进程结束后自动失效。 | 84 | 加速库安装完成后,提供进程级环境变量设置脚本`set_env.sh`,以自动完成环境变量设置,用户进程结束后自动失效。 |
| 85 | -若想查看相关变量含义说明,可访问[环境变量参考-昇腾社区](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/850alpha001/acce/ascendtb/ascendtb_0032.html)。 | 85 | +若想查看相关变量含义说明,可访问[环境变量参考-昇腾社区](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910beta1/API/ascendtb/ascendtb_0032.html)。 |