关于昇腾的并行能力的疑问 -- 一个AI Core可以同时并行执行多少个Stream?
收藏回复举报
关于昇腾的并行能力的疑问 -- 一个AI Core可以同时并行执行多少个Stream?
t('forum.solved') 已解决
发表于2025-03-06 11:33:49
0 查看

在CANN的文档中关于Stream的介绍如下:

Stream是一个任务队列,应用程序通过Stream来管理任务的并行,一个Stream内部的任务保序执行,即Stream根据发送过来的任务依次执行

我的理解是,一个AI core同时只能运行一个stream,stream类似于一个队列,然后在AI core空闲时再按照顺序去执行stream里面的内容。这样的理解有问题吗?

举个例子,我使用的Ascend310B4只有一个AI Core,假如有三个算子a1,a2,a3,我按照顺序创建三个stream,分别执行a1,a2,a3,相当于是算子a1运行完成后再去运行a2,a2运行完成后再去运行a3。是这样的吗?

CUDA的编程模型中可以创建多个Thread来发挥并行能力,我想知道在CANN中该怎么发挥昇腾NPU的并行能力?还是说只有多个AI Core的昇腾设备才行?或者说一个AI Core可以同时并行执行多个Stream?

true

我要发帖子