ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

CANN/ge性能调优配置参数

CANN/ge性能调优配置参数 性能调优【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/geOP_PRECISION_MODE设置指定算子内部处理时的精度模式支持指定一个算子或多个算子。通过该参数传入自定义的精度模式配置文件op_precision.ini可以为不同的算子设置不同的精度模式。此参数实际对应的options参数为ge.exec.op_precision_mode。配置示例{ge::ir_option::OP_PRECISION_MODE, op_precision.ini}配置文件中支持设置如下精度模式high_precision表示高精度。high_performance表示高性能。enable_float_32_execution算子内部处理时使用FP32数据类型功能该场景下FP32数据类型不会自动转换为HF32数据类型若使用HF32计算精度损失超过预期时可启用该配置指定部分算子内部计算时使用FP32保持精度。该选项仅支持以下产品类型Atlas A3 训练系列产品/Atlas A3 推理系列产品Atlas A2 训练系列产品/Atlas A2 推理系列产品enable_hi_float_32_execution算子内部处理时使用HF32数据类型功能启用此配置后FP32数据类型自动转换为HF32数据类型该机制可以降低数据所占空间大小实现性能提升。当前版本该选项暂不支持。support_out_of_bound_index表示对gather、scatter和segment类算子的indices输入进行越界校验校验会降低算子的执行性能。keep_fp16算子内部处理时使用FP16数据类型功能该场景下FP16数据类型不会自动转换为FP32数据类型若使用FP32计算时性能不满足预期同时精度要求不高情况下可以选择keep_fp16模式牺牲精度提升性能不建议使用该低精度模式。super_performance表示超高性能和高性能相比在算法计算公式上进行了优化。具体某个算子支持配置的精度/性能模式取值可以通过CANN软件安装后文件存储路径的opp/built-in/op_impl/ai_core/tbe/impl_mode/all_ops_impl_mode.ini文件查看。样例如下ini文件中按照算子类型、节点名称设置精度模式每一行设置一个算子类型或节点名称的精度模式按节点名称设置精度模式的优先级高于按算子类型。[ByOpType] optype1high_precision optype2high_performance optype3enable_hi_float_32_execution optype4support_out_of_bound_index [ByNodeName] nodename1high_precision nodename2high_performance nodename3enable_hi_float_32_execution nodename4support_out_of_bound_index使用约束该参数不能与OP_SELECT_IMPL_MODE、OPTYPELIST_FOR_IMPLMODE参数同时使用若三个参数同时配置则只有OP_PRECISION_MODE参数指定的模式生效。针对同一个算子如果通过OP_PRECISION_MODE数配置了enable_hi_float_32_execution或enable_float_32_execution该场景下不建议再与ALLOW_HF32参数同时使用若同时使用则优先级如下op_precision_mode(ByNodeName按节点名称设置精度模式) allow_hf32 op_precision_mode(ByOpType按算子类型设置精度模式)该参数不建议配置若使用高性能或者高精度模式网络性能或者精度不是最优则可以使用该参数通过配置ini文件调整某个具体算子的精度模式。产品支持情况全量芯片支持。TILING_SCHEDULE_OPTIMIZETiling下沉调度优化开关。此参数实际对应的options参数为ge.tiling_schedule_optimize。由于NPU中AI Core内部存储无法完全容纳算子输入输出的所有数据需要每次搬运一部分输入数据进行计算然后搬出再搬运下一部分输入数据进行计算该过程称之为Tiling根据算子的shape等信息来确定数据切分算法相关参数比如每次搬运的块大小以及总共循环多少次的计算程序称之为Tiling实现。由于Tiling实现中完成的均为标量计算AI Core并不擅长故一般在Host侧CPU上执行但是满足下述条件Tiling实现会下沉到Device侧执行模型为静态shape。模型中的算子支持Tiling下沉比如FusedInferAttentionScore、IncreFlashAttention等融合算子。支持Tiling下沉的算子值有依赖需要满足前一个算子的值有device的执行结果如果依赖的值是Const则不需要下沉执行Tiling编译时会完成Tiling。参数取值0关闭Tiling下沉默认为0。1开启Tiling下沉。配置示例{ge::ir_option::TILING_SCHEDULE_OPTIMIZE, 1}产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品不支持Atlas 推理系列产品支持Atlas 训练系列产品不支持IPV350不支持【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表