
1. Input Model
- 입력은 사용자가 정의한 모델
- 해당 단계는
- 연산 의미만 중요
- 성능, 하드웨어는 아직 고려 안 함
수학적 정의 단계
2. High-Level IR + High-Level Optimizations
High-Level IR
- 연산 의미가 살아있는 중간 표현
- Conv
- LayerNorm
- Attention
- 아직
- GPU thread
- shared memory
- tile
- 와 같은 건 모름
High-Level Optimizations
- 그래프 차원의 최적화
- op fusion
- dead op 제거
- algebraic simplification
- layout 변경
- 패턴 매칭이 가장 활발한 구간
무엇을 계산할 것인가를 다듬는 단계
3. Low-Level IR + Low-Level Optimizations
Low-Level IR
- 하드웨어에 가까운 표현
- 연산이
- load / store
- reduce
- vector op
- thread / block 개념으로 분해됨
Low-Level Optimizations
- 하드웨어 의존 최적화
- tiling
- unrolling
- vectorization
- memory placement
- 커널 구조가 여기서 결정
어떻게 계산할 것인가의 단계
4. Optimized Kernels
- 특정 하드웨어에 최적화된 커널
- CUDA kernel
- LLVM IR
- OpenCL kernel...
- 같은 연산이라도
- GPU 아키텍처
- shape
- batch 에 따라 다를 수 있음
여기서 커널 family 가 갈린다
5. Serialization - Machine Code
- 선택된 커널을
- 바이너리
- PTX
- cubin
- object code 형태로 고정
- 런타임에서 바로 실행 가능
실행 계획이 고정되는 지점
'AI Compiler framework' 카테고리의 다른 글
| Registry 의미 정리 = 시스템 커널 존재 목록, Selector (0) | 2026.01.06 |
|---|---|
| Kernel Selection Algorithm, AI Compiler - Low-Level execution Planning (1) | 2026.01.06 |
| IR / Plan / PlanCache / GraphExec 각각의 역할 (0) | 2026.01.06 |
| AICF 현재 실행 구조와 IR 도입 시 변화 정리 (0) | 2026.01.05 |
| IR 기반 AI 컴파일러란 (0) | 2026.01.05 |