테스트 코드 내에는 모델 구성 - compile / capture - 출력 / 검증 호출만 남도록
나머지는 core 로 이동
1) aicf_fw / core / validate.py
Intermediate Representation 이 컴파일러 계약, compiler contract 을 만족하는지 검증하는 레이어
IR 불변 조건 검사를 프레임워크 기능으로 승격
- validate_ir
- Shape consistency
- 최소 shape 규칙 강제
- Topo/SSA
- value id 단일 producer
- use-after-define 금지
- Backward 링크 검사
- backwrad 가 참조하는 value 가 존재하는지 확인
- forward graph 에 의해 produced 되었는지 여부는 warning 으로 남김
- Shape consistency
2) aicf_fw / core / train_state.py
학습 상태를 완전하게 스냅샷 / 복원 / 동등성 검사하는 체크포인트 단위 제공
CUDA Graph replay 결정론을 검증하려면 파라미터만이 아니라 옵티마이저 내부 상태까지 복원되어야 하므로 그걸 표준화
포함하는 상태
- params
- grads
- adam_m, adam_v
- step, bc1_inv, bc2_inv
제공 API
- TrainState.capture
- 현재 상태를 GPU 텐서 그대로 clone 해서 캡처
- TrainState.restore
- 캡처된 상태를 그대로 복원
- grad 가 None 이었다면 None 으로 복원
- grad 가 텐서였다면 Tensor 래퍼로 생성하여 프로젝트 구조에 맞춤
- TrainState.assert_equal
- 완전 동일성 체크
확장 방향
- Adam 외 옵티마이저 지원
3) aicf_fw/core/artifact.py
compile - lower - warmup - capture - trace 의 결과를 하나의 산출물 객체로 묶고, 그 산출물이 스스로 정합성 / 결정론 검증 메서드를 제공하도록 한다
테스트가 하던 일을 프레임워크가 제공하는 개발자 도구 + 안전장치로 바꾸는 역할
저장하는 것
- name
- ir
- lowered
- trace_ops
- backend
제공 기능
- assert_trace_has
- assert_runtime_matches_lowering
- assert_adam_state_mutates
- assert_determinism
- validate : IR 단계 계약 검사
- train_state : 학습 상태의 스냅샷 / 복원 표준
- artifact.py : 컴파일 산출물 + 실행 정합성 / 결정론 검증
'AI Compiler framework' 카테고리의 다른 글
| IR 기반 실행 변경 로드맵 (0) | 2026.01.10 |
|---|---|
| 현재 IR 상태 요약 - IR 기반 실행은 아님, 변화 필요 (0) | 2026.01.10 |
| 각 파일 별 역할 재정리, 실행 과정 (0) | 2026.01.08 |
| Adam_step 해결 완료, 현재 위치 ( IR - lowering - runtime capture / replay - parameter update - determinism 완료..!) - Adam까지 포함한 train-step CUDA Graph가 캡처/리플레이로 닫혔고, replay는 full-restore 기준 deterministic하다 (0) | 2026.01.08 |
| IR Graph 생성 과정과 그 의미 (0) | 2026.01.08 |