IR 은 단순한 중간 표현이 아니라 의미를 보존하면서 변환과 최적화를 가능하게 하는 최소 단위여야 한다.
왜 GPU kernel 코드 (.cu) 보다 더 낮은 단계 ( PTX, SASS, ISA ... )를 IR 의 표현 단위로 채택하지 않은지에 대한 설명
1. 의미 분해 목적 정의
여기서 말하는 semantics 란.
- 연산의 수학적 구조
- 텐서 간 관계
- 연산 순서와 결합 방식
- 성능과 직결되는실행 전략의 선택 결과
단순한 수식이 아닌, 의미 + 실행 의도가 결합된 상태 가 의미 단위의 범위
2. Kernel 코드는 의미가 닫히는 마지막 지점
- 연산 의미가 명시적으로 드러남
- 실행 전략이 의도적으로 선택되어 있음
- 컴파일러에 의해 임의로 변형되기 전의 상태
커널 코드가 상위 IR 의 lowering 결과이자, 하위 ISA 로 내려가기 직전의 마지막 의미 보존 계층
3. PTX / SASS 는 의미 IR 로 부적절
3.1 의미 손실
- loop, tile, reduction 구조가 instruction sequence 로 붕괴
- 고수준 연산 개념이 복원 불가능
3.2 비결정성
의미 분해의 목적은 구현이 아닌 의미 보존, kernel 코드 이후 단계는 의미를 보존하지 않음
'AI Compiler framework' 카테고리의 다른 글
| AICF 통합 학습 그래프 캡처 메커니즘 : AICF 의 Trainstep 완료 (0) | 2026.02.17 |
|---|---|
| AICF Framework 아키텍처 및 CUDA Graph 학습 구현 보고서 (0) | 2026.02.17 |
| AICF 챕터 구조 ( 의미론 기준 분류 ) (0) | 2026.02.10 |
| AICF Ops 문서화 설계 철학 (0) | 2026.02.10 |
| AI Compiler framework 설계 철학 재정리 (0) | 2026.02.09 |