MLIR

Multi-Level IR Compiler Framework

'rocdl' Dialect

Operation definition 

rocdl.barrier (::mlir::ROCDL::BarrierOp) 

Syntax:

operation ::= `rocdl.barrier` attr-dict

rocdl.workgroup.dim.x (::mlir::ROCDL::BlockDimXOp) 

Syntax:

operation ::= `rocdl.workgroup.dim.x` attr-dict `:` type($res)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.workgroup.dim.y (::mlir::ROCDL::BlockDimYOp) 

Syntax:

operation ::= `rocdl.workgroup.dim.y` attr-dict `:` type($res)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.workgroup.dim.z (::mlir::ROCDL::BlockDimZOp) 

Syntax:

operation ::= `rocdl.workgroup.dim.z` attr-dict `:` type($res)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.workgroup.id.x (::mlir::ROCDL::BlockIdXOp) 

Syntax:

operation ::= `rocdl.workgroup.id.x` attr-dict `:` type($res)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.workgroup.id.y (::mlir::ROCDL::BlockIdYOp) 

Syntax:

operation ::= `rocdl.workgroup.id.y` attr-dict `:` type($res)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.workgroup.id.z (::mlir::ROCDL::BlockIdZOp) 

Syntax:

operation ::= `rocdl.workgroup.id.z` attr-dict `:` type($res)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.grid.dim.x (::mlir::ROCDL::GridDimXOp) 

Syntax:

operation ::= `rocdl.grid.dim.x` attr-dict `:` type($res)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.grid.dim.y (::mlir::ROCDL::GridDimYOp) 

Syntax:

operation ::= `rocdl.grid.dim.y` attr-dict `:` type($res)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.grid.dim.z (::mlir::ROCDL::GridDimZOp) 

Syntax:

operation ::= `rocdl.grid.dim.z` attr-dict `:` type($res)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.buffer.load (::mlir::ROCDL::MubufLoadOp) 

Operands: 

OperandDescription
rsrcLLVM dialect-compatible type
vindexLLVM dialect-compatible type
offsetLLVM dialect-compatible type
glcLLVM dialect-compatible type
slcLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.buffer.store (::mlir::ROCDL::MubufStoreOp) 

Operands: 

OperandDescription
vdataLLVM dialect-compatible type
rsrcLLVM dialect-compatible type
vindexLLVM dialect-compatible type
offsetLLVM dialect-compatible type
glcLLVM dialect-compatible type
slcLLVM dialect-compatible type

rocdl.raw.buffer.atomic.cmpswap (::mlir::ROCDL::RawBufferAtomicCmpSwap) 

Syntax:

operation ::= `rocdl.raw.buffer.atomic.cmpswap` attr-dict `(` operands `)` `:` type($res) `,` type($rsrc)

Operands: 

OperandDescription
srcLLVM dialect-compatible type
cmpLLVM dialect-compatible type
rsrcLLVM dialect-compatible type
offset32-bit signless integer
soffset32-bit signless integer
aux32-bit signless integer

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.raw.buffer.atomic.fadd (::mlir::ROCDL::RawBufferAtomicFAddOp) 

Operands: 

OperandDescription
vdataLLVM dialect-compatible type
rsrcLLVM dialect-compatible type
offsetLLVM dialect-compatible type
soffsetLLVM dialect-compatible type
auxLLVM dialect-compatible type

rocdl.raw.buffer.atomic.fmax (::mlir::ROCDL::RawBufferAtomicFMaxOp) 

Operands: 

OperandDescription
vdataLLVM dialect-compatible type
rsrcLLVM dialect-compatible type
offsetLLVM dialect-compatible type
soffsetLLVM dialect-compatible type
auxLLVM dialect-compatible type

rocdl.raw.buffer.atomic.smax (::mlir::ROCDL::RawBufferAtomicSMaxOp) 

Operands: 

OperandDescription
vdataLLVM dialect-compatible type
rsrcLLVM dialect-compatible type
offsetLLVM dialect-compatible type
soffsetLLVM dialect-compatible type
auxLLVM dialect-compatible type

rocdl.raw.buffer.atomic.umin (::mlir::ROCDL::RawBufferAtomicUMinOp) 

Operands: 

OperandDescription
vdataLLVM dialect-compatible type
rsrcLLVM dialect-compatible type
offsetLLVM dialect-compatible type
soffsetLLVM dialect-compatible type
auxLLVM dialect-compatible type

