0. 설계 철학 요약
AICF 는 최적화를 성능 중심의 재배치가 아닌
의미 계약을 보존한 상태에서 실행 표현을 선택하는 과정으로 정의한다.
의미 계층은 불변이며, 실행 계층은 의미 제약 내부에서만 동적으로 적응한다.
1. Semantic Contract Model
1.1 목적
각 연산을 단순 커널 호출이 아니라
수학적, 수치적, 자원적 제약을 선언하는 객체로 정의한다.
1.2 Contract 구성 요소
각 Semantic Unit 은 다음을 가진다.
(A) Algebraic Laws
- Associativity 허용 여부
- Commutativity 허용 여부
- Idempotent 여부
- Monotonicity
- Linear 여부
(B) Effect Constraints
- Pure
- ReadOnly
- Write
- Atomic
- RNG
- Sync
이 정보는 reorder legality의 근거가 된다.
(C) Alias Constraints
- Input/Output alias 허용 여부
- In-place 가능 여부
- Memory region 분리 필요 여부
(D) Numerics Constraints
- Required accumulation precision
- Allowed rounding model
- Reduction order sensitivity
- Overflow bound
- Sign consistency 조건
예
GEMM:
accumulation_precision >= FP32
reduction_order = deterministic
sign_consistency = optional
max_partial_sum <= 2^24
(E) Determinism Policy
- Deterministic required
- Deterministic optional
- Non-deterministic allowed
1.3 Legality Engine
모든 최적화는 다음 조건을 통과해야 한다.
if Algebraic_Laws_OK
and Effect_OK
and Alias_OK
and Numerics_OK
then Apply
else Reject
최적화는 heuristic이 아니라 합법성 판정 문제로 바뀐다.
2. Deterministic Execution Plan
2.1 목표
런타임 스케줄링을 블랙박스로 두지 않고,
컴파일 시점에 실행 경로를 확정한다.
2.2 Plan 구성
Execution Plan은 다음을 포함한다:
- Kernel Sequence (고정된 호출 순서)
- KernelID
- Launch Config
- Stream assignment
- Memory layout (buffer offset, reuse map)
- Synchronization point
예:
Plan ID: 0xAF23BC91
[0] GemmEpilogue_KID23
[1] LayerNorm_KID12
[2] AdamStep_KID04
Stream: 0
Memory Map:
BufferA -> 0x0000
BufferB -> 0x4000
2.3 Plan Hash
같은 모델 + 같은 설정 → 동일 Plan Hash.
이를 통해:
- 재현성 확보
- 회귀 추적 가능
- 성능 diff 가능
3. Semantic-Safe Autotuning
3.1 기존 autotune과의 차이
기존:
- 가능한 모든 커널 후보
- 성능 측정 후 fastest 선택
AICF:
- 의미 제약을 통과한 후보 집합 생성
- 그 내부에서만 autotune 수행
3.2 Allowed Realizations
각 Semantic Unit은:
Allowed Realizations:
KID23 (TensorCore_fp16_acc32)
KID19 (SIMT_fp32)
KID31 (SplitK_deterministic)
Rejected:
KID42 (AtomicFastReduction) -> violates determinism
런타임은 이 집합 내부에서만 선택한다.
3.3 Dynamic Switching Model
런타임 관찰:
- Throughput drop
- Occupancy imbalance
- Cache miss spike
조건 만족 시:
if Candidate in Allowed_Set:
Switch
else:
Reject
즉,
Adaptivity는 허용되지만, 의미를 침범하지 않는다.
4. Numerics-Aware Optimization
특정 조건이 충족되면 precision 완화 허용.
예:
if sign_consistent == true
and reduction_order_fixed == true
and max_partial_sum <= threshold:
allow_low_precision_accumulator = true
이는 mixed precision을 heuristic이 아니라
수치 제약 기반 선택으로 승격시킨다.
5. 시스템 계층 분리
Semantic Layer (Immutable)
- Contract
- Constraints
- Laws
Realization Layer (Adaptive)
- Kernel selection
- Tile size
- TensorCore path
- Split-K 여부
의미는 변하지 않으며,
실행 전략만 적응한다.
'operator 의 연산 의미 분석' 카테고리의 다른 글
| Operator Semantic Properties Catalog ( AICF Semantic Optimization Rules) (1) | 2026.03.16 |
|---|---|
| Operator Semantics, IR Representation, and Kernel Fusion - Case Study : BatchNorm Stats & CrossEntropy (0) | 2026.03.07 |
| Add Emitter 변경 문서 (0) | 2026.02.27 |
| AdamStep Emitter 변경 문서 (0) | 2026.02.27 |
| ReLU Semantic Specification - 비선형 게이팅 / 반공간 정류 (0) | 2026.02.19 |