云服务器内容精选
-
auto-completion命令详解 支持自动补全模式,在终端中自动完成ma-advisor命令补全,支持“bash(默认)/zsh/fish”。 ma-advisor auto-completion Bash 图12 提示 根据提示,在terminal中输入对应的命令即可开启在bash中对MA-Advisor相关命令自动补全功能,例如,执行如下命令后,即可在bash命令行中,后续执行ma-advisor相关命令时,使用Tab键即可自动补全: eval "$(_MA_ADVISOR_COMPLETE=bash_source ma-advisor)"
-
query命令详解 timeline:单独对推理、训练timeline性能数据进行单算子详情查询,根据算子名称以及任务类型(AI_CPU|AI_CORE)进行查询,算子查询统计信息输出到运行终端,并在执行目录下的"log/ma_advisor.xlsx"文件中给出相关算子详细信息。 ma-advisor query timeline --data-dir='/temp/profiling_dir' --op_name='Mul' --task_type='AI_CPU'
-
analyze命令详解 all:同时进行融合算子图调优、亲和API替换调优、AICPU调优、算子调优等分析,并输出相关简略建议到执行终端中,并生成“ma_advisor_**.html”文件可供用户在浏览器中进行预览: ma-advisor analyze all --data-dir='/temp/profiling_dir' 图2 命令样例 命令执行后同时会生成各场景优化建议的html,相关算子问题概览会按照不同建议进行汇总。 图3 生成结果 表1 参数解释 参数 缩写 是否必填 说明 --data-dir -d 必填 代表存储Profiling单卡性能数据的目录,目前暂不支持同时分析多卡Profiling目录,Profiling数据可通过如下方法获取: 在执行推理或训练程序时,请参见“Profiling工具使用指南”完成Profiling数据的采集、解析与导出(您可以在昇腾文档页面左上角切换版本,选择对应版本的指导文档)。数据采集时需要配置“aic-metrics”参数为“PipeUtilization”,“aicpu”参数为“on”。 MA-Advisor依赖Profiling工具解析后的timeline数据、summary数据以及info.json*文件,请确保指定的“profiling_dir”目录下存在以上文件。 --cann_version -cv 选填 使用Profiling工具采集时对应的CANN软件版本,可通过在环境中执行如下命令获取其version字段,目前配套的兼容版本为“6.3.RC2”,“7.0.RC1”和“7.0.0”,此字段不填默认按“7.0.RC1”版本数据进行处理,其余版本采集的Profiling数据在分析时可能会导致不可知问题: cat /usr/local/Ascend/ascend-toolkit/latest/aarch64-linux/ascend_toolkit_install.info --torch_version -tv 选填 运行环境的torch版本,默认为1.11.0,支持torch1.11.0和torch2.1.0,当运行环境torch版本为其他版本如torch1.11.3时,可以忽略小版本号差异选择相近的torch版本如1.11.0。 --debug -D 选填 工具执行报错时可打开此开关,将会展示详细保存堆栈信息。 --help -h,-H 选填 在需要查询当前命令附属子命令或相关参数时,给出帮助建议。 graph:单独对推理dump的子图数据进行调优,并在分析完成后,给出相关建议到终端中,并生成“ma_advisor_graph_**.html”文件到执行目录中,目前暂不支持同时分析多卡推理性能数据: ma-advisor analyze graph --data-dir='/temp/profiling_dir' 图4 命令样例 命令执行后生成融合算子优化建议的html,相关融合算子问题概览会按照不同融合算子类型进行汇总。 图5 生成结果 表2 参数解释 参数 缩写 是否必填 说明 --data-dir -d 必填 代表存储Profiling单卡性能数据的目录,目前暂不支持同时分析多卡Profiling目录,Profiling数据可通过如下方法获取: 在执行推理或训练程序时,请参见“Profiling工具使用指南”完成Profiling数据的采集、解析与导出(您可以在昇腾文档页面左上角切换版本,选择对应版本的指导文档)。数据采集时需要配置“aic-metrics”参数为“PipeUtilization”,“aicpu”参数为“on”, “with_stack”参数为True。 MA-Advisor 依赖Profiling工具解析后的timeline数据、summary数据以及info.json*文件,请确保指定的“profiling_dir”目录下存在以上文件。 --cann_version -cv 选填 使用Profiling工具采集时对应的CANN软件版本,可通过在环境中执行如下命令获取其version字段,目前配套的兼容版本为“6.3.RC2”,“7.0.RC1”和“7.0.0”,此字段不填默认按“7.0.RC1”版本数据进行处理,其余版本采集的Profiling数据在分析时可能会导致不可知问题: cat /usr/local/Ascend/ascend-toolkit/latest/aarch64-linux/ascend_toolkit_install.info --debug -D 选填 工具执行报错时可打开此开关,将会展示详细保存堆栈信息。 --help -h,-H 选填 在需要查询当前命令附属子命令或相关参数时,给出帮助建议。 profiling:单独对推理、训练Profiling性能数据进行算子调优分析,在分析完成后,给出相关分析说明到执行终端中,并生成“ma_advisor_profiling_**.html”文件到执行目录中,目前暂不支持同时分析多卡Profiling性能数据。 ma-advisor analyze profiling --data-dir='/temp/profiling_dir' 图6 命令样例 命令执行后生成AICORE算子使用AOE配置优化建议、AICPU算子优化建议的html,目前由于AOE优化不支持动态shape算子优化,因此若检测到算子均为动态shape时,将不会推荐AOE调优;除此之外,单算子问题概览会按照不同算子类型进行汇总,同时根据耗时大小进行降序显示。 图7 生成结果 表3 参数解释 参数 缩写 是否必填 说明 --data-dir -d 必填 代表存储Profiling单卡性能数据的目录,目前暂不支持同时分析多卡Profiling目录,Profiling数据可通过如下方法获取: 在执行推理或训练程序时,请参见“Profiling工具使用指南”完成Profiling数据的采集、解析与导出(您可以在昇腾文档页面左上角切换版本,选择对应版本的指导文档)。数据采集时需要配置“aic-metrics”参数为“PipeUtilization”,“aicpu”参数为“on”。MA-Advisor依赖Profiling工具解析后的timeline数据、summary数据以及info.json*文件,请确保指定的“profiling_dir”目录下存在以上文件。 --cann_version -cv 选填 使用Profiling工具采集时对应的CANN软件版本,可通过在环境中执行如下命令获取其version字段,目前配套的兼容版本为“6.3.RC2”,“7.0.RC1”和“7.0.0”,此字段不填默认按“7.0.RC1”版本数据进行处理,其余版本采集的Profiling数据在分析时可能会导致不可知问题: cat /usr/local/Ascend/ascend-toolkit/latest/aarch64-linux/ascend_toolkit_install.info --ntework_type -t 选填 “train”或者“infer”,不填默认为“train”。 --debug -D 选填 工具执行报错时可打开此开关,将会展示详细保存堆栈信息。 --help -h,-H 选填 在需要查询当前命令附属子命令或相关参数时,给出帮助建议。 timeline:单独对推理、训练timeline性能数据进行亲和API调优分析,在分析完成后,给出相关亲和API分析说明到执行终端中,并生成“ma_advisor_timeline_**.html”文件到执行目录中,目前暂不支持同时分析多卡Profiling性能数据。 ma-advisor analyze timeline --data-dir='/temp/profiling_dir' 图8 命令样例 命令执行后生成亲和API相关优化建议的html,将会按建议替换的亲和API进行汇总聚类,同时给出对应待替换API的堆栈信息。 图9 生成结果 表4 参数解释 参数 缩写 是否必填 说明 --data-dir -d 必填 代表存储Profiling单卡性能数据的目录,目前暂不支持同时分析多卡Profiling目录,Profiling数据可通过如下方法获取: 在执行推理或训练程序时,请参见“Profiling工具使用指南”完成Profiling数据的采集、解析与导出(您可以在昇腾文档页面左上角切换版本,选择对应版本的指导文档)。数据采集时需要配置“aic-metrics”参数为“PipeUtilization”,“aicpu”参数为“on”, “with_stack”参数为True。 MA-Advisor 依赖Profiling工具解析后的timeline数据、summary数据以及info.json*文件,请确保指定的“profiling_dir”目录下存在以上文件。 --cann_version -cv 选填 使用Profiling工具采集时对应的CANN软件版本,可通过在环境中执行如下命令获取其version字段,目前配套的兼容版本为“6.3.RC2”,“7.0.RC1”和“7.0.0”,此字段不填默认按“7.0.RC1”版本数据进行处理,其余版本采集的Profiling数据在分析时可能会导致不可知问题: cat /usr/local/Ascend/ascend-toolkit/latest/aarch64-linux/ascend_toolkit_install.info --debug -D 选填 工具执行报错时可打开此开关,将会展示详细保存堆栈信息。 --help -h,-H 选填 在需要查询当前命令附属子命令或相关参数时,给出帮助建议。
-
MA-Advisor命令总览 MA-Advisor当前支持如下四种命令: analyze:根据Profiling单卡数据进行相关调优分析,并给出调优建议。 query:根据Profiling单卡timeline数据,输入算子相关参数,查询出算子详细信息。 env:对当前昇腾环境进行运行前预检查,分析出相关环境问题,并给出环境检查修复建议。 update: 更新用于分析的知识库,将云端知识库同步至分析环境中。 auto-completion:自动补全模式,在终端中自动完成MA-Advisor命令补全,支持“bash(默认)/zsh/fish”。 在执行任何命令前,若对其参数有疑问,可执行-h进行查看帮助,例如: ma-advisor analyze -h 图1 查看帮助
-
API替换总览 •torch_npu.optim.NpuFusedAdamW •optimizer.clip_grad_norm_fused_ •torch_npu.npu_confusion_transpose •torch_npu.npu_scaled_masked_softmax •torch_npu.fast_gelu •torch_npu.npu_rms_norm •torch_npu.npu_swiglu •torch_npu.npu_rotary_mul •torch_npu.npu_fusion_attention 上述torch_npu api的功能和参数描述见概述。
-
优化器替换 替换优化器一般都能有较大的性能受益,可以优先考虑将torch原生的优化器替换为昇腾提供的亲和优化器。下文以AdamW优化器为例,其他优化器的替换方式一致。 torch_npu.optim.NpuFusedAdamW torch原生代码示例如下: import torch optimizer = torch.optim.AdamW( model.parameters(), learning_rate, momentum=momentum, weight_decay=weight_decay ) torch_npu代码示例如下: import torch_npu from torch_npu.contrib import transfer_to_npu optimizer = torch_npu.optim.NpuFusedAdamW( model.parameters(), learning_rate, momentum=momentum, weight_decay=weight_decay )
-
IndexPut算子替换 在tensor类型的赋值和切片操作时,会使用IndexPut算子执行,一般都在AICPU上执行,可以转换为等价的tensor操作转换到CUBE单元上执行。例如: masked_input[input_mask] = 01 建议替换为: masked_input *= ~input_mask 1 此处是将IndexPut的masked_input是float类型的tensor数据,input_mask是和masked_input shape 一致的bool类型tensor或者01矩阵。由于是赋0操作,所以先对input_mask 取反后再进行乘法操作。 以赋0操作为例,在shape = (512, 32, 64) 类型float32 数据上测试,替换前耗时: 9.639978408813477 ms,替换之后耗时为 0.1747608184814453 ms Profiling分析算子下发发现,替换前:总体耗时在9.902ms,Host下发到device侧执行5个算子,其中aclnnIndexPutImpl_IndexPut_IndexPut是执行在 AICPU上。 图3 替换前 替换后:总体耗时226.131us。下发三个执行算子,均执行在AI CORE上。 图4 替换后
-
ArgMin算子优化 ArgMin在CANN 6.3 RC2 版本上 算子下发到 AICPU执行,在 CANN 7.0RC1上下发到AI_CORE 上边执行。出现此类情形建议升级 CANN 包版本。 在 shape 大小是 (1024, 1024) 的 tensor 上测试,结果如下: CANN 6.3.RC2上,单算子执行时间 2.603 ms。 图5 单算子执行时间(CANN 6.3.RC2) CANN7.0 RC1上,单算子执行时间 223.516 us。 图6 单算子执行时间(CANN7.0 RC1)
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格