Prhub

#46792 [Hardware][AMD][CI] Fix AMD CI image build

原始 PR 作者 mawong-amd 合并时间 2026-06-26 13:05 文件变更 1 提交数 1 评论 1 代码增减 +0 / -1

执行摘要

删除 layernorm 内核中未使用的变量以修复 AMD CI 构建

AMD CI 镜像构建在 #46761 合并后失败,原因是 layernorm_kernels.cu 中未使用的变量 weight_row_off 触发了 -Werror 下的编译错误。PR 作者在 body 中明确说明:“it left an unused variable in the layernorm kernels. On AMD CI, the vLLM wheel is compiled with -Werror and -Wunused-variable, so this led to a csrc compilation failure.”

该 PR 是一个典型的、低风险的小型构建修复。值得关注的是编译标志 -Werror 在 AMD CI 中的使用,以及团队快速响应构建断裂的流程。

讨论亮点

无 review 评论或讨论。PR 已获得两位 reviewer 的批准。

实现拆解

csrc/libtorch_stable/layernorm_kernels.cu 文件中,删除第 32 行定义的未使用变量 int64_t weight_row_off = 0;。这是唯一的变更,删除了 1 行代码。

文件 模块 状态 重要度
csrc/libtorch_stable/layernorm_kernels.cu 内核层 modified 2.4

关键符号

rms_norm_kernel

关键源码片段

csrc/libtorch_stable/layernorm_kernels.cu core-logic

包含变更的唯一文件;删除了导致 AMD CI 构建失败的未使用变量 `weight_row_off`。

// 文件 : csrc/libtorch_stable/layernorm_kernels.cu
// 变更 : 删除第 32 行的未使用变量 `weight_row_off`
// 该变量在 PR #46761 中被引入但未被使用,
// 导致 AMD CI 编译时因 -Werror 和 -Wunused-variable 而失败__global__ void rms_norm_kernel(
    scalar_t* __restrict__ out,
    const scalar_t* __restrict__ input,
    const scalar_t* __restrict__ weight,
    const float epsilon,
    const int64_t num_rows,
    const int64_t num_cols,
    const int64_t input_stride_d2,
    const int64_t input_stride_d3,
    const int64_t output_stride_d2,
    const int64_t output_stride_d3) {  float variance = 0.0f;
  const scalar_t* input_row;
  const scalar_t* weight_row;
  // 删除 : int64_t weight_row_off = 0;
  if constexpr (NUM_DIMS == 2) {
    input_row = input + blockIdx.x * input_stride_d2;
    weight_row = weight;
  }
  // ... 后续代码保持不变
}

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

风险极低。变更仅删除一个未使用的变量,不影响运行时逻辑。所有依赖该变量的代码路径均已确认无引用,且删除后代码编译通过。

影响范围仅限于 AMD CI 构建流程。修复后 AMD 平台的持续集成可以正常编译 vLLM wheel 并构建测试镜像。对用户无直接影响。

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论