'rocdl' Dialect
Operations ¶
rocdl.ballot
(ROCDL::BallotOp) ¶
Vote across thread group
Syntax:
operation ::= `rocdl.ballot` $pred attr-dict `:` type($res)
Ballot provides a bit mask containing the 1-bit predicate value from each lane. The nth bit of the result contains the 1 bit contributed by the nth warp lane.
Operands: ¶
Operand | Description |
---|---|
pred | 1-bit signless integer |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.barrier
(ROCDL::BarrierOp) ¶
Syntax:
operation ::= `rocdl.barrier` attr-dict
rocdl.cvt.f32.bf8
(ROCDL::CvtF32Bf8Op) ¶
Convert bf8 to f32
Syntax:
operation ::= `rocdl.cvt.f32.bf8` attr-dict $srcA `[` $byteSel `]` `:` type($res)
Convert 8-bit bf8 value from the byteSel
th bit of srcA
to fp32.
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands: ¶
Operand | Description |
---|---|
srcA | 32-bit signless integer |
byteSel | 32-bit signless integer |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.cvt.f32.fp8
(ROCDL::CvtF32Fp8Op) ¶
Convert fp8 to f32
Syntax:
operation ::= `rocdl.cvt.f32.fp8` attr-dict $srcA `[` $byteSel `]` `:` type($res)
Convert 8-bit fp8 value from the byteSel
th bit of srcA
to fp32.
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands: ¶
Operand | Description |
---|---|
srcA | 32-bit signless integer |
byteSel | 32-bit signless integer |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.cvt.pk.bf8.f32
(ROCDL::CvtPkBf8F32Op) ¶
Convert two f32’s to bf8
Syntax:
operation ::= `rocdl.cvt.pk.bf8.f32` attr-dict $srcA `,` $srcB `->` $old `[` $wordSel `]` `:` type($res)
Convert srcA
and srcB
to bf8 and store into the low/high word of
old
, preserving the other word.
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands: ¶
Operand | Description |
---|---|
srcA | 32-bit float |
srcB | 32-bit float |
old | 32-bit signless integer |
wordSel | 1-bit signless integer |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.cvt.pk.fp8.f32
(ROCDL::CvtPkFp8F32Op) ¶
Convert two f32’s to fp8
Syntax:
operation ::= `rocdl.cvt.pk.fp8.f32` attr-dict $srcA `,` $srcB `->` $old `[` $wordSel `]` `:` type($res)
Convert srcA
and srcB
to fp8 and store into the low/high word of
old
, preserving the other word.
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands: ¶
Operand | Description |
---|---|
srcA | 32-bit float |
srcB | 32-bit float |
old | 32-bit signless integer |
wordSel | 1-bit signless integer |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.cvt.pkrtz
(ROCDL::CvtPkRtz) ¶
Convert two f32 input into a vector<2xf16>
Syntax:
operation ::= `rocdl.cvt.pkrtz` attr-dict $srcA `,` $srcB `:` type($res)
Convert two f32 values into a packed vector<2xf16>.
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands: ¶
Operand | Description |
---|---|
srcA | 32-bit float |
srcB | 32-bit float |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.cvt.sr.bf8.f32
(ROCDL::CvtSrBf8F32Op) ¶
Convert f32 to bf8, stochiastic rounding
Syntax:
operation ::= `rocdl.cvt.sr.bf8.f32` attr-dict $srcA `,` $srcB `->` $old `[` $byteSel `]` `:` type($res)
Convert srcA
to bf8, adding the rounding factor from srcB
,
and store into the byteSel
th byte of old
, preserving the others.
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands: ¶
Operand | Description |
---|---|
srcA | 32-bit float |
srcB | 32-bit signless integer |
old | 32-bit signless integer |
byteSel | 32-bit signless integer |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.cvt.sr.fp8.f32
(ROCDL::CvtSrFp8F32Op) ¶
Convert f32 to fp8, stochiastic rounding
Syntax:
operation ::= `rocdl.cvt.sr.fp8.f32` attr-dict $srcA `,` $srcB `->` $old `[` $byteSel `]` `:` type($res)
Convert srcA
to fp8, adding the rounding factor from srcB
,
and store into the byteSel
th byte of old
, preserving the others.
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands: ¶
Operand | Description |
---|---|
srcA | 32-bit float |
srcB | 32-bit signless integer |
old | 32-bit signless integer |
byteSel | 32-bit signless integer |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.ds_bpermute
(ROCDL::DsBpermuteOp) ¶
Syntax:
operation ::= `rocdl.ds_bpermute` $index `,` $src attr-dict `:` `(` type($index) `,` type($src) `)` `->` type($res)
Operands: ¶
Operand | Description |
---|---|
index | 32-bit signless integer |
src | 32-bit signless integer |
Results: ¶
Result | Description |
---|---|
res | 32-bit signless integer |
rocdl.ds_swizzle
(ROCDL::DsSwizzleOp) ¶
Syntax:
operation ::= `rocdl.ds_swizzle` $src `,` $offset attr-dict `:` `(` type($src) `,` type($offset) `)` `->` type($res)
Operands: ¶
Operand | Description |
---|---|
src | 32-bit signless integer |
offset | 32-bit signless integer |
Results: ¶
Result | Description |
---|---|
res | 32-bit signless integer |
rocdl.grid.dim.x
(ROCDL::GridDimXOp) ¶
Syntax:
operation ::= `rocdl.grid.dim.x` (`range` $range^)? attr-dict `:` type($res)
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
range | ::mlir::LLVM::ConstantRangeAttr | A range of two integers, corresponding to LLVM's ConstantRange
|
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.grid.dim.y
(ROCDL::GridDimYOp) ¶
Syntax:
operation ::= `rocdl.grid.dim.y` (`range` $range^)? attr-dict `:` type($res)
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
range | ::mlir::LLVM::ConstantRangeAttr | A range of two integers, corresponding to LLVM's ConstantRange
|
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.grid.dim.z
(ROCDL::GridDimZOp) ¶
Syntax:
operation ::= `rocdl.grid.dim.z` (`range` $range^)? attr-dict `:` type($res)
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
range | ::mlir::LLVM::ConstantRangeAttr | A range of two integers, corresponding to LLVM's ConstantRange
|
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.iglp.opt
(ROCDL::IglpOpt) ¶
Syntax:
operation ::= `rocdl.iglp.opt` $variant attr-dict
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
variant | ::mlir::IntegerAttr | 32-bit signless integer attribute |
rocdl.make.buffer.rsrc
(ROCDL::MakeBufferRsrcOp) ¶
Syntax:
operation ::= `rocdl.make.buffer.rsrc` operands attr-dict `:` type($base) `to` type($res)
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands: ¶
Operand | Description |
---|---|
base | LLVM pointer type |
stride | 16-bit signless integer |
numRecords | 32-bit signless integer |
flags | 32-bit signless integer |
Results: ¶
Result | Description |
---|---|
res | LLVM pointer in address space 8 |
rocdl.mbcnt.hi
(ROCDL::MbcntHiOp) ¶
Syntax:
operation ::= `rocdl.mbcnt.hi` $in0 `,` $in1 attr-dict `:` `(` type($in0) `,` type($in1) `)` `->` type($res)
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands: ¶
Operand | Description |
---|---|
in0 | 32-bit signless integer |
in1 | 32-bit signless integer |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mbcnt.lo
(ROCDL::MbcntLoOp) ¶
Syntax:
operation ::= `rocdl.mbcnt.lo` $in0 `,` $in1 attr-dict `:` `(` type($in0) `,` type($in1) `)` `->` type($res)
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands: ¶
Operand | Description |
---|---|
in0 | 32-bit signless integer |
in1 | 32-bit signless integer |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.16x16x16bf16.1k
(ROCDL::mfma_f32_16x16x16bf16_1k) ¶
Syntax:
operation ::= `rocdl.mfma.f32.16x16x16bf16.1k` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.16x16x16f16
(ROCDL::mfma_f32_16x16x16f16) ¶
Syntax:
operation ::= `rocdl.mfma.f32.16x16x16f16` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.16x16x1f32
(ROCDL::mfma_f32_16x16x1f32) ¶
Syntax:
operation ::= `rocdl.mfma.f32.16x16x1f32` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.16x16x2bf16
(ROCDL::mfma_f32_16x16x2bf16) ¶
Syntax:
operation ::= `rocdl.mfma.f32.16x16x2bf16` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.16x16x32.bf8.bf8
(ROCDL::mfma_f32_16x16x32_bf8_bf8) ¶
Syntax:
operation ::= `rocdl.mfma.f32.16x16x32.bf8.bf8` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.16x16x32.bf8.fp8
(ROCDL::mfma_f32_16x16x32_bf8_fp8) ¶
Syntax:
operation ::= `rocdl.mfma.f32.16x16x32.bf8.fp8` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.16x16x32.fp8.bf8
(ROCDL::mfma_f32_16x16x32_fp8_bf8) ¶
Syntax:
operation ::= `rocdl.mfma.f32.16x16x32.fp8.bf8` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.16x16x32.fp8.fp8
(ROCDL::mfma_f32_16x16x32_fp8_fp8) ¶
Syntax:
operation ::= `rocdl.mfma.f32.16x16x32.fp8.fp8` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.16x16x4bf16.1k
(ROCDL::mfma_f32_16x16x4bf16_1k) ¶
Syntax:
operation ::= `rocdl.mfma.f32.16x16x4bf16.1k` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.16x16x4f16
(ROCDL::mfma_f32_16x16x4f16) ¶
Syntax:
operation ::= `rocdl.mfma.f32.16x16x4f16` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.16x16x4f32
(ROCDL::mfma_f32_16x16x4f32) ¶
Syntax:
operation ::= `rocdl.mfma.f32.16x16x4f32` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.16x16x8.xf32
(ROCDL::mfma_f32_16x16x8_xf32) ¶
Syntax:
operation ::= `rocdl.mfma.f32.16x16x8.xf32` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.16x16x8bf16
(ROCDL::mfma_f32_16x16x8bf16) ¶
Syntax:
operation ::= `rocdl.mfma.f32.16x16x8bf16` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.32x32x16.bf8.bf8
(ROCDL::mfma_f32_32x32x16_bf8_bf8) ¶
Syntax:
operation ::= `rocdl.mfma.f32.32x32x16.bf8.bf8` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.32x32x16.bf8.fp8
(ROCDL::mfma_f32_32x32x16_bf8_fp8) ¶
Syntax:
operation ::= `rocdl.mfma.f32.32x32x16.bf8.fp8` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.32x32x16.fp8.bf8
(ROCDL::mfma_f32_32x32x16_fp8_bf8) ¶
Syntax:
operation ::= `rocdl.mfma.f32.32x32x16.fp8.bf8` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.32x32x16.fp8.fp8
(ROCDL::mfma_f32_32x32x16_fp8_fp8) ¶
Syntax:
operation ::= `rocdl.mfma.f32.32x32x16.fp8.fp8` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.32x32x1f32
(ROCDL::mfma_f32_32x32x1f32) ¶
Syntax:
operation ::= `rocdl.mfma.f32.32x32x1f32` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.32x32x2bf16
(ROCDL::mfma_f32_32x32x2bf16) ¶
Syntax:
operation ::= `rocdl.mfma.f32.32x32x2bf16` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.32x32x2f32
(ROCDL::mfma_f32_32x32x2f32) ¶
Syntax:
operation ::= `rocdl.mfma.f32.32x32x2f32` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.32x32x4.xf32
(ROCDL::mfma_f32_32x32x4_xf32) ¶
Syntax:
operation ::= `rocdl.mfma.f32.32x32x4.xf32` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.32x32x4bf16
(ROCDL::mfma_f32_32x32x4bf16) ¶
Syntax:
operation ::= `rocdl.mfma.f32.32x32x4bf16` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.32x32x4bf16.1k
(ROCDL::mfma_f32_32x32x4bf16_1k) ¶
Syntax:
operation ::= `rocdl.mfma.f32.32x32x4bf16.1k` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.32x32x4f16
(ROCDL::mfma_f32_32x32x4f16) ¶
Syntax:
operation ::= `rocdl.mfma.f32.32x32x4f16` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.32x32x8bf16.1k
(ROCDL::mfma_f32_32x32x8bf16_1k) ¶
Syntax:
operation ::= `rocdl.mfma.f32.32x32x8bf16.1k` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.32x32x8f16
(ROCDL::mfma_f32_32x32x8f16) ¶
Syntax:
operation ::= `rocdl.mfma.f32.32x32x8f16` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.4x4x1f32
(ROCDL::mfma_f32_4x4x1f32) ¶
Syntax:
operation ::= `rocdl.mfma.f32.4x4x1f32` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.4x4x2bf16
(ROCDL::mfma_f32_4x4x2bf16) ¶
Syntax:
operation ::= `rocdl.mfma.f32.4x4x2bf16` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.4x4x4bf16.1k
(ROCDL::mfma_f32_4x4x4bf16_1k) ¶
Syntax:
operation ::= `rocdl.mfma.f32.4x4x4bf16.1k` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f32.4x4x4f16
(ROCDL::mfma_f32_4x4x4f16) ¶
Syntax:
operation ::= `rocdl.mfma.f32.4x4x4f16` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f64.16x16x4f64
(ROCDL::mfma_f64_16x16x4f64) ¶
Syntax:
operation ::= `rocdl.mfma.f64.16x16x4f64` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.f64.4x4x4f64
(ROCDL::mfma_f64_4x4x4f64) ¶
Syntax:
operation ::= `rocdl.mfma.f64.4x4x4f64` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.i32.16x16x16i8
(ROCDL::mfma_i32_16x16x16i8) ¶
Syntax:
operation ::= `rocdl.mfma.i32.16x16x16i8` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.i32.16x16x32.i8
(ROCDL::mfma_i32_16x16x32_i8) ¶
Syntax:
operation ::= `rocdl.mfma.i32.16x16x32.i8` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.i32.16x16x4i8
(ROCDL::mfma_i32_16x16x4i8) ¶
Syntax:
operation ::= `rocdl.mfma.i32.16x16x4i8` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.i32.32x32x16.i8
(ROCDL::mfma_i32_32x32x16_i8) ¶
Syntax:
operation ::= `rocdl.mfma.i32.32x32x16.i8` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.i32.32x32x4i8
(ROCDL::mfma_i32_32x32x4i8) ¶
Syntax:
operation ::= `rocdl.mfma.i32.32x32x4i8` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.i32.32x32x8i8
(ROCDL::mfma_i32_32x32x8i8) ¶
Syntax:
operation ::= `rocdl.mfma.i32.32x32x8i8` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.mfma.i32.4x4x4i8
(ROCDL::mfma_i32_4x4x4i8) ¶
Syntax:
operation ::= `rocdl.mfma.i32.4x4x4i8` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.raw.buffer.atomic.cmpswap
(ROCDL::RawBufferAtomicCmpSwap) ¶
Syntax:
operation ::= `rocdl.raw.buffer.atomic.cmpswap` attr-dict `(` operands `)` `:` type($res) `,` type($rsrc)
Operands: ¶
Operand | Description |
---|---|
src | LLVM dialect-compatible type |
cmp | LLVM dialect-compatible type |
rsrc | LLVM dialect-compatible type |
offset | 32-bit signless integer |
soffset | 32-bit signless integer |
aux | 32-bit signless integer |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.raw.buffer.atomic.fadd
(ROCDL::RawBufferAtomicFAddOp) ¶
Operands: ¶
Operand | Description |
---|---|
vdata | LLVM dialect-compatible type |
rsrc | LLVM dialect-compatible type |
offset | LLVM dialect-compatible type |
soffset | LLVM dialect-compatible type |
aux | LLVM dialect-compatible type |
rocdl.raw.buffer.atomic.fmax
(ROCDL::RawBufferAtomicFMaxOp) ¶
Operands: ¶
Operand | Description |
---|---|
vdata | LLVM dialect-compatible type |
rsrc | LLVM dialect-compatible type |
offset | LLVM dialect-compatible type |
soffset | LLVM dialect-compatible type |
aux | LLVM dialect-compatible type |
rocdl.raw.buffer.atomic.smax
(ROCDL::RawBufferAtomicSMaxOp) ¶
Operands: ¶
Operand | Description |
---|---|
vdata | LLVM dialect-compatible type |
rsrc | LLVM dialect-compatible type |
offset | LLVM dialect-compatible type |
soffset | LLVM dialect-compatible type |
aux | LLVM dialect-compatible type |
rocdl.raw.buffer.atomic.umin
(ROCDL::RawBufferAtomicUMinOp) ¶
Operands: ¶
Operand | Description |
---|---|
vdata | LLVM dialect-compatible type |
rsrc | LLVM dialect-compatible type |
offset | LLVM dialect-compatible type |
soffset | LLVM dialect-compatible type |
aux | LLVM dialect-compatible type |
rocdl.raw.buffer.load
(ROCDL::RawBufferLoadOp) ¶
Operands: ¶
Operand | Description |
---|---|
rsrc | LLVM dialect-compatible type |
offset | LLVM dialect-compatible type |
soffset | LLVM dialect-compatible type |
aux | LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.raw.buffer.store
(ROCDL::RawBufferStoreOp) ¶
Operands: ¶
Operand | Description |
---|---|
vdata | LLVM dialect-compatible type |
rsrc | LLVM dialect-compatible type |
offset | LLVM dialect-compatible type |
soffset | LLVM dialect-compatible type |
aux | LLVM dialect-compatible type |
rocdl.raw.ptr.buffer.atomic.cmpswap
(ROCDL::RawPtrBufferAtomicCmpSwap) ¶
Syntax:
operation ::= `rocdl.raw.ptr.buffer.atomic.cmpswap` operands attr-dict `:` type($res)
Interfaces: AliasAnalysisOpInterface
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
alias_scopes | ::mlir::ArrayAttr | LLVM dialect alias scope array |
noalias_scopes | ::mlir::ArrayAttr | LLVM dialect alias scope array |
tbaa | ::mlir::ArrayAttr | LLVM dialect TBAA tag metadata array |
Operands: ¶
Operand | Description |
---|---|
src | LLVM dialect-compatible type |
cmp | LLVM dialect-compatible type |
rsrc | LLVM pointer in address space 8 |
offset | 32-bit signless integer |
soffset | 32-bit signless integer |
aux | 32-bit signless integer |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.raw.ptr.buffer.atomic.fadd
(ROCDL::RawPtrBufferAtomicFaddOp) ¶
Syntax:
operation ::= `rocdl.raw.ptr.buffer.atomic.fadd` operands attr-dict `:` type($vdata)
Interfaces: AliasAnalysisOpInterface
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
alias_scopes | ::mlir::ArrayAttr | LLVM dialect alias scope array |
noalias_scopes | ::mlir::ArrayAttr | LLVM dialect alias scope array |
tbaa | ::mlir::ArrayAttr | LLVM dialect TBAA tag metadata array |
Operands: ¶
Operand | Description |
---|---|
vdata | LLVM dialect-compatible type |
rsrc | LLVM pointer in address space 8 |
offset | 32-bit signless integer |
soffset | 32-bit signless integer |
aux | 32-bit signless integer |
rocdl.raw.ptr.buffer.atomic.fmax
(ROCDL::RawPtrBufferAtomicFmaxOp) ¶
Syntax:
operation ::= `rocdl.raw.ptr.buffer.atomic.fmax` operands attr-dict `:` type($vdata)
Interfaces: AliasAnalysisOpInterface
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
alias_scopes | ::mlir::ArrayAttr | LLVM dialect alias scope array |
noalias_scopes | ::mlir::ArrayAttr | LLVM dialect alias scope array |
tbaa | ::mlir::ArrayAttr | LLVM dialect TBAA tag metadata array |
Operands: ¶
Operand | Description |
---|---|
vdata | LLVM dialect-compatible type |
rsrc | LLVM pointer in address space 8 |
offset | 32-bit signless integer |
soffset | 32-bit signless integer |
aux | 32-bit signless integer |
rocdl.raw.ptr.buffer.atomic.smax
(ROCDL::RawPtrBufferAtomicSmaxOp) ¶
Syntax:
operation ::= `rocdl.raw.ptr.buffer.atomic.smax` operands attr-dict `:` type($vdata)
Interfaces: AliasAnalysisOpInterface
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
alias_scopes | ::mlir::ArrayAttr | LLVM dialect alias scope array |
noalias_scopes | ::mlir::ArrayAttr | LLVM dialect alias scope array |
tbaa | ::mlir::ArrayAttr | LLVM dialect TBAA tag metadata array |
Operands: ¶
Operand | Description |
---|---|
vdata | LLVM dialect-compatible type |
rsrc | LLVM pointer in address space 8 |
offset | 32-bit signless integer |
soffset | 32-bit signless integer |
aux | 32-bit signless integer |
rocdl.raw.ptr.buffer.atomic.umin
(ROCDL::RawPtrBufferAtomicUminOp) ¶
Syntax:
operation ::= `rocdl.raw.ptr.buffer.atomic.umin` operands attr-dict `:` type($vdata)
Interfaces: AliasAnalysisOpInterface
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
alias_scopes | ::mlir::ArrayAttr | LLVM dialect alias scope array |
noalias_scopes | ::mlir::ArrayAttr | LLVM dialect alias scope array |
tbaa | ::mlir::ArrayAttr | LLVM dialect TBAA tag metadata array |
Operands: ¶
Operand | Description |
---|---|
vdata | LLVM dialect-compatible type |
rsrc | LLVM pointer in address space 8 |
offset | 32-bit signless integer |
soffset | 32-bit signless integer |
aux | 32-bit signless integer |
rocdl.raw.ptr.buffer.load
(ROCDL::RawPtrBufferLoadOp) ¶
Syntax:
operation ::= `rocdl.raw.ptr.buffer.load` operands attr-dict `:` type($res)
Interfaces: AliasAnalysisOpInterface
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
alias_scopes | ::mlir::ArrayAttr | LLVM dialect alias scope array |
noalias_scopes | ::mlir::ArrayAttr | LLVM dialect alias scope array |
tbaa | ::mlir::ArrayAttr | LLVM dialect TBAA tag metadata array |
Operands: ¶
Operand | Description |
---|---|
rsrc | LLVM pointer in address space 8 |
offset | 32-bit signless integer |
soffset | 32-bit signless integer |
aux | 32-bit signless integer |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.raw.ptr.buffer.store
(ROCDL::RawPtrBufferStoreOp) ¶
Syntax:
operation ::= `rocdl.raw.ptr.buffer.store` operands attr-dict `:` type($vdata)
Interfaces: AliasAnalysisOpInterface
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
alias_scopes | ::mlir::ArrayAttr | LLVM dialect alias scope array |
noalias_scopes | ::mlir::ArrayAttr | LLVM dialect alias scope array |
tbaa | ::mlir::ArrayAttr | LLVM dialect TBAA tag metadata array |
Operands: ¶
Operand | Description |
---|---|
vdata | LLVM dialect-compatible type |
rsrc | LLVM pointer in address space 8 |
offset | 32-bit signless integer |
soffset | 32-bit signless integer |
aux | 32-bit signless integer |
rocdl.readlane
(ROCDL::ReadlaneOp) ¶
Get the value in the specific lane.
Syntax:
operation ::= `rocdl.readlane` $src0 `,` $src1 attr-dict `:` `(` type($src0) `,` type($src1) `)` `->` type($res)
Get the value in lane src1
from input src0
.
Operands: ¶
Operand | Description |
---|---|
src0 | LLVM dialect-compatible type |
src1 | 32-bit signless integer |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.s.barrier
(ROCDL::SBarrierOp) ¶
Syntax:
operation ::= `rocdl.s.barrier` attr-dict
rocdl.s.barrier.signal
(ROCDL::BarrierSignalOp) ¶
Syntax:
operation ::= `rocdl.s.barrier.signal` $id attr-dict
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
id | ::mlir::IntegerAttr | 32-bit signless integer attribute |
rocdl.s.barrier.wait
(ROCDL::BarrierWaitOp) ¶
Syntax:
operation ::= `rocdl.s.barrier.wait` $id attr-dict
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
id | ::mlir::IntegerAttr | 16-bit signless integer attribute |
rocdl.s.setprio
(ROCDL::SetPrioOp) ¶
Syntax:
operation ::= `rocdl.s.setprio` $priority attr-dict
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
priority | ::mlir::IntegerAttr | 16-bit signless integer attribute |
rocdl.s.wait.dscnt
(ROCDL::WaitDscntOp) ¶
Syntax:
operation ::= `rocdl.s.wait.dscnt` $id attr-dict
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
id | ::mlir::IntegerAttr | 16-bit signless integer attribute |
rocdl.sched.barrier
(ROCDL::SchedBarrier) ¶
Syntax:
operation ::= `rocdl.sched.barrier` $mask attr-dict
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
mask | ::mlir::IntegerAttr | 32-bit signless integer attribute |
rocdl.sched.group.barrier
(ROCDL::SchedGroupBarrier) ¶
Syntax:
operation ::= `rocdl.sched.group.barrier` $mask `,` $size `,` $groupId attr-dict
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
mask | ::mlir::IntegerAttr | 32-bit signless integer attribute |
size | ::mlir::IntegerAttr | 32-bit signless integer attribute |
groupId | ::mlir::IntegerAttr | 32-bit signless integer attribute |
rocdl.update.dpp
(ROCDL::DPPUpdateOp) ¶
Syntax:
operation ::= `rocdl.update.dpp` attr-dict $old `,` $src `with` $dppCtrl `,` $rowMask `,` $bankMask `,` $boundCtrl `:` type($src)
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
dppCtrl | ::mlir::IntegerAttr | 32-bit signless integer attribute |
rowMask | ::mlir::IntegerAttr | 32-bit signless integer attribute |
bankMask | ::mlir::IntegerAttr | 32-bit signless integer attribute |
boundCtrl | ::mlir::IntegerAttr | 1-bit signless integer attribute |
Operands: ¶
Operand | Description |
---|---|
old | LLVM dialect-compatible type |
src | LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.waitcnt
(ROCDL::WaitcntOp) ¶
Syntax:
operation ::= `rocdl.waitcnt` attr-dict $bitfield
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
bitfield | ::mlir::IntegerAttr | 32-bit signless integer attribute |
rocdl.wmma.bf16.16x16x16.bf16
(ROCDL::wmma_bf16_16x16x16_bf16) ¶
Syntax:
operation ::= `rocdl.wmma.bf16.16x16x16.bf16` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.wmma.f16.16x16x16.f16
(ROCDL::wmma_f16_16x16x16_f16) ¶
Syntax:
operation ::= `rocdl.wmma.f16.16x16x16.f16` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.wmma.f32.16x16x16.bf16
(ROCDL::wmma_f32_16x16x16_bf16) ¶
Syntax:
operation ::= `rocdl.wmma.f32.16x16x16.bf16` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.wmma.f32.16x16x16.bf8_bf8
(ROCDL::wmma_f32_16x16x16_bf8) ¶
Syntax:
operation ::= `rocdl.wmma.f32.16x16x16.bf8_bf8` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.wmma.f32.16x16x16.f16
(ROCDL::wmma_f32_16x16x16_f16) ¶
Syntax:
operation ::= `rocdl.wmma.f32.16x16x16.f16` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.wmma.f32.16x16x16.fp8_fp8
(ROCDL::wmma_f32_16x16x16_fp8) ¶
Syntax:
operation ::= `rocdl.wmma.f32.16x16x16.fp8_fp8` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.wmma.i32.16x16x16.iu4
(ROCDL::wmma_i32_16x16x16_iu4) ¶
Syntax:
operation ::= `rocdl.wmma.i32.16x16x16.iu4` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.wmma.i32.16x16x16.iu8
(ROCDL::wmma_i32_16x16x16_iu8) ¶
Syntax:
operation ::= `rocdl.wmma.i32.16x16x16.iu8` $args attr-dict `:` functional-type($args, $res)
Operands: ¶
Operand | Description |
---|---|
args | variadic of LLVM dialect-compatible type |
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.workgroup.dim.x
(ROCDL::BlockDimXOp) ¶
Syntax:
operation ::= `rocdl.workgroup.dim.x` (`range` $range^)? attr-dict `:` type($res)
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
range | ::mlir::LLVM::ConstantRangeAttr | A range of two integers, corresponding to LLVM's ConstantRange
|
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.workgroup.dim.y
(ROCDL::BlockDimYOp) ¶
Syntax:
operation ::= `rocdl.workgroup.dim.y` (`range` $range^)? attr-dict `:` type($res)
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
range | ::mlir::LLVM::ConstantRangeAttr | A range of two integers, corresponding to LLVM's ConstantRange
|
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.workgroup.dim.z
(ROCDL::BlockDimZOp) ¶
Syntax:
operation ::= `rocdl.workgroup.dim.z` (`range` $range^)? attr-dict `:` type($res)
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
range | ::mlir::LLVM::ConstantRangeAttr | A range of two integers, corresponding to LLVM's ConstantRange
|
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.workgroup.id.x
(ROCDL::BlockIdXOp) ¶
Syntax:
operation ::= `rocdl.workgroup.id.x` (`range` $range^)? attr-dict `:` type($res)
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
range | ::mlir::LLVM::ConstantRangeAttr | A range of two integers, corresponding to LLVM's ConstantRange
|
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.workgroup.id.y
(ROCDL::BlockIdYOp) ¶
Syntax:
operation ::= `rocdl.workgroup.id.y` (`range` $range^)? attr-dict `:` type($res)
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
range | ::mlir::LLVM::ConstantRangeAttr | A range of two integers, corresponding to LLVM's ConstantRange
|
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.workgroup.id.z
(ROCDL::BlockIdZOp) ¶
Syntax:
operation ::= `rocdl.workgroup.id.z` (`range` $range^)? attr-dict `:` type($res)
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
range | ::mlir::LLVM::ConstantRangeAttr | A range of two integers, corresponding to LLVM's ConstantRange
|
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.workitem.id.x
(ROCDL::ThreadIdXOp) ¶
Syntax:
operation ::= `rocdl.workitem.id.x` (`range` $range^)? attr-dict `:` type($res)
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
range | ::mlir::LLVM::ConstantRangeAttr | A range of two integers, corresponding to LLVM's ConstantRange
|
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.workitem.id.y
(ROCDL::ThreadIdYOp) ¶
Syntax:
operation ::= `rocdl.workitem.id.y` (`range` $range^)? attr-dict `:` type($res)
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
range | ::mlir::LLVM::ConstantRangeAttr | A range of two integers, corresponding to LLVM's ConstantRange
|
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
rocdl.workitem.id.z
(ROCDL::ThreadIdZOp) ¶
Syntax:
operation ::= `rocdl.workitem.id.z` (`range` $range^)? attr-dict `:` type($res)
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable
, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes: ¶
Attribute | MLIR Type | Description |
---|---|---|
range | ::mlir::LLVM::ConstantRangeAttr | A range of two integers, corresponding to LLVM's ConstantRange
|
Results: ¶
Result | Description |
---|---|
res | LLVM dialect-compatible type |
Attributes ¶
ROCDLTargetAttr ¶
Syntax:
#rocdl.target<
int, # O
::llvm::StringRef, # triple
::llvm::StringRef, # chip
::llvm::StringRef, # features
::llvm::StringRef, # abi
DictionaryAttr, # flags
ArrayAttr # link
>
ROCDL target attribute for controlling compilation of AMDGPU targets. All parameters decay into default values if not present.
Examples:
- Target with default values.
gpu.module @mymodule [#rocdl.target] attributes {...} {
...
}
- Target with
gfx90a
chip and fast math.
gpu.module @mymodule [#rocdl.target<chip = "gfx90a", flags = {fast, no_wave64}>] {
...
}
Parameters: ¶
Parameter | C++ type | Description |
---|---|---|
O | int | Optimization level to apply. |
triple | ::llvm::StringRef | Target triple. |
chip | ::llvm::StringRef | Target chip. |
features | ::llvm::StringRef | Target chip features. |
abi | ::llvm::StringRef | ABI version. |
flags | DictionaryAttr | Target specific flags. |
link | ArrayAttr | Files to link to the LLVM module. |