[Triton] 성능 진단 테스트에서 stack trace 생성 비활성화
PR 링크: triton-lang/triton#8884 상태: Merged | 변경: +6 / -5
들어가며
Triton의 performance remark 테스트에서 stacktraces 옵션을 활성화하면 스택 트레이스 생성이 극도로 느려져, 1초 미만이어야 할 테스트가 15분까지 걸렸다. 또한 test_remark_vectorization은 병렬 실행 시 hang이 발생하여 skip 처리되어 있었다.
핵심 코드 분석
Before
with enable_diagnostics_context('remarks,operations,stacktraces'):
triton.compile(...)
captured = capfd.readouterr()
assert "note: diagnostic emitted with trace:" in captured.err
@pytest.mark.skip(reason="Hangs when running `make NUM_PROCS=24 test-unit`")
def test_remark_vectorization(capfd, fresh_triton_cache):
After
with enable_diagnostics_context('remarks,operations'):
triton.compile(...)
captured = capfd.readouterr()
# Stack traces disabled as it adds several minutes to compile time
# assert "note: diagnostic emitted with trace:" in captured.err
def test_remark_vectorization(capfd, fresh_triton_cache):
왜 이게 좋은가
- 테스트 시간: 15분 → 1초 이하로 극적 단축
- skip 해제:
test_remark_vectorization의@pytest.mark.skip이 제거되어, 이전에 실행되지 않던 테스트가 CI에서 다시 검증된다. - 핵심 기능 보존: remarks와 operations 출력은 그대로 검증하므로, performance remark 기능의 테스트 커버리지는 유지된다.
정리
테스트 환경에서 불필요한 기능(stack trace)이 전체 CI 파이프라인의 병목이 되는 사례다. 기능 검증에 필수적이지 않은 옵션을 제거하여, 개발자 생산성과 CI 안정성을 동시에 개선했다.
참고 자료
이 글은 AI 도구의 도움을 받아 작성되었습니다.
관련 포스트
PR Analysis 의 다른글
- 이전글 [SGLang] MoE 모델을 위한 Single Batch Overlap 기법
- 현재글 : [Triton] 성능 진단 테스트에서 stack trace 생성 비활성화
- 다음글 [vllm] xxHash로 Prefix Caching 해싱 성능 가속
댓글