Beaver.MLIR.Transform.Tuner (beaver v0.4.8)

Copy Markdown

Bounded, deterministic BEAM evaluation of resolved Transform schedules.

Candidate order is the order returned by Schedule.enumerate/2, independent of task completion order. Timeouts kill the individual task. Cancellation is shared through an explicit token and can also be observed by cooperative evaluator callbacks.

Searches emit [:beaver, :mlir, :compilation, :autotuning, :start | :stop] and each candidate emits the corresponding [:beaver, :mlir, :compilation, :autotuning, :candidate, :start | :stop] events. Candidate metadata can be passed to Beaver.MLIR.ActionTracing to correlate lower-level MLIR actions with the schedule that caused them.

Summary

Functions

Resolves and evaluates every candidate with bounded concurrency.

Passes successful records to an application-defined selection function.

Types

evaluator()

@type evaluator() :: function() | module() | {module(), term()}

Functions

search(schedule, evaluator, opts \\ [])

Resolves and evaluates every candidate with bounded concurrency.

An evaluator may return a bare value, {:ok, value}, {:ok, value, metadata}, or {:error, reason}. Beaver records these values without imposing a scoring or winner-selection policy.

search!(schedule, evaluator, opts \\ [])

Bang variant of search/3.

select(result, selector)

Passes successful records to an application-defined selection function.