Skip to content

Mlir

  • Published on
    NVCC와 PTX부터 LLVM, MLIR, Triton, torch.compile, XLA, IREE, TVM까지를 하나의 지도 위에 올렸습니다. 이름이 다르고 소속이 다르지만 이들은 전부 같은 문제를 풉니다. 연산 그래프를 받아 실행 가능한 커널을 만드는 일입니다. 각 층이 그 문제의 어느 부분을 잘라 가져갔는지, 왜 층이 이렇게 많아졌는지, 그리고 엔지니어가 어떤 상황에서 어느 층까지 내려가야 하는지를 정리했습니다. 2026년 8월 2일에 확인한 버전과 공식 문서를 근거로 적었고, 확인하지 못한 것은 그렇다고 밝혔습니다.
  • Published on
    Rust, Swift, Clang, Julia, Kotlin Native, WebAssembly. 이 모두의 공통점은 LLVM을 백엔드로 사용한다는 것입니다. 이 글은 LLVM의 내부를 처음부터 해부합니다. 3단 아키텍처(프론트엔드 → IR → 백엔드), SSA 기반 LLVM IR의 구조, 수백 개의 옵티마이저 패스들(InstCombine, GVN, LICM, 인라이너), SelectionDAG와 GlobalISel, LTO와 PGO, Clang 프론트엔드, 그리고 MLIR의 dialect 기반 멀티레벨 IR — 현대 컴파일러가 어떻게 동작하는지 제대로 이해하고 싶은 엔지니어를 위한 종합 가이드입니다.