华为cann 算子开发他们提供的云端环境 cannlab hidevlab的webide使用教程

https://gitcode.com/opdevtools/plugin_release#

一站式算子开发插件使用操作文档
本文档将引导你从零开始,完成算子的创建、开发、验证到性能分析的完整流程。

前置准备
从CANN社区的任意仓进入->点“CANNLab”,即可进入CANN社区一站式开发平台(CANNLab): 例如:https://gitcode.com/cann/ops-math
image.png

进入开发者空间->选择WebIDE
image.png

连接workspace后:选择IDE右侧工具栏中的Ascend C算子开发插件
image.png

第一步:创建算子工程
新建算子工程

可以通过点击插件工具栏 -> "+"按钮

image.png

或者通过在资源管理器中右键点击创建

image.png

注:

在标准自定义算子工程目录下,只支持创建标准自定义算子:

image.png

注:算子标记功能

针对标准自定义算子,插件会帮助用户自动识别当前工程下都有哪些算子。为了防止工具自动识别错漏,插件提供了让用户自己标记的功能:
右键点击目录,可标记为算子工程集合,会把文件夹下的目录都标记为算子目录;
或者右键标记为算子工程目录,会把当前目录标记为单个算子目录

image.png

如果要创建算子直调工程(<<<>>>)、pyasc算子工程,则需关闭当前ops-math项目,然后创建算子:

image.png

填写工程配置

配置项说明:

算子工程名称:在指定位置创建同名目录,并在其中生成算子文件 算子工程位置:保存算子工程的目录(必须已存在) 环境变量配置脚本:设置编译运行环境的脚本路径,当前云开发环境已经设置好了CANN包的env,可使用默认值/etc/profile即可。

点击在当前窗口中打开,完成创建后,工作区将自动打开新建的算子工程。

第二步:算子开发(以上面创建的<<<>>>算子为例)
编写算子代码 在生成的算子代码工程中编写你的 Ascend C 代码,完成算子开发,插件提供了预防高亮和代码跳转等功能。
image.png

编译算子 点击操作面板中的“编译部署算子”按钮:
image.png

编译成功后,会在 build 目录下生成与算子工程名称一致的可执行文件。

运行算子 点击操作面板中的“运行”按钮,可以运行编译出来的算子可执行文件(对于标准自定义算子来说,会先编译算子的example,然后再执行example的可执行文件):
image.png

第三步:调试算子
NPU调试:点击操作面板中的“NPU调试”按钮,插件会自动拉起所需编译过程,可在有NPU的环境中进行上板打断点单步调试,并查看相关变量等信息:
image.png

CPU调试:点击“CPU调试”按钮,可在CPU环境中进行孪生调试,以解决缺少NPU资源的调试场景:
image.png

第四步:异常检测
使用 msSanitizer 工具检测算子潜在问题(内存、竞争、未初始化、同步等),需在有NPU的环境中执行。

点击操作面板中的“异常检测”按钮,插件会提示用户选择所需检测内容,如果每次检测的内容不需改变,可以选择“不再显示”按钮:

image.png

-点击“立即开始”后,插件自动拉起所需编译过程,并进行检测,点击面板中的“异常检测结果”菜单中的执行记录,可查看异常检测报告,支持查看详情和代码行跳转:

image.png

根据检测结果修复代码中的问题。

第五步:性能分析
上板性能分析 适用于实际运行环境,定位内存和性能瓶颈。

点击操作面板中的“性能调优”下的“上板分析”按钮,工程配置中可配置需要收集的数据指标,默认全部收集,如果每次收集的内容不需改变,可以选择“不再显示”按钮:
image.png

点击面板中的“性能调优结果可视化”菜单,可查看并分析性能调优相关数据:
image.png

仿真性能分析 适用于开发阶段,进行详细的指令级和代码热点分析。

点击操作面板中的“性能调优”下的“仿真分析”按钮,工程配置中可配置需要收集的数据指标,默认全部收集,如果每次收集的内容不需改变,可以选择“不再显示”按钮:
image.png

点击面板中的“性能调优结果可视化”菜单,可查看并分析性能调优相关数据:
image.png

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