Index
2026-09-23 — Engineering

Shared-static unlit full oracle 제출 보류 — 코드 APPROVE, GPU capacity 0/120

R2S | G002 8-case unlit synthetic oracle | 코드 리뷰 통과, launch는 capacity로 stop, 대체 login smoke만 PASS

TL;DR

14/14
최종 리뷰 테스트
0/120
GPU avail (cluster)
8.5e-5
smoke grad max err
0
GPU job 제출 수

1 배경 / 목적

260921 카드(shared_static_unlit_native_fixture)에서 unlit fixture는 native CPU 진단(job 136204)으로 byte-exact PASS를 확인했지만, 8-case native + 13-stage CUDA compositor + gradient를 검증하는 full synthetic GPU oracle은 아직 제출 전 상태였다. 09-18 승인 plan(.omx/plans/shared-static-unlit-full-oracle-20260918.md)은 "checker/테스트 완성 → 코드 리뷰 → 단 1회 GPU 시도 → 독립 결과 리뷰, appearance fit 이전에 정지"를 계약으로 못박았다. 09-23 세션은 이 계약의 나머지 절차 — 리뷰 마감과 실제 launch 여부 판단 — 를 처리하는 작업이었다.

기존 한계: 260921 시점까지 8-case unlit oracle의 checker/verify/test 코드는 존재했지만 독립 code review를 통과하지 못했고, GPU에서 한 번도 실행되지 않았다.

2 작업 내용

승인된 plan 범위 내에서 리뷰 → 버그 수정 → capacity 확인 → launch 판단 순으로 진행했다. 새 소스를 작성하거나 기존 R4/unlit 수학 함수를 수정하지 않고, 리뷰 대상 6개 파일만 다뤘다.

대상 파일 (review SHA-256 고정): r2s/shared_static_unlit_oracle.py, r2s/shared_static_unlit_oracle_native.py r2s/shared_static_unlit_oracle_verify.py, configs/shared_static_unlit_oracle_20260918.json scripts/shared_static_unlit_oracle.sbatch, tests/test_shared_static_unlit_oracle.py 1차 리뷰 (13:29 KST) — REQUEST_CHANGES 9/9 테스트 PASS (main 13.179s, reviewer 13.09s) — 그러나 "insufficient acceptance proof" 5개 지적: sub2x 해상도 비교 기준 오류, cutoff sigma/conic/offset alpha 공식 미복원, build_oracle_artifact 실패 경로 미검증, XML/geometry strict 체크 부족, overlay/preflight 해시 미검증 배치 스크립트 버그 수정 (13:14 KST) scripts/shared_static_unlit_oracle.sbatch: `set -u` 하에서 CUDA_HOME을 대입 전에 먼저 PATH로 확장하던 순서 버그. `env -u CUDA_HOME` 재현 시 exit 127. 수정: CUDA_HOME을 별도 statement로 먼저 export한 뒤 PATH 확장. SHA 059f7232... → 5fd8acc0... (job resource/command 불변, bash -n + 격리 env 재현 모두 통과) 2차(최종) 리뷰 (13:41 KST) — APPROVE 14/14 테스트 PASS (main 42.508s, 독립 27.623s). LSP 미가용이라 LSP PASS는 주장하지 않음. historical inputs 전부 불변 확인. scope: "1회 GPU 시도 + 독립 리뷰만, fit 이전 정지"

런치 직전 snode --json capacity snapshot(13:41 KST)을 조회했다.

스코프GPUCPUMem (MiB)
Cluster 전체120 / 120 used, avail 01231/168021,863,234/29,414,400
core account (own+extra)72/72 used, avail 0737/100812,598,824/17,648,640
taewoongkang own8/8 (cap 8)64/1121,048,576/1,800,000
taewoongkang extra221763,547,136

approved plan 계약: "Stop before launch on ... insufficient own quota" — QOS를 extra/share로 바꾸거나 재시도하는 것은 승인 범위 밖이다. own GPU가 이미 8/8(자기 quota 소진)이고 cluster 전체도 0 avail이므로, 13:46 KST에 GPU job을 제출하지 않고 정지했다 (bounded-stop 기록: gpu_job_submitted=false).

대신 같은 날 login node에서 GPU 검증 없이도 확인 가능한 bounded scope(2 Gaussian, 64×64, 2-case 재사용, "no native rendering/training/benchmark/full-oracle claim")의 CUDA smoke check를 실행했다.

1차 시도 (~14:56 KST) — LOGIN_CUDA_SMOKE_FAIL RuntimeError: Ninja is required to load C++ extensions 원인: venv 미활성 상태로 gsplat CUDA 확장 JIT 컴파일 시도 → csrc import 실패 체인 2차 시도 (~15:00 KST) — LOGIN_CUDA_SMOKE_PASS .venv-gsplat 정식 활성화 후 재시도, gsplat CUDA extension JIT 컴파일 성공 (201.47s) device: NVIDIA B200, torch 2.7.1+cu128, gsplat 1.5.3, cuda 12.8 scope: nominal_z2/translated 2-case projection/composite + 23회 backward(gradient contract)

3 결과 (수치)

체크값기준판정
translation_max_abs_error0.0tol 1e-4PASS
nominal_center_max_abs_error1.19e-8—PASS
gradient_max_abs_error (6개 항목 중 최대)8.51e-5독립 리뷰 tol 2e-3PASS
독립 재계산 nominal_center error1.56e-8—PASS
CSR ids/offsets (독립 재구성)EXACT_EQUAL—PASS
peak_torch_allocated_bytes2,849,280—참고용
코드 리뷰 관문 통과: checker/verify/test/config/sbatch 6개 파일 전부 SHA-256 고정된 상태로 APPROVE — 이전 REQUEST_CHANGES의 5개 지적(sub2x 기준, cutoff 공식, 실패 경로, XML strict 체크, overlay 해시)이 모두 반영됐다는 뜻이다.
full oracle은 여전히 미검증: GPU job은 0회 제출됐고, 8개 native case 중 nominal_z2/translated 2개, compositor 13-prefix 중 0개, gradient_contract 정식 실행 0회 — login smoke는 독립 리뷰에서도 "PASS_FOR_BOUNDED_LOGIN_SUBSET"으로 명시적으로 scope를 제한했다 (다른 6개 native case, 13-stage 진단, full-oracle artifact 검증, fitting 전부 미포함).
capacity 상황: 09-23 13:41 KST 기준 cluster 전체 avail GPU 0, core 계정 avail GPU 0 (전원 own+extra로 소진). taewoongkang 본인도 own 8/8 + extra 22를 이미 점유 중이라 추가 own launch가 구조적으로 불가능했다.

4 Takeaway

의미

G002(8-case unlit synthetic oracle)의 병목이 코드 품질에서 클러스터 capacity로 이동했다. 이전엔 코드 리뷰 자체가 통과하지 못했지만(1차 REQUEST_CHANGES), 09-23에 6개 파일 SHA가 전부 고정된 채 14/14 테스트 APPROVE를 받아 "리뷰된 구현이 launch 대기 중" 상태가 됐다. 남은 유일한 gate는 own GPU quota 확보뿐이다. login smoke는 full oracle을 대체하지 못하지만, 2-Gaussian 스케일에서 gsplat CUDA projection/backward 경로 자체가 정확하다는 것(translation err 0.0, grad err 8.5e-5)을 별도로 확인해, GPU job이 실제로 돌 때 코드 경로 문제로 실패할 가능성을 줄여준다.

5 Next Steps

미해결 한계

8-case native parity, 13-stage CUDA compositor, gradient_contract 전체 실행이 모두 미검증 상태. approved plan은 "실패한 assertion은 negative result로 보존, 자동 재시도 없음"을 명시하므로, 실제 GPU 시도는 오직 1회만 허용된다 — capacity를 확보한 뒤에도 실패하면 재시도가 아니라 plan 자체를 재검토해야 한다.

다음 작업

own GPU quota가 실제로 비는 시점에 snode --json으로 재확인 후, 리뷰된 그대로(SHA 5fd8acc0... 고정) sbatch scripts/shared_static_unlit_oracle.sbatch 단 1회 제출 — --qos=own, GPU 1, 15분 계약을 변경하지 않는다. 제출 전 .omx/context/shared-static-unlit-full-oracle-review-final-20260923.json의 바인딩을 다시 대조한다.