rocdl.raw.buffer.load (::mlir::ROCDL::RawBufferLoadOp) 

Operands: 

OperandDescription
rsrcLLVM dialect-compatible type
offsetLLVM dialect-compatible type
soffsetLLVM dialect-compatible type
auxLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.raw.buffer.store (::mlir::ROCDL::RawBufferStoreOp) 

Operands: 

OperandDescription
vdataLLVM dialect-compatible type
rsrcLLVM dialect-compatible type
offsetLLVM dialect-compatible type
soffsetLLVM dialect-compatible type
auxLLVM dialect-compatible type

rocdl.workitem.id.x (::mlir::ROCDL::ThreadIdXOp) 

Syntax:

operation ::= `rocdl.workitem.id.x` attr-dict `:` type($res)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.workitem.id.y (::mlir::ROCDL::ThreadIdYOp) 

Syntax:

operation ::= `rocdl.workitem.id.y` attr-dict `:` type($res)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.workitem.id.z (::mlir::ROCDL::ThreadIdZOp) 

Syntax:

operation ::= `rocdl.workitem.id.z` attr-dict `:` type($res)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.16x16x16bf16.1k (::mlir::ROCDL::mfma_f32_16x16x16bf16_1k) 

Syntax:

operation ::= `rocdl.mfma.f32.16x16x16bf16.1k` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.16x16x16f16 (::mlir::ROCDL::mfma_f32_16x16x16f16) 

Syntax:

operation ::= `rocdl.mfma.f32.16x16x16f16` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.16x16x1f32 (::mlir::ROCDL::mfma_f32_16x16x1f32) 

Syntax:

operation ::= `rocdl.mfma.f32.16x16x1f32` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.16x16x2bf16 (::mlir::ROCDL::mfma_f32_16x16x2bf16) 

Syntax:

operation ::= `rocdl.mfma.f32.16x16x2bf16` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.16x16x32.bf8.bf8 (::mlir::ROCDL::mfma_f32_16x16x32_bf8_bf8) 

Syntax:

operation ::= `rocdl.mfma.f32.16x16x32.bf8.bf8` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.16x16x32.bf8.fp8 (::mlir::ROCDL::mfma_f32_16x16x32_bf8_fp8) 

Syntax:

operation ::= `rocdl.mfma.f32.16x16x32.bf8.fp8` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.16x16x32.fp8.bf8 (::mlir::ROCDL::mfma_f32_16x16x32_fp8_bf8) 

Syntax:

operation ::= `rocdl.mfma.f32.16x16x32.fp8.bf8` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.16x16x32.fp8.fp8 (::mlir::ROCDL::mfma_f32_16x16x32_fp8_fp8) 

Syntax:

operation ::= `rocdl.mfma.f32.16x16x32.fp8.fp8` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.16x16x4bf16.1k (::mlir::ROCDL::mfma_f32_16x16x4bf16_1k) 

Syntax:

operation ::= `rocdl.mfma.f32.16x16x4bf16.1k` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.16x16x4f16 (::mlir::ROCDL::mfma_f32_16x16x4f16) 

Syntax:

operation ::= `rocdl.mfma.f32.16x16x4f16` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.16x16x4f32 (::mlir::ROCDL::mfma_f32_16x16x4f32) 

Syntax:

operation ::= `rocdl.mfma.f32.16x16x4f32` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.16x16x8.xf32 (::mlir::ROCDL::mfma_f32_16x16x8_xf32) 

Syntax:

operation ::= `rocdl.mfma.f32.16x16x8.xf32` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.16x16x8bf16 (::mlir::ROCDL::mfma_f32_16x16x8bf16) 

Syntax:

operation ::= `rocdl.mfma.f32.16x16x8bf16` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.32x32x16.bf8.bf8 (::mlir::ROCDL::mfma_f32_32x32x16_bf8_bf8) 

Syntax:

operation ::= `rocdl.mfma.f32.32x32x16.bf8.bf8` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.32x32x16.bf8.fp8 (::mlir::ROCDL::mfma_f32_32x32x16_bf8_fp8) 

Syntax:

operation ::= `rocdl.mfma.f32.32x32x16.bf8.fp8` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.32x32x16.fp8.bf8 (::mlir::ROCDL::mfma_f32_32x32x16_fp8_bf8) 

Syntax:

operation ::= `rocdl.mfma.f32.32x32x16.fp8.bf8` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.32x32x16.fp8.fp8 (::mlir::ROCDL::mfma_f32_32x32x16_fp8_fp8) 

Syntax:

operation ::= `rocdl.mfma.f32.32x32x16.fp8.fp8` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.32x32x1f32 (::mlir::ROCDL::mfma_f32_32x32x1f32) 

Syntax:

operation ::= `rocdl.mfma.f32.32x32x1f32` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.32x32x2bf16 (::mlir::ROCDL::mfma_f32_32x32x2bf16) 

Syntax:

operation ::= `rocdl.mfma.f32.32x32x2bf16` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.32x32x2f32 (::mlir::ROCDL::mfma_f32_32x32x2f32) 

Syntax:

operation ::= `rocdl.mfma.f32.32x32x2f32` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.32x32x4.xf32 (::mlir::ROCDL::mfma_f32_32x32x4_xf32) 

Syntax:

operation ::= `rocdl.mfma.f32.32x32x4.xf32` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.32x32x4bf16 (::mlir::ROCDL::mfma_f32_32x32x4bf16) 

Syntax:

operation ::= `rocdl.mfma.f32.32x32x4bf16` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.32x32x4bf16.1k (::mlir::ROCDL::mfma_f32_32x32x4bf16_1k) 

Syntax:

operation ::= `rocdl.mfma.f32.32x32x4bf16.1k` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.32x32x4f16 (::mlir::ROCDL::mfma_f32_32x32x4f16) 

Syntax:

operation ::= `rocdl.mfma.f32.32x32x4f16` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.32x32x8bf16.1k (::mlir::ROCDL::mfma_f32_32x32x8bf16_1k) 

Syntax:

operation ::= `rocdl.mfma.f32.32x32x8bf16.1k` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.32x32x8f16 (::mlir::ROCDL::mfma_f32_32x32x8f16) 

Syntax:

operation ::= `rocdl.mfma.f32.32x32x8f16` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.4x4x1f32 (::mlir::ROCDL::mfma_f32_4x4x1f32) 

Syntax:

operation ::= `rocdl.mfma.f32.4x4x1f32` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.4x4x2bf16 (::mlir::ROCDL::mfma_f32_4x4x2bf16) 

Syntax:

operation ::= `rocdl.mfma.f32.4x4x2bf16` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.4x4x4bf16.1k (::mlir::ROCDL::mfma_f32_4x4x4bf16_1k) 

Syntax:

operation ::= `rocdl.mfma.f32.4x4x4bf16.1k` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f32.4x4x4f16 (::mlir::ROCDL::mfma_f32_4x4x4f16) 

Syntax:

operation ::= `rocdl.mfma.f32.4x4x4f16` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f64.16x16x4f64 (::mlir::ROCDL::mfma_f64_16x16x4f64) 

Syntax:

operation ::= `rocdl.mfma.f64.16x16x4f64` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.f64.4x4x4f64 (::mlir::ROCDL::mfma_f64_4x4x4f64) 

Syntax:

operation ::= `rocdl.mfma.f64.4x4x4f64` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.i32.16x16x16i8 (::mlir::ROCDL::mfma_i32_16x16x16i8) 

Syntax:

operation ::= `rocdl.mfma.i32.16x16x16i8` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.i32.16x16x32.i8 (::mlir::ROCDL::mfma_i32_16x16x32_i8) 

Syntax:

operation ::= `rocdl.mfma.i32.16x16x32.i8` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.i32.16x16x4i8 (::mlir::ROCDL::mfma_i32_16x16x4i8) 

Syntax:

operation ::= `rocdl.mfma.i32.16x16x4i8` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.i32.32x32x16.i8 (::mlir::ROCDL::mfma_i32_32x32x16_i8) 

Syntax:

operation ::= `rocdl.mfma.i32.32x32x16.i8` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.i32.32x32x4i8 (::mlir::ROCDL::mfma_i32_32x32x4i8) 

Syntax:

operation ::= `rocdl.mfma.i32.32x32x4i8` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.i32.32x32x8i8 (::mlir::ROCDL::mfma_i32_32x32x8i8) 

Syntax:

operation ::= `rocdl.mfma.i32.32x32x8i8` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type

rocdl.mfma.i32.4x4x4i8 (::mlir::ROCDL::mfma_i32_4x4x4i8) 

Syntax:

operation ::= `rocdl.mfma.i32.4x4x4i8` $args attr-dict `:` functional-type($args, $res)

Operands: 

OperandDescription
argsLLVM dialect-compatible type

Results: 

ResultDescription
resLLVM dialect-compatible type