Beaver. MLIR. ExecutionEngine
(beaver v0.4.8)
Copy Markdown
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.
Write the object captured by an engine created with object_dump: true.
Initialize the JIT runtime.
invoke a function by symbol name.
Look up a symbol in an execution engine.
Register a native pointer under a symbol name.
Get the paths to the runtime libraries provided by MLIR.
Types
@type dirty() :: nil | :io_bound | :cpu_bound
@type enable_pic() :: boolean()
@type invoke_opts() :: [{:dirty, dirty()}]
@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(), enable_pic: enable_pic(), dirty: dirty(), telemetry: ([atom()], map(), map() -> any()) ]
@type t() :: %Beaver.MLIR.ExecutionEngine{ref: term()}
Functions
Create a MLIR JIT engine for a module and check if successful. Usually this module should be of LLVM dialect.
@spec create!(Beaver.MLIR.Module.t(), opts()) :: t()
Write the object captured by an engine created with object_dump: true.
Initialize the JIT runtime.
If not already initialized, this will be called implicitly when first invocation happens.
@spec invoke!( t(), String.t() | Beaver.MLIR.StringRef.t(), list(), any(), invoke_opts() ) :: :ok
invoke a function by symbol name.
@spec lookup(t(), String.t() | Beaver.MLIR.StringRef.t(), keyword()) :: Beaver.Native.OpaquePtr.t()
Look up a symbol in an execution engine.
@spec register_symbol( t(), String.t() | Beaver.MLIR.StringRef.t(), Beaver.Native.OpaquePtr.t() ) :: t()
Register a native pointer under a symbol name.
Get the paths to the runtime libraries provided by MLIR.