본문 바로가기

AI Compiler framework

alias / inplace 에 대해... - 메모리 / 실행 전략에 관한 결정

이 연산의 출력이 새 메모리를 가질 필요가 있는지, 기존 입력 메모리를 그대로 재사용해도 되는지를 결정하는 실행 단계의 판단

 

단계별 역할 정리

IR

  • 의미적 표현
  • 이 연산은 이런 입력을 받아 이런 출력을 만든다
  • 메모리에 대해 아무 정보 없음

 

LoweredOp

  • ABI 확정
  • op_call 형태로 호출 가능
  • 출력 버퍼가 새 메모리인지
  • 입력을 덮어써도 되는지에 대해선 아무 결정 없음

 

ExecPlan ( make_exec_plan_cuda )

메모리 관점의 의사결정이 들어감

  • 어떤 output vid 가
    • 새로운 메모리를 쓸지
    • 아니면 input vid 의 메모리를 그대로 쓸지

 

현재는 bias_add 만 alias 하는 구조, 

앞으로 확장의 단계에선, 

이 IR 을 어떻게 실행하면 가장 싸게 될릴 수 있는가를 결정하도록