본문 바로가기

AI Compiler framework

AICF Framework 아키텍처 및 CUDA Graph 학습 구현 보고서

1. 프레임워크 아키텍처 개요

AICF 는 컴파일 타임에 모든 것을 결정한다는 철학 하에 설계된 고성능 AI 컴파일러 프레임워크, 

일반적인 딥러닝 프레임워크가 실행 시점에 연산을 해석하는 것과 달리, AICF 는 정적 그래프 분석을 통해 런타임 오버헤드를 극소화한다.

 

핵심 구성 요소

  •  Builder (IR Generator) : 사용자의 레이어 적중을 받아 중간 표현인 연산 그래프를 생성한다.
  • Compiler & Planner : IR 그래프를 분석하여 메모리 레이아웃을 결정하고, in-place 최적화 및 커널 선택을 수행한다.
  • CudaExecutor : 컴파일된 계획을 바탕으로 실제 GPU 커널을 호출, CUDA Graph 를 관리한다.
  • CudaEmitContext : C++ 백엔드의 OpKind Enum 과 Python 을 동기화하여 ABI 안정성을 보장한다.

 

2. CUDA Graph 기반 학습 구현 (Training Loop)

CUDA Graph 를 활용한 정적 메모리 바인딩 학습

2.1 설계 철학 : Persistent vs Volatile

학습 루프에서는 데이터의 성격에 따라 메모리 처리 방식을 이원화한다.

  • Persistent States : 가중치, 모멘텀, 스텝 수 등 루프 내내 주소가 변하지않고 업데이트가 누적되어야 하는 텐서
  • Volatile Inputs : 매 슷텝 새롭게 주입되는 입력 데이터나 미분값

 

2.2 구현 프로세스 Capture & Replay

일반적인 프레임워크가 루프 내부에서 Warmup 을 수행, AICF 에서는 이를 컴파일 단계로 통합

 

항후 자동 미분으로의 확장