news 2026/5/9 18:03:31

华为CANN Profiler构造函数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
华为CANN Profiler构造函数

Profiler构造函数

【免费下载链接】tensorflowAscend TensorFlow Adapter项目地址: https://gitcode.com/cann/tensorflow

功能说明

Profiler类的构造函数,用于局部打开Profiling功能,例如仅采集TensorFlow网络中局部子图的性能数据,或采集指定step的性能数据。

函数原型

class Profiler(object): def __init__( self, *, level: str = "L0", aic_metrics: str = "", output_path: str = "" )

参数说明

参数名输入/输出描述
level输入开启Profiler的级别,用于控制采集性能数据的范围。
- L0(默认值):主要采集任务调度耗时信息(task_time)和acl接口执行相关的性能数据。
- L1:在L0的采集数据基础上,额外采集集合通信算子性能数据和AI Core算子性能数据。
- L2:在L1的采集数据基础上,额外采集Runtime组件执行相关的性能数据和AI CPU算子性能数据。
aic_metrics输入当level配置为“L1”或“L2”时,可通过此参数采集AI Core和AI Vector Core硬件相关的性能指标,包含如下取值:
- ArithmeticUtilization:cube及vector类型指令耗时和占比。
- PipeUtilization(默认值):计算单元和搬运单元耗时占比。
- Memory:内存读写带宽速率。
- MemoryL0:L0读写带宽速率。
- MemoryUB:UB读写带宽速率。
- ResourceConflictRatio:流水线队列类指令占比。
- L2Cache:读写cache命中次数和缺失后重新分配次数。
关于每一种取值包含的详细采集项及其含义可参见《性能调优工具用户指南》中的“性能数据文件参考 > op_summary(算子详细信息)”章节。
output_path输入Profiling采集结果文件保存路径。该参数指定的目录需要在启动训练的环境上(容器或Host侧)提前创建且运行用户具有读写权限,支持配置为绝对路径或相对路径(相对执行命令行时的当前路径)。路径中不能包含特殊字符:"\n"、"\f"、"\r"、"\b"、"\t"、"\v"、"\u007F"。
- 绝对路径配置以“/”开头,例如:/home/test/output。
- 相对路径配置直接以目录名开始,例如:output。
- 该参数优先级高于环境变量ASCEND_WORK_PATH,关于ASCEND_WORK_PATH的详细说明,可参见《环境变量参考》中的“安装配置相关”章节。
默认值为空。此参数配置为空时,采集结果文件保存在当前目录下。

返回值

约束说明

  • Profiler类需要通过with语句调用,性能数据采集功能会在对应的作用域内生效。

  • Profiler类仅支持session模式调用。

  • Profiler类不能嵌套使用。

    如下所示,是错误的调用方法。

    with profiler.Profiler(level="L1", aic_metrics="ArithmeticUtilization", output_path = "./"): with profiler.Profiler(level="L1", aic_metrics="ArithmeticUtilization", output_path = "./"): sess.run(add)
  • Profiler类不能与session配置中的参数“profiling_mode”、“profiling_options”,NPURunConfig配置中的参数“enable_profiling”、“profiling_options”,以及环境变量“PROFILING_MODE”、“PROFILING_OPTIONS”同时使用,关于环境变量的详细说明可参见《环境变量参考》。

  • Profiler类不支持多线程调用。

调用示例

import tensorflow as tf from npu_bridge.npu_init import * ...... a = tf.placeholder(tf.int32, (None,None)) b = tf.constant([[1,2],[2,3]], dtype=tf.int32, shape=(2,2)) add = tf.add(a, b) with tf.Session(config=session_config, graph=g) as sess: with profiler.Profiler(level="L1", aic_metrics=str("ArithmeticUtilization"), output_path = "./"): result=sess.run(add, feed_dict={a: [[-20, 2],[1,3]],c: [[1],[-21]]})

【免费下载链接】tensorflowAscend TensorFlow Adapter项目地址: https://gitcode.com/cann/tensorflow

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 18:00:59

全局工作空间与高阶监控:构建可解释、自适应的AI认知架构

1. 项目概述:当AI开始“思考”,我们如何窥探其“意识”?“意识”这个词,长久以来似乎是生物,特别是人类的专属领地。但当我们构建的AI系统越来越复杂,从简单的模式识别发展到能够进行多模态推理、规划甚至展…

作者头像 李华
网站建设 2026/5/9 17:55:53

设计受托AI:从法律义务到系统对齐的技术实践与挑战

1. 项目概述:当AI成为“受托人”在人工智能技术,特别是生成式AI和自主智能体飞速发展的今天,一个过去只存在于科幻讨论中的问题正变得日益紧迫:当AI系统被赋予决策权、执行关键任务,甚至代表人类利益行事时&#xff0c…

作者头像 李华
网站建设 2026/5/9 17:55:52

Python开发者如何通过Taotoken快速集成OpenAI兼容API

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Python开发者如何通过Taotoken快速集成OpenAI兼容API 对于Python开发者而言,集成大模型能力正变得越来越普遍。Taotoke…

作者头像 李华
网站建设 2026/5/9 17:54:38

CANN/shmem动态分片示例

使用方式 【免费下载链接】shmem CANN SHMEM 是面向昇腾平台的多机多卡内存通信库,基于OpenSHMEM 标准协议,实现跨设备的高效内存访问与数据同步。 项目地址: https://gitcode.com/cann/shmem 1. 编译项目 在 shmem/ 根目录下执行编译脚本&#…

作者头像 李华