执行摘要
修复 Qwen 图像编辑模型在非 CUDA 环境下的调制索引处理错误,支持 NPU 和 SP 分片。
PR body中明确指出动机是'Fix sp modulate_index handling for qwen-image-edit'。错误日志显示在调用fuse_layernorm_scale_shift_gate_select01_kernel时断言x.is_cuda失败,表明非CUDA环境错误地尝试使用CUDA-only Triton内核,导致qwen-image-edit在NPU等平台崩溃。
建议工程团队精读此PR,特别是_modulate函数中的条件分支设计,展示了如何优雅处理不同硬件后端的kernel选择。关注CUDA检测、平台标识使用以及回退机制的实现细节。
review中,mickqian建议将条件改为'if index is not None and x.is_cuda:'以提前避免非CUDA路径进入kernel调用,但最终实现采纳了更细粒度的guard。issue评论中,mickqian询问是否还需此PR after #20679,作者回应基于#20679更新了修复,并补充了sp_world_size处理。讨论聚焦于正确性和跨平台兼容性,结论是修改有效。
参与讨论