| Attribute | MLIR Type | Description |
atomic_rmw_op | ::mlir::triton::RMWOpAttr | allowed 32-bit signless integer cases: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10{{% markdown %}}Enum cases:
* and (`AND`)
* or (`OR`)
* xor (`XOR`)
* add (`ADD`)
* fadd (`FADD`)
* max (`MAX`)
* min (`MIN`)
* umax (`UMAX`)
* umin (`UMIN`)
* exch (`XCHG`){{% /markdown %}} |
sem | ::mlir::triton::MemSemanticAttr | allowed 32-bit signless integer cases: 1, 2, 3, 4{{% markdown %}}Enum cases:
* relaxed (`RELAXED`)
* acquire (`ACQUIRE`)
* release (`RELEASE`)
* acq_rel (`ACQUIRE_RELEASE`){{% /markdown %}} |
scope | ::mlir::triton::MemSyncScopeAttr | allowed 32-bit signless integer cases: 1, 2, 3{{% markdown %}}Enum cases:
* gpu (`GPU`)
* cta (`CTA`)
* sys (`SYSTEM`){{% /markdown %}} |
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `ptr` | ptr or tensor of ptr values
| `val` | floating-point or tensor of floating-point values or integer or tensor of integer values or ptr or tensor of ptr values or ptr
| `mask` | 1-bit signless integer or tensor of 1-bit signless integer values
#### Results:
| Result | Description |
| :----: | ----------- |
| `result` | floating-point or tensor of floating-point values or integer or tensor of integer values or ptr or tensor of ptr values or ptr
### `tt.bitcast` (triton::BitcastOp)
_Cast between types of the same bitwidth_
Syntax:
```
operation ::= `tt.bitcast` $from attr-dict `:` type($from) `->` type($result)
```
Traits: AlwaysSpeculatableImplTrait, Elementwise, SameOperandsAndResultEncoding, SameOperandsAndResultShape, TensorSizeTrait, VerifyTensorLayoutsTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `from` | floating-point or tensor of floating-point values or integer or tensor of integer values or ptr or tensor of ptr values or ptr
#### Results:
| Result | Description |
| :----: | ----------- |
| `result` | floating-point or tensor of floating-point values or integer or tensor of integer values or ptr or tensor of ptr values or ptr
### `tt.broadcast` (triton::BroadcastOp)
_Broadcast. No left-padding as of now._
Syntax:
```
operation ::= `tt.broadcast` $src attr-dict `:` functional-type(operands, results)
```
Traits: AlwaysSpeculatableImplTrait, SameOperandsAndResultElementType, SameOperandsAndResultEncoding, TensorSizeTrait, VerifyTensorLayoutsTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `src` | floating-point or tensor of floating-point values or integer or tensor of integer values or ptr or tensor of ptr values or ptr
#### Results:
| Result | Description |
| :----: | ----------- |
| `result` | floating-point or tensor of floating-point values or integer or tensor of integer values or ptr or tensor of ptr values or ptr
### `tt.cat` (triton::CatOp)
_Concatenate 2 tensors_
Syntax:
```
operation ::= `tt.cat` $lhs `,` $rhs attr-dict `:` functional-type(operands, results)
```
Traits: SameOperandsAndResultElementType, TensorSizeTrait, VerifyTensorLayoutsTrait
Interfaces: NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `lhs` | tensor of floating-point values or tensor of integer values or tensor of ptr values
| `rhs` | tensor of floating-point values or tensor of integer values or tensor of ptr values
#### Results:
| Result | Description |
| :----: | ----------- |
| `result` | tensor of floating-point values or tensor of integer values or tensor of ptr values
### `tt.dot` (triton::DotOp)
_Dot_
Syntax:
```
operation ::= `tt.dot` $a`,` $b`,` $c attr-dict `:` type($a) `*` type($b) `->` type($d)
```
$d = matrix_multiply($a, $b) + $c
Traits: AlwaysSpeculatableImplTrait, TensorSizeTrait, VerifyTensorLayoutsTrait
Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
#### Attributes:
| Attribute | MLIR Type | Description |
boundaryCheck | ::mlir::DenseI32ArrayAttr | i32 dense array attribute |
padding | ::mlir::triton::PaddingOptionAttr | allowed 32-bit signless integer cases: 1, 2{{% markdown %}}Enum cases:
* zero (`PAD_ZERO`)
* nan (`PAD_NAN`){{% /markdown %}} |
cache | ::mlir::triton::CacheModifierAttr | allowed 32-bit signless integer cases: 1, 2, 3, 4, 5, 6{{% markdown %}}Enum cases:
* none (`NONE`)
* ca (`CA`)
* cg (`CG`)
* wb (`WB`)
* cs (`CS`)
* wt (`WT`){{% /markdown %}} |
evict | ::mlir::triton::EvictionPolicyAttr | allowed 32-bit signless integer cases: 1, 2, 3{{% markdown %}}Enum cases:
* evict_normal (`NORMAL`)
* evict_first (`EVICT_FIRST`)
* evict_last (`EVICT_LAST`){{% /markdown %}} |
isVolatile | ::mlir::BoolAttr | bool attribute |
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `ptr` | ptr or tensor of ptr values or ptr
| `mask` | 1-bit signless integer or tensor of 1-bit signless integer values
| `other` | floating-point or tensor of floating-point values or integer or tensor of integer values or ptr or tensor of ptr values or ptr
#### Results:
| Result | Description |
| :----: | ----------- |
| `result` | floating-point or tensor of floating-point values or integer or tensor of integer values or ptr or tensor of ptr values or ptr
### `tt.make_range` (triton::MakeRangeOp)
_Make range_
Syntax:
```
operation ::= `tt.make_range` attr-dict `:` type($result)
```
Returns an 1D int32 tensor.
Values span from $start to $end (exclusive), with step = 1
Traits: AlwaysSpeculatableImplTrait, TensorSizeTrait, VerifyTensorLayoutsTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
#### Attributes: