정의
Compute Property 란, 연산의 수학적 의미를 보존하면서 실행 방식을 변형할 수 있게 해주는 불변 성질이다. - 이 연산을 바꿔도 되는 이유
왜 필요한가
기존 방식
- GEMM 은 이렇게 최적화
- Attention 은 이렇게 최적화
전부 op 별 규칙의 집합
중복 + 확장 불가 + 구조 붕괴
Compute Property 도입 이후
- 이 연산은 Tile-Composable 이다
- Domain-Prunable
- Order-Rewritable...
최적화는 op 가 아니라 성질에 의해 결정됨
핵심 역할
Compute Property 는 시스템에서 3가지 역할을 한다.
1. Legality ( 가능 여부 결정 )
이 변환을 해도 되는가
if (prop.order_rewritable) {
reorder_reduction();
}
2. Transform Enablement (변환 활성화)
어떤 종류의 최적화를 적용할 수 있는가
- Tile-Composable - tailing 가능
- Domain-Prunable - skip 가능
- Layout-Flexible - vectorization 가능
3. Runtime Specialization 조건
어떤 실행 variant 를 선택할 수 있는가
- Schedule-Invariant -> persisent kernel 가능
- Layout-Flexible -> fast path 선택 가능
- Precision-Relaxable -> mixed precision 선택 가능
구조적 위치
Compute Property
↓ defines
Transformation (optimization)
↓ selected by
Cost Model
↓ produces
Runtime Execution Variant
주요 특징 4가지
1. Property 는 연산 자체의 성질이다.
- op 이름과 무관
- 구현 방식과 무관
- hardware 와도 독립적
예
- sum 은 associative
- ReLU 는 domain-prunable
2. Property 는 여러 개 동시에 가진다.
하나의 op 는 하나의 category 가 아니다
예: GEMM
Tile-Composable
+ Local-Accumulable
+ Layout-Flexible
+ Schedule-Invariant
3. Property 는 subgraph 에도 적용된다.
fusion 이후에도 유지되어야 한다.
예
- GEMM + Bias + ReLU
- 여전히 Tile-Composable + Domain-Prunable
4. Property 는 Transform 이 아니다
- Property : 가능성 ( 왜 되는가 )
- Transform : 행동 ( 무엇을 하는가 )
실제 적용 흐름
- Op -> Property 추출
- Property 기반 transform 선택
- Cost 기반 최종 선택
- Runtime variant 실행
'AI Compiler framework' 카테고리의 다른 글
| AICF / MCIR 에서 패턴의 새로운 정의 (0) | 2026.03.23 |
|---|---|
| 단순 최적화 프레임과 최적화 가능성의 조건을 재정의하는 프레임의 두 층으로 나눈 작업 분류 (0) | 2026.03.23 |
| Memory Wall and the Illusion of Operators - Why Modern AI Compilers Must Become Dataflow System (0) | 2026.03.09 |
| 기술 분석 보고서 : AI 컴파일러와 메모리 트래픽의 간극 (0) | 2026.03.09 |
| [AICF Whitepaper] Operator are illusion : 하드웨어 가속의 물리적 실체 (0) | 2026.03.09 |