MLIR
19.0.0git
|
Options to use to control tiling. More...
#include "mlir/Dialect/SCF/Transforms/TileUsingInterface.h"
Public Types | |
enum class | LoopType { ForOp , ForallOp } |
Specify which loop construct to use for tile and fuse. More... | |
Public Member Functions | |
SCFTilingOptions & | setTileSizeComputationFunction (SCFTileSizeComputationFunction fun) |
SCFTilingOptions & | setTileSizes (ArrayRef< OpFoldResult > ts) |
Convenience function to set the tileSizeComputationFunction to a function that computes tile sizes at the point they are needed. More... | |
SCFTilingOptions & | setInterchange (ArrayRef< int64_t > interchange) |
SCFTilingOptions & | setLoopType (LoopType type) |
SCFTilingOptions & | setMapping (ArrayRef< DeviceMappingAttrInterface > mapping) |
Public Attributes | |
SCFTileSizeComputationFunction | tileSizeComputationFunction = nullptr |
Computation function that returns the tile sizes for each operation. More... | |
SmallVector< int64_t > | interchangeVector = {} |
The interchange vector to reorder the tiled loops. More... | |
LoopType | loopType = LoopType::ForOp |
SmallVector< Attribute > | mappingVector = {} |
Specify mapping of loops to devices. More... | |
Options to use to control tiling.
Definition at line 33 of file TileUsingInterface.h.
|
strong |
Specify which loop construct to use for tile and fuse.
Enumerator | |
---|---|
ForOp | |
ForallOp |
Definition at line 57 of file TileUsingInterface.h.
|
inline |
Definition at line 51 of file TileUsingInterface.h.
References interchangeVector.
|
inline |
Definition at line 59 of file TileUsingInterface.h.
References loopType.
|
inline |
Definition at line 69 of file TileUsingInterface.h.
References mappingVector.
|
inline |
Definition at line 40 of file TileUsingInterface.h.
References tileSizeComputationFunction.
scf::SCFTilingOptions & scf::SCFTilingOptions::setTileSizes | ( | ArrayRef< OpFoldResult > | ts | ) |
Convenience function to set the tileSizeComputationFunction
to a function that computes tile sizes at the point they are needed.
Allows proper interaction with folding.
Definition at line 35 of file TileUsingInterface.cpp.
References tileSizeComputationFunction.
SmallVector<int64_t> mlir::scf::SCFTilingOptions::interchangeVector = {} |
The interchange vector to reorder the tiled loops.
Definition at line 50 of file TileUsingInterface.h.
Referenced by setInterchange().
LoopType mlir::scf::SCFTilingOptions::loopType = LoopType::ForOp |
Definition at line 58 of file TileUsingInterface.h.
Referenced by setLoopType().
SmallVector<Attribute> mlir::scf::SCFTilingOptions::mappingVector = {} |
Specify mapping of loops to devices.
This is only respected when the loop constructs support such a mapping (like scf.forall
). Will be ignored when using loop constructs that dont support such a mapping (like scf.for
)
Definition at line 68 of file TileUsingInterface.h.
Referenced by setMapping().
SCFTileSizeComputationFunction mlir::scf::SCFTilingOptions::tileSizeComputationFunction = nullptr |
Computation function that returns the tile sizes for each operation.
Delayed construction of constant tile sizes should occur to interoperate with folding.
Definition at line 37 of file TileUsingInterface.h.
Referenced by setTileSizeComputationFunction(), and setTileSizes().