执行摘要
本次PR回滚了CUDA 13.0升级,将CI默认CUDA版本恢复为12.9,以解决内核测试失败问题。改动涉及多个CI配置文件和脚本,确保构建环境稳定,但延迟了与Torch 2.11的CUDA版本匹配。基础设施团队应关注此变更,以规避未来升级的类似障碍。
功能与动机
回滚决策基于关联Issue #21441中作者Fridge003的评论:"There are some kernel tests yet to be fixed"。这表明升级到CUDA 13.0后,内核测试出现未修复的问题,影响了CI流水线的稳定性。因此,通过回滚来临时解决测试障碍,维持开发效率。
实现拆解
实现通过修改5个文件,将CUDA版本从13.0降级回12.9:
| 文件路径 |
关键变更 |
影响 |
.github/workflows/pr-test.yml |
将构建矩阵中的cuda-version从"13.0"改为"12.9",并注释掉13.0配置 |
直接影响所有CI测试任务的CUDA环境 |
python/pyproject.toml |
将cuda-python依赖从>=13.0改为==12.9,Torch索引从cu130改回cu129 |
调整Python包管理,确保依赖兼容性 |
scripts/ci/cuda/ci_install_dependency.sh |
将CU_VERSION变量从cu130改回cu129,简化sgl-kernel wheel安装逻辑 |
核心安装脚本,控制构建流程的CUDA版本 |
scripts/ci/cuda/ci_install_deepep.sh |
修改Blackwell架构编译配置,因CI环境错误报告CUDA版本 |
避免因环境配置问题导致的编译错误 |
scripts/ci/cuda/ci_download_flashinfer_jit_cache.sh |
将CU_VERSION从cu130改回cu129 |
次要脚本更新,保持一致性 |
评论区精华
无review讨论。关键决策线索来自Issue #21441的评论:
Fridge003: "There are some kernel tests yet to be fixed"
这直接导致了回滚操作,强调测试稳定性在CI升级中的优先级。
风险与影响
- 技术风险:回滚可能掩盖CUDA 13.0的兼容性问题,长期需重新处理;环境配置不一致(如
ci_install_deepep.sh中所述)可能引发编译错误;依赖降级可能与新特性冲突。
- 影响分析:主要影响CI构建和测试环境,确保开发流水线稳定;对用户无直接影响,但延迟CUDA升级可能限制新硬件支持和性能优化。
关联脉络
- 本PR直接回滚了PR #21441,后者旨在升级CUDA版本以匹配Torch 2.11。
- 从近期历史PR看,类似基础设施变更(如PR 22657、22653)常涉及依赖和CI调整,表明团队在管理多硬件环境时面临复杂性。
- 未来可能需要重新评估CUDA 13.0升级,并加强测试覆盖以避免类似回滚。
参与讨论