본문 바로가기

AI Compiler framework

IR 기반 실행 위에 CUDA Graph Replay 를 얹는 실행 모델 설계

IR 을 단일한 실행 의미의 기준으로 두고, 그 위에 CUDA Graph 를 실행 캐시로 얹는 구조

 

핵심 개념

IR ( Intermediate Representation )

  • 무엇을 계산하는가에 대한 의미적 정의
  • 포함 정보
    • op sequence
    • data dependency
    • optimizer step semantics
    • runtime_env 를 통한 tensor binding 규칙
  • 포인터 / 실행 순서 / 커널 런치 방식에는 독립적

IR 은 참조 실행 reference execution 이 가능해야 하며, 항상 신뢰 가능한 기준이 된다.

 

IRExecutor

  • IR 을 해석하여 실행하는 기본 실행 엔진
  • 특징
    • 매 실행 시 IR 을 따라 커널을 디스패치
    • env 에 따라 텐서 포인터 / 버퍼 alias 가 달라질 수 있음

 

CUDA Graph Replay

  • IR 실행 결과로 생성된 인스턴스의 스냅샷
  • 특징
    • 캡처 시점의 커널 시퀀스 + 포인터 바인딩에 고정
    • replay 는 매우 빠르지만, 상태 변화에 취약
  • 의미적으로는 IR 실행의 캐시된 결과 

단순 실행 계획

 

레이어링 철학

이 설계의 핵심은 다음 계층 구조

IR (semantic definition)
 └─ IRExecutor (reference execution)
     └─ CUDA Graph Capture (execution snapshot)
         └─ CUDA Graph Replay (fast path)
  • IR 은 항상 상위 개념
  • Graph 는 IR 실행의 하위 최적화