Reproduce “JLIR: A Julia-Native MLIR-Inspired Intermediate Representation with Automatic JACC Kernel Extraction” on OpenResearch

Turn your favorite coding agents into research agents that review literature, develop hypotheses, and run experiments.

Universal app for Apple silicon and Intel. Requires macOS 11 or later.

About this paper

Narasinga Rao Miniskar, Seyong Lee, Keita Teranishi, Jeffrey S Vetter

Oak Ridge National Laboratory researchers developed JLIR, a Julia-native intermediate representation inspired by MLIR, which provides multi-level compilation directly within the Julia ecosystem. It automatically extracts and optimizes GPU kernels from serial Julia code, achieving up to 87% of hand-written CUDA kernel performance for GEMM and 556 GF/s for Black-Scholes, with minimal compilation overhead.

Key insights

  • Advanced, multi-level compiler infrastructure can be hosted and extended natively within a dynamic language like Julia, reducing reliance on external C++ components.
  • Encoding loop-carried accumulators into the `ForOp`'s `iter_args` attribute enables efficient, O(1) detection of parallel and reduction loop patterns.
  • A Julia-native macro-based Dialect DSL significantly simplifies the creation of new domain-specific operations and custom passes, requiring 3.6x less code and 3x faster pipeline latency than C++ MLIR for equivalent functionality.

Summary by alphaXiv.

Tip: change arxiv.org to autoarxiv.org in any arXiv abstract link to open the paper here.