Beaver.MLIR.ExecutionEngine (beaver v0.3.10)

This module defines functions working with MLIR ExecutionEngine.

Summary

Functions

Create a MLIR JIT engine for a module and check if successful. Usually this module should be of LLVM dialect.

Types

@type dirty() :: nil | :io_bound | :cpu_bound
Link to this type

invoke_opts()

@type invoke_opts() :: [{:dirty, dirty()}]
Link to this type

object_dump()

@type object_dump() :: boolean()
@type opt_level() :: 0 | 1 | 2 | 3
@type opts() :: [
  shared_lib_paths: [shared_lib_path()],
  opt_level: opt_level(),
  object_dump: object_dump()
]
Link to this type

shared_lib_path()

@type shared_lib_path() :: String.t()
@type t() :: %Beaver.MLIR.ExecutionEngine{ref: term()}

Functions

Link to this function

create!(composer_or_op)

Create a MLIR JIT engine for a module and check if successful. Usually this module should be of LLVM dialect.

Link to this function

create!(module, opts \\ [])

@spec create!(Beaver.MLIR.Module.t(), opts()) :: t()
Link to this function

invoke!(jit, symbol, args \\ [], return \\ nil, opts \\ [])

@spec invoke!(
  t(),
  String.t() | Beaver.MLIR.StringRef.t(),
  list(),
  any(),
  invoke_opts()
) :: :ok

invoke a function by symbol name.