본문으로 건너뛰기

[sglang] CI 테스트 등록 누락 수정: JIT 커널 테스트/벤치마크 파일 등록

PR 링크: sgl-project/sglang#21547 상태: Merged | 변경: +14 / -0

들어가며

SGLang의 CI 시스템은 register_cuda_ci() 함수를 통해 각 테스트 파일을 특정 CI suite에 등록합니다. 새로운 JIT 커널 테스트와 벤치마크 파일이 추가될 때 이 등록 호출이 누락되면, 해당 테스트가 CI에서 실행되지 않습니다. 이번 PR은 누락된 4개 파일에 등록을 추가합니다.

핵심 코드 분석

등록 패턴

각 파일에 동일한 패턴으로 register_cuda_ci를 추가합니다:

Before (test_cast.py):

import torch
from sglang.jit_kernel.cast import downcast_fp8

After:

import torch
from sglang.jit_kernel.cast import downcast_fp8
from sglang.test.ci.ci_register import register_cuda_ci

register_cuda_ci(est_time=15, suite="stage-b-kernel-unit-1-gpu-large")
register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True)

등록된 4개 파일:

  • bench_cast.py - cast 벤치마크 (est_time=10)
  • bench_fused_qknorm_rope.py - fused QK norm+RoPE 벤치마크 (est_time=6)
  • test_cast.py - cast 단위 테스트 (est_time=15 + nightly 120)
  • test_fused_qknorm_rope.py - fused QK norm+RoPE 단위 테스트 (est_time=35 + nightly 256)

왜 이게 좋은가

  1. CI 커버리지 완성: 테스트가 존재하지만 CI에서 실행되지 않는 "유령 테스트" 문제를 해결합니다.
  2. Nightly 등록: 시간이 오래 걸리는 테스트는 nightly=True로 분리하여, 일반 CI 속도에 영향을 주지 않으면서도 커버리지를 보장합니다.

정리

14줄 추가의 간단한 PR이지만, CI 시스템의 정합성을 유지하는 중요한 작업입니다. 새 테스트 파일을 작성할 때 register_cuda_ci 호출을 잊지 않는 것이 중요합니다.

참고 자료

⚠️ 알림: 이 분석은 AI가 실제 코드 diff를 기반으로 작성했습니다.

댓글

관련 포스트

PR Analysis 의 다른글