From 5bfca6918379b4d4a3d564e8ad920d53df805dfe Mon Sep 17 00:00:00 2001 From: "Doxygen Bot (GitHub Action)" Date: Thu, 19 Sep 2024 13:53:30 +0000 Subject: [PATCH] Push docs and doxygen updates into gh-pages branch --- Dialects/krnl.md | 46 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/Dialects/krnl.md b/Dialects/krnl.md index c5c76450bd..80ad6224a9 100644 --- a/Dialects/krnl.md +++ b/Dialects/krnl.md @@ -929,6 +929,35 @@ Typically it is used for optional arguments used in KrnlCallop. | :----: | ----------- | | `none_val` | none type +### `krnl.parallel_clause` (KrnlParallelClauseOp) + +_Attach OpenMP clauses to an index varialbe_ + + +Syntax: + +``` +operation ::= `krnl.parallel_clause` `(` $parallel_loop_index `)` (`,` `num_threads` `(` $num_threads^ `)`)? + attr-dict `:` type($parallel_loop_index) +``` + +Attach OpenMP clauses to an index variable. That index variable +is used to uniquely associate a parallel loop with its clauses. + +#### Attributes: + + + + +
AttributeMLIR TypeDescription
proc_bind::mlir::StringAttrstring attribute
+ +#### Operands: + +| Operand | Description | +| :-----: | ----------- | +| `parallel_loop_index` | index +| `num_threads` | 32-bit signless integer + ### `krnl.parallel` (KrnlParallelOp) _Mark Krnl loops as parallel loops_ @@ -937,7 +966,7 @@ _Mark Krnl loops as parallel loops_ Syntax: ``` -operation ::= `krnl.parallel` `(` $loops `)` attr-dict `:` type($loops) +operation ::= `krnl.parallel` `(` $loops `)` (`,` `num_threads` `(` $num_threads^ `)`)? attr-dict `:` type($loops) ``` Parallelize the specified loops. When multiple loop specifiers are passed @@ -945,15 +974,30 @@ as parameters, there loops can be parallelized as a collapsed loop. krnl.parallel should be placed as the last operator before krnl.iterate, Since we do not want to parallelize the loop until we interpret krnl.block, krnl.permute and krnl.unroll. + +Optionally, a value may specifiy the number of threads requested for the +parallel loop. A proc_bind string may also be specified; valid values are +"primary", "close", or "spread". Default values are used when not specified. + ``` krnl.parallel (%i0, %i1) : !Krnl.loop, !Krnl.loop ``` +Traits: `AttrSizedOperandSegments` + +#### Attributes: + + + + +
AttributeMLIR TypeDescription
proc_bind::mlir::StringAttrstring attribute
+ #### Operands: | Operand | Description | | :-----: | ----------- | | `loops` | variadic of any type +| `num_threads` | 32-bit signless integer ### `krnl.permute` (KrnlPermuteOp)