根据初步定位,方便提供一下demo.py脚本内容,再进一步分析下,看下是否需要补充group_src


根据初步定位,方便提供一下demo.py脚本内容,再进一步分析下,看下是否需要补充group_src
import torch
import torch.distributed as dist
import torch.multiprocessing as mp
import torchair
compile_config = torchair.CompilerConfig()
torch构图
class MyModel_simple(torch.nn.Module):
def init(self):
super().init()
def forward(self, tensor):
dist.broadcast(tensor, src=0, group_src=None)
return tensor
def run_hccl(local_rank):
# 初始化通信域
init_method = 'tcp://xxx.xxx.xxx.xxx:50001'
dist.init_process_group(backend="hccl", rank=local_rank, world_size=2, init_method=init_method)
if local_rank == 0:
tensor = torch.rand((1,100))
else:
tensor = torch.zeros((1,100))
# 实例化torch图
mod = MyModel_simple()
npu_backend = torchair.get_npu_backend(compiler_config=compile_config)
opt_mod = torch.compile(mod, dynamic=False, fullgraph=True, backend=npu_backend)
tensor = opt_mod(tensor)
if name == 'main':
mp.spawn(run_hccl, args=(), nprocs=2)


group_src是在pytorch2.6版本开始支持的能力,torchair支持broadcast算子入图最早是基于pytorch2.1版本,我们将在后续版本里支持group_src参数,当前可以仅配置src参数实现算子入图。


group_src是在pytorch2.6版本开始支持的能力,torchair支持broadcast算子入图最早是基于pytorch2.1版本,我们将在后续版本里支持group_src参数,当前可以仅配置src参数实现算子入图。
现在可以给出具体支持的版本和时间嘛?


group_src是在pytorch2.6版本开始支持的能力,torchair支持broadcast算子入图最早是基于pytorch2.1版本,我们将在后续版本里支持group_src参数,当前可以仅配置src参数实现算子入图。
现在可以给出具体支持的版本和时间嘛?
正式商用预计在630左右,改动预计会在5月份合入。


在提交问题之前,请通过搜索现有和历史问题确保该问题尚未被提出并解决。
您的环境信息
🐛 请描述bug
调用broadcast算子,使能图模式,输入group_src参数报错
Traceback (most recent call last):
File "/home/q00872244/20260318release/CCL_QQTest/log/tmp/demo.py", line 103, in
mp.spawn(run_hccl, args=(config, ), nprocs=config['device_num'])
File "/home/anaconda3/envs/qqtest_py311/lib/python3.11/site-packages/torch/multiprocessing/spawn.py", line 340, in spawn
return start_processes(fn, args, nprocs, join, daemon, start_method="spawn")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/anaconda3/envs/qqtest_py311/lib/python3.11/site-packages/torch/multiprocessing/spawn.py", line 296, in start_processes
while not context.join():
^^^^^^^^^^^^^^
File "/home/anaconda3/envs/qqtest_py311/lib/python3.11/site-packages/torch/multiprocessing/spawn.py", line 215, in join
raise ProcessRaisedException(msg, error_index, failed_process.pid)
torch.multiprocessing.spawn.ProcessRaisedException:
-- Process 1 terminated with the following error:
Traceback (most recent call last):
File "/home/anaconda3/envs/qqtest_py311/lib/python3.11/site-packages/torch/multiprocessing/spawn.py", line 90, in _wrap
fn(i, *args)
File "/home/q00872244/20260318release/CCL_QQTest/log/tmp/demo.py", line 80, in run_hccl
op_input1, op_input2 = opt_mod(op_input1, op_input2)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/anaconda3/envs/qqtest_py311/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1751, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/anaconda3/envs/qqtest_py311/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1762, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/anaconda3/envs/qqtest_py311/lib/python3.11/site-packages/torch/_dynamo/eval_frame.py", line 659, in _fn
raise e.with_traceback(None) from None
torch._dynamo.exc.ArgsMismatchError: got an unexpected keyword argument 'group_src'.
func = 'npu_broadcast_patch_dist' /home/anaconda3/envs/qqtest_py311/lib/python3.11/site-packages/torch_npu/dynamo/torchair/_ge_concrete_graph/ge_converter/experimental/hcom_broadcast.py:54, args = [], kwargs = {'tensor': LazyVariableTracker(), 'src': LazyVariableTracker(), 'group': LazyVariableTracker(), 'async_op': ConstantVariable(bool: False), 'group_src': LazyVariableTracker()}
from user code:
File "/home/q00872244/20260318release/CCL_QQTest/log/tmp/demo.py", line 32, in forward
dist.broadcast(**op_input1['args'])
Set TORCHDYNAMO_VERBOSE=1 for the internal stack trace (please do this especially if you're reporting a bug to PyTorch). For even more developer context, set TORCH_LOGS="+dynamo"
[ERROR] 2026-04-01-11:43:58 (PID:976079, Device:-1, RankID:-1) ERR99999 UNKNOWN applicaiton exception
经初步查看定位:
torchair/_ge_concrete_graph/ge_converter/experimental/hcom_broadcast.py中的broadcast_npu参数报错没有group_src
但是broadcast本身支持group_src参数:https://docs.pytorch.org/docs/2.7/distributed.html#torch.distributed.broadcast
torch 2.7.1版本,没有调用patch_for_hcom函数