현재 capture-safe training loop 의 최소 폐회로 를 만든 단계, 보장 범위를 한 단계식 넓혀야 함
현재 상태
- CUDA Grpah capture / replay 안정
- out-buffer 기반 forward / backward / optimizer
- 캡처 중 alloc 금지 강제
- mse_grad 를 loss 로 정의한 학습 루프
x ──▶ model ──▶ y
│
t ─────────────▶ mse_grad ──▶ dY
│
autograd.backward
│
SGD.step
이 그래프가 완전히 닫힌 상태
확장 로드맵
mse_loss_forward
- loss 는 캡처 밖 torch 연산
- 디버깅 / 검증에는 OK
- 완전한 training graph 를 만들고 싶다면 forward loss 도 op 로 있어야 함
zero_grad / grad_reset op (중요)
- autograd_backward ()
- leaf grad 를 overwrite 하고 있어서 우연한 안전
하지만 grad 초기화가 필요해지는 순간이 존재
- grad lifecycle 이 완전히 CUDA ops 로 닫히고
- PyTorch-sie .zero_() 호출의 제거 가능
- accumulate 모드 확장 가능
Optimizer 확장용 기본 eltwise op 세트 (핵심)
다른 optimzier 로 가려면 아래의 필요
최소 공통 op
mul, add, axpby, sqrt / rsqrt, eps_add
- optimizer step 도 graph 안에 고정
- 학습 전체가 graph replay
Optimizer state buffer pool ( 개념 확장 )
현재 bufferpool 은
- activation
- backward intermediate
까지만 관리
- optimizer state 도 pool 로 관리
control op
- where
- mask_fill
- dropout ...
'AI Compiler framework' 카테고리의 다른 글
| accumulata = False / True, 먼뜻인지 True 환경에서 deterministic 하게 (1) | 2025.12.30 |
|---|---|
| Steplnc + BiasCorr + AdamStep 확인 이후 상황 (0) | 2025.12.30 |
| CUDA Graph Capture 기반 학습 루프 - 1차 검증 정리 (0) | 2025.12.29 |
| GEMM Transpose 처리 설계 정리 ( AICF CUDA Backend ) (0) | 2025.12.28 |
| GEMM Transpose 처리 관련 수정 전 (0) | 2025.12.28 |