Home

Awesome

🐱 Manx 🐈

MLIR-Accelerated-Nx. MLIR compiler/backend for the Nx.

What does this library do?

You can think of Manx as IREE implemented in Elixir and unlike IREE with new dedicated runtime Manx uses BEAM as the runtime. Nx's expressions are very close to XLA's MHLO so Manx would borrow a lot of conversion/lowering implementations from XLA and IREE.

Why do we need it?

Compared to EXLA

Nx |> EXLA |> XLA |> MLIR |> LLVM |> hardware
Nx |> Manx |> MLIR |> LLVM |> hardware

Installation

If available in Hex, the package can be installed by adding manx to your list of dependencies in mix.exs:

def deps do
  [
    {:manx, "~> 0.1.0"}
  ]
end

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/manx.