catalyst.assert (::catalyst::AssertionOp)¶
Asserts condition at runtime.
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
error | ::mlir::StringAttr | string attribute |
Operands:¶
Operand |
Description |
|---|---|
|
1-bit signless integer |
catalyst.callback_call (::catalyst::CallbackCallOp)¶
Syntax:
operation ::= `catalyst.callback_call` $callee `(` $inputs `)` attr-dict `:` functional-type($inputs, results)
Interfaces: ArgAndResultAttrsOpInterface, CallOpInterface, MemoryEffectOpInterface, SymbolUserOpInterface
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
callee | ::mlir::FlatSymbolRefAttr | flat symbol reference attribute |
arg_attrs | ::mlir::ArrayAttr | Array of dictionary attributes |
res_attrs | ::mlir::ArrayAttr | Array of dictionary attributes |
Operands:¶
Operand |
Description |
|---|---|
|
variadic of ranked tensor of any type values or memref of any type values |
Results:¶
Result |
Description |
|---|---|
«unnamed» |
variadic of any type |
catalyst.callback (::catalyst::CallbackOp)¶
Operation denoting a symbol to refer to user callbacks.
This is an operation that is intended to be placed at the module level. It corresponds to function bodies that are not yet constructed.
Traits: IsolatedFromAbove
Interfaces: ArgAndResultAttrsOpInterface, CallableOpInterface, FunctionOpInterface, Symbol
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
sym_name | ::mlir::StringAttr | string attribute |
function_type | ::mlir::TypeAttr | type attribute of function type |
id | ::mlir::IntegerAttr | 64-bit signless integer attribute |
argc | ::mlir::IntegerAttr | 64-bit signless integer attribute |
resc | ::mlir::IntegerAttr | 64-bit signless integer attribute |
arg_attrs | ::mlir::ArrayAttr | Array of dictionary attributes |
res_attrs | ::mlir::ArrayAttr | Array of dictionary attributes |
catalyst.custom_call (::catalyst::CustomCallOp)¶
CustomCall operation
Syntax:
operation ::= `catalyst.custom_call` `fn` `(`$call_target_name`)` `(` $inputs `)`
attr-dict `:` functional-type(operands, results)
Encapsulates an implementation-defined operation call_target_name that
takes inputs and and produces results.
A custom call invokes code external to Catalyst. The inputs are passed to the
external code, and the external code is expected to produce a result of the
given type.
Interfaces: MemoryEffectOpInterface
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
call_target_name | ::mlir::StringAttr | string attribute |
number_original_arg | ::mlir::IntegerAttr | 32-bit signless integer attribute |
backend_config | ::mlir::DictionaryAttr | dictionary of named attribute values |
Operands:¶
Operand |
Description |
|---|---|
|
variadic of any type |
Results:¶
Result |
Description |
|---|---|
«unnamed» |
variadic of any type |
catalyst.launch_kernel (::catalyst::LaunchKernelOp)¶
Syntax:
operation ::= `catalyst.launch_kernel` $callee `(` $inputs `)` attr-dict `:` functional-type($inputs, results)
Interfaces: ArgAndResultAttrsOpInterface, CallOpInterface, SymbolUserOpInterface
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
callee | ::mlir::SymbolRefAttr | symbol reference attribute |
arg_attrs | ::mlir::ArrayAttr | Array of dictionary attributes |
res_attrs | ::mlir::ArrayAttr | Array of dictionary attributes |
Operands:¶
Operand |
Description |
|---|---|
|
variadic of ranked tensor of any type values or memref of any type values |
Results:¶
Result |
Description |
|---|---|
«unnamed» |
variadic of any type |
catalyst.list_dealloc (::catalyst::ListDeallocOp)¶
Deallocate the underlying memory of an arraylist.
Syntax:
operation ::= `catalyst.list_dealloc` $list attr-dict `:` type($list)
Operands:¶
Operand |
Description |
|---|---|
|
a dynamically resizable array |
catalyst.list_init (::catalyst::ListInitOp)¶
Initialize a dynamically resizable arraylist.
Syntax:
operation ::= `catalyst.list_init` attr-dict `:` type($list)
Results:¶
Result |
Description |
|---|---|
|
a dynamically resizable array |
catalyst.list_load_data (::catalyst::ListLoadDataOp)¶
Get the underlying memref storing the data of an array list.
Syntax:
operation ::= `catalyst.list_load_data` $list attr-dict `:` type($list) `->` type($data)
Operands:¶
Operand |
Description |
|---|---|
|
a dynamically resizable array |
Results:¶
Result |
Description |
|---|---|
|
memref of any type values |
catalyst.list_pop (::catalyst::ListPopOp)¶
Remove an element from the end of an array list and return it.
Syntax:
operation ::= `catalyst.list_pop` $list attr-dict `:` type($list)
Interfaces: InferTypeOpInterface
Operands:¶
Operand |
Description |
|---|---|
|
a dynamically resizable array |
Results:¶
Result |
Description |
|---|---|
|
any type |
catalyst.list_push (::catalyst::ListPushOp)¶
Append an element to the end of an array list.
Syntax:
operation ::= `catalyst.list_push` $value `,` $list attr-dict `:` type($list)
Operands:¶
Operand |
Description |
|---|---|
|
any type |
|
a dynamically resizable array |
catalyst.print (::catalyst::PrintOp)¶
Prints numeric values or constant strings at runtime.
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
const_val | ::mlir::StringAttr | string attribute |
print_descriptor | ::mlir::UnitAttr | unit attribute |
Operands:¶
Operand |
Description |
|---|---|
|
any type |
catalyst.runtime_call (::catalyst::RuntimeCallOp)¶
Invoke a declared runtime symbol through its C signature.
Syntax:
operation ::= `catalyst.runtime_call` `fn` `(` $callee `)` `(` $inputs `)`
( `in` `(` $dest_buffers^ `:` type($dest_buffers) `)` )?
attr-dict
( `:` `(` type($inputs)^ `)` )?
( `->` `(` type($scalar_result)^ `)` )?
( `outs` `(` type($out_tensors)^ `)` )?
Call the runtime symbol callee, described by the C parameter kinds in
c_params and the C result kind in c_result.
Without
dispatch, the call is local.buf/outare bufferized and the op becomes anllvm.callusing the symbol’s native C ABI.With
dispatch, the call runs on that executor remotely. Thelower-runtime-dispatchpass marshals the operands into the executor’s flat wire layout and rewrites the op into anexecutor.call.
Traits: AttrSizedOperandSegments, AttrSizedResultSegments
Interfaces: MemoryEffectOpInterface
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
callee | ::mlir::StringAttr | string attribute |
c_params | ::mlir::ArrayAttr | string array attribute |
c_result | ::mlir::StringAttr | string attribute |
c_strings | ::mlir::ArrayAttr | string array attribute |
dispatch | ::mlir::StringAttr | string attribute |
Operands:¶
Operand |
Description |
|---|---|
|
variadic of any type |
|
variadic of memref of any type values |
Results:¶
Result |
Description |
|---|---|
|
variadic of any type |
|
variadic of ranked tensor of any type values |