MindStudio Insight里面的thread和stream

举报
黄生 发表于 2025/10/07 18:43:43 2025/10/07
【摘要】 在 MindStudio Insight 的 Timeline 界面中,CANN 层使用 Thread 而 Ascend Hardware 层使用 Stream 来组织任务,这反映了两个层级在昇腾异构计算架构中所处的不同位置和承担的不同职责 。CANN 是 Compute Architecture for Neural Networks 的缩写,它是昇腾AI处理器的计算架构,其软件栈运行在主...

在 MindStudio Insight 的 Timeline 界面中,CANN 层使用 Thread 而 Ascend Hardware 层使用 Stream 来组织任务,这反映了两个层级在昇腾异构计算架构中所处的不同位置和承担的不同职责 。

CANN 是 Compute Architecture for Neural Networks 的缩写,它是昇腾AI处理器的计算架构,其软件栈运行在主机CPU上。它的主要职责是接收上层框架(如MindSpore、PyTorch)下发的计算任务,并进行任务管理、资源分配等 。在 Host 侧,任务的执行和管理是由操作系统进程和线程来调度的。因此,在 CANN 层,任务被组织在 Thread(线程) 泳道中,这反映了其在 CPU 上的多线程执行模式 。每个 Thread 子泳道主要包含 AscendCL、GE、Runtime 组件以及 Node(算子)的耗时数据。

Ascend Hardware 层位于 Device(设备侧,即NPU)。 这一层直接对应昇腾AI处理器(NPU)硬件的执行单元。它负责接收来自 Host 侧 CANN 层下发的具体计算任务,并在 NPU 上执行 。在 NPU 硬件上,为了最大化并行效率和资源利用率,任务会被调度到不同的硬件队列中并发执行。这些队列在软件层面被抽象为 Stream(任务流)。因此,在 Ascend Hardware 层,任务被组织在不同的 Stream 泳道中,每个 Stream 代表一个独立的任务执行流水线,记录着 AI 任务运行时各个 Task 在不同加速器下的执行耗时。

这种命名差异清晰地标示了任务在异构计算系统中的流动路径: 上层应用 → CANN(Host侧,CPU线程管理) → Ascend Hardware(Device侧,NPU流式执行)。CANN 层的 Thread 体现了 Host 侧 CPU 的软件调度和管理单元。 Ascend Hardware 层的 Stream 体现了 Device 侧 NPU 硬件的任务执行和并行流水线。 这种划分有助于用户理解从软件到硬件的完整执行栈,并定位性能瓶颈是发生在主机侧的任务调度,还是设备侧的计算执行 。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。