Beaver.MLIR.Dialect.MLProgram (beaver v0.4.7)

Summary

Functions

ml_program.func

ml_program.global

ml_program.global_load

ml_program.global_load_const

ml_program.global_load_graph - Direct load of a mutable value from a global in Graph region

ml_program.global_store - Direct store of a value into a mutable global

ml_program.global_store_graph - Direct store of a value into a mutable global

ml_program.output - Outputs values from a subgraph function

ml_program.return - Returns values from a func function

ml_program.subgraph

ml_program.token

Functions

func(ssa)

ml_program.func

global(ssa)

ml_program.global

global_load(ssa)

ml_program.global_load

global_load_const(ssa)

ml_program.global_load_const

global_load_graph(ssa)

ml_program.global_load_graph - Direct load of a mutable value from a global in Graph region

Attributes

  • global - Single, SymbolRefAttr, symbol reference attribute

Operands

  • consumeTokens - Variadic, MLProgram_TokenType, variadic of Token for establishing execution ordering in a graph

Results

  • result - Single, AnyType, any type
  • produceToken - Single, MLProgram_TokenType, Token for establishing execution ordering in a graph

Description

Performs a non-atomic, non-volatile, non-synchronized load from a global that may be mutable.

It is fully expected that these constraints are not suitable for all situations, and alternative ops should be defined and used for more advanced cases.

This op is side effecting and may not be valid to use in graph regions without additional consideration to evaluation order constraints.

Example:

%0, %cstr = ml_program.global_load_graph @foobar
  ordering (%token -> !ml_program.token) : tensor<?xi32>

global_store(ssa)

ml_program.global_store - Direct store of a value into a mutable global

Attributes

  • global - Single, SymbolRefAttr, symbol reference attribute

Operands

  • value - Single, AnyType, any type

Description

Performs a non-atomic, non-volatile, non-synchronized store to a mutable global.

It is fully expected that these constraints are not suitable for all situations, and alternative ops should be defined and used for more advanced cases.

This op is side effecting and may not be valid to use in graph regions without additional consideration to evaluation order constraints. See global_store_graph for op which allows for explicit ordering constraints.

Example:

ml_program.global_store @foobar = %0 : tensor<?xi32>

global_store_graph(ssa)

ml_program.global_store_graph - Direct store of a value into a mutable global

Attributes

  • global - Single, SymbolRefAttr, symbol reference attribute

Operands

  • value - Single, AnyType, any type
  • consumeTokens - Variadic, MLProgram_TokenType, variadic of Token for establishing execution ordering in a graph

Results

  • produceToken - Single, MLProgram_TokenType, Token for establishing execution ordering in a graph

Description

Performs a non-atomic, non-volatile, non-synchronized store to a mutable global.

It is fully expected that these constraints are not suitable for all situations, and alternative ops should be defined and used for more advanced cases.

This op is side effecting and may not be valid to use in graph regions without additional consideration to evaluation order constraints.

Example:

%token = ml_program.global_store @foobar = %0 : tensor<?xi32>
  ordering (%in_token -> !ml_program.token) : tensor<?xi32>

output(ssa)

ml_program.output - Outputs values from a subgraph function

Operands

  • operands - Variadic, AnyType, variadic of any type

Description

The output operation terminates a subgraph by yielding values to the caller. The operation takes variable number of operands and produces no results. The operand number and types must match the signature of the function that contains the operation.

return(ssa)

ml_program.return - Returns values from a func function

Operands

  • operands - Variadic, AnyType, variadic of any type

Description

The return operation terminates a func function by yielding values to the caller. The operation takes variable number of operands and produces no results. The operand number and types must match the signature of the function that contains the operation.

subgraph(ssa)

ml_program.subgraph

token(ssa)

ml_program.token