1. Overview
이전에 Runtim Optimization 은 이렇게 이해했음
런타임에서 데이터 ㅂ갓에 따라 계산 그래프를 줄이거나 연산을 생략하는 최적화
그런데 대부분의 실제 프레임워크와 AI 컴파일러에서 Runtime Optimization 의 의미는 달랐다.
일반적인 시스템에서 Runtime Optimization 은 다음을 의미한다.
연산 의미를 변경하지 않은 상태에서, 가장 효율적인 실행 전략을 선택하는 과정
- 계산 그래프 자체는 변하지 않는다.
- 연산 의미도 변하지 않는다
- 대신 어떤 커널을 사용할지, 어떤 실행 파라미터를 사용하지를 결정한다.
2. Runtime Optimization 의 기본 구조
대부분의 딥러닝 시스템의 구조
Model Definition
↓
Graph Compilation
↓
Kernel Candidates Generation
↓
Runtime Optimization
↓
Execution
여기서 Runtime Optimization 의 역할은
이미 정의된 연산을 어떤 방식으로 실행ㅎ알 것인가를 결정하는 것이다.
중요한 점은
연산 의미는 이미 compile 단계에서 확정되어 있다는 것이다.
3. Runtime Optimization 이 실제로 하는 일
일반적인 시스템에서 Runtime Optimization 은 크게 세 가지를 수행한다.
3.1 Kernel Parameter Tuning
가장 대표적인 Runtime Optimization 이다.
GPU 커널 실행 시 다음과 같은 파라미터가 존재한다.
- block size
- grid size
- tile size
- vector width
- shared memory usage
- pipline stage
예를 들어 GEMM 의 경우
tile size = 128
warp tile = 64
vector width = 4
같은 파라미터 조합이 존재한다.
Runtime 단계에서는 다음을 수행한다.
candidate kernel 실행
↓
benchmark 측정
↓
가장 빠른 설정 선택
이 과정을 흔히 auto tuning 이라고 불린다.
3.2 Algorithm Variant Selection
같은 연산이라도 여러 구현 방식이 존재한다.
예 : Convolution
가능한 알고리즘
direct convolution
im2col + GEMM
FFT convolution
Winograd convolution
Runtime Optimization 은 입력 shape 나 hardward 에따라 가장 빠른 알고리즘을 선택한다.
예
conv(x, w)
의 의미는 변하지 않지맘ㄴ
realization
이 달라진다.
3.3 Dynamic Shape Specialization
일부 시스템에서는 입력 shape 에 따라 실행 전략이 달라진다.
예
Transformer attention
sequence length < 128 → warp kernel
sequence length > 1024 → block kernel
이 경우 runtime 에서 shape 를 보고 커널을 선택한다.
하지만 이 겨웅에도
attention 연산 의미
는 동일하다.
4. Runtime Optimization 이 하지 않는 것
일반적인 딥러닝 시스템에서 Runtime Optimization 은 다음을 수행하지 않는다.
4.1 Data Value 기반 계산 생략
예
softmax 에서 작은 exp 생략
ReLU 결과가 0 이므로 계산 중단
이러한 최적화는 일반적으로 사용되지 않는다.
이유
- numerical stability 문제
- reproducibility 문제
- GPU warp divergence
- memory access pattern 붕괴
4.2 연산 그래프 변경
다음과 같은 연산 변화는 runtime 이 아니라 compile 단계에서 수행된다.
Conv + BatchNorm + ReLU
↓
FusedConvBNReLU
대표적으로
- TorchInductor
- TensorRT
같은 시스템에서 수행된다.
5. Runtime Optimization 의 핵심 철학
일반적인 딥러닝 시스템에서 Runtime Optimization 의 핵심 철학은 다음과 같다
same computation
different execution strategy
즉
- 계산 의미는 동일
- 실행 방법만 최적화
예
C = A x B
하지만
TensorCore kernel
SIMD kernel
Split-K kernel
같은 여러 realization 중 하나를 선택한다.
'AI Compiler framework' 카테고리의 다른 글
| 기술 분석 보고서 : AI 컴파일러와 메모리 트래픽의 간극 (0) | 2026.03.09 |
|---|---|
| [AICF Whitepaper] Operator are illusion : 하드웨어 가속의 물리적 실체 (0) | 2026.03.09 |
| Plan Compiler ( Execution Planner Compiler ) (0) | 2026.03.05 |
| 기존 GPU 라이브러리 동작 구조 확인 - cuBLAS, cuDNN Autotune (0) | 2026.03.02 |
| AICF V2: Bit-Pattern Driven Graph Fusion & Composite Autograd System (0) | 2026.03.01 |