본문으로 건너뛰기

Codex가 QR kernel을 232배 끌어올린 14일, 성능보다 중요한 verifier

Original: Auto-research with codex: How I achieved a 232x Faster Kernel View original →

Read in other languages: English日本語
AI Aug 16, 2026 By Insights AI (HN) 1 min read 1 views Source

GPU kernel을 baseline보다 232배 빠르게 만든 과정에서 가장 재현할 만한 부분은 최종 코드가 아니다. 14일 동안 1,500회 넘게 제출하고, 매 결과를 기록하며, profiler와 정답 검사기를 다음 실험에 연결한 운영 방식이다. 작성자는 GPU Mode의 qr_v2 대회에서 183명 중 12위를 기록했다. 대략 419,000µs였던 torch.geqrf 기반 baseline과 최종 1,805µs 결과를 비교해 232배라는 수치를 계산했다.

행렬 계산을 tensor core가 좋아하는 모양으로

과제는 FP32 정사각 행렬 묶음을 compact Householder QR 형식으로 분해하는 것이었다. 검사기는 결과에서 Q와 R을 복원해 A ≈ QR, 직교성, 삼각 행렬 조건을 확인했다. Householder QR은 열을 하나씩 처리해야 해 직렬 의존성이 생긴다. 해결의 방향은 좁은 panel 안에 직렬 작업을 가두고, 나머지 trailing block 갱신을 WY 표현으로 묶어 GEMM 세 번에 가까운 형태로 바꾸는 것이었다. tensor core가 쉬는 시간을 줄이는 구조적 선택이다.

성능은 한 번에 나오지 않았다. blocked WY QR에서 시작해 Triton panel, CUDA graph replay, 고정 shape 특화, fused layout assembly, custom Cholesky 경로가 차례로 더해졌다. 3,000µs 아래에서는 작은 parameter 조정만 반복하는 local maximum에 자주 갇혔다. 작성자는 여러 아이디어 계열을 동시에 유지하는 beam 방식으로 실험 다양성을 확보했다.

agent가 연구하려면 판정 장치가 먼저

작업 공간에는 문제 설명, 제출 방법을 적은 AGENTS.md, 성공과 실패를 남기는 log가 있었다. Codex에는 ‘n=512에서 현재 최고 기록을 이겨라’처럼 수치로 확인 가능한 목표를 줬고, benchmark·profile·submit을 직접 반복하게 했다. 사람은 2~3시간마다 병목과 다음 가설을 묻고 방향을 조정했다. 자동화가 사람을 없앤 사례라기보다, 사람이 검증 가능한 탐색 공간을 설계한 사례에 가깝다.

커뮤니티 토론은 일반화 문제를 날카롭게 짚었다. 한 댓글은 대회 상위 해법 상당수가 대회 밖 shape에서 깨졌다고 지적했고, 다른 댓글은 wall-clock, profiler, pass/fail처럼 매 단계에 oracle이 있었기 때문에 이 루프가 작동했다고 정리했다. 특정 입력에 맞춘 kernel 최적화와 범용 library 코드는 목표가 다르다. 빠른 숫자만 옮기면 이 구분이 사라진다.

232배는 인상적이지만 더 넓은 교훈은 단순하다. agent에게 긴 시간을 주기 전에 정답 판정, 대표 입력, 성능 측정, 실패 기록을 먼저 준비해야 한다. verifier가 약하면 agent는 잘못된 성공을 빠르게 쌓는다. 원문에는 실험 경로와 kernel 구조 변화가 상세히 정리돼 있다.

Share: Long

Related Articles