MLIR  19.0.0git
Public Types | Public Member Functions | Public Attributes | List of all members
mlir::scf::SCFTilingOptions Struct Reference

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

SCFTilingOptionssetTileSizeComputationFunction (SCFTileSizeComputationFunction fun)
 
SCFTilingOptionssetTileSizes (ArrayRef< OpFoldResult > ts)
 Convenience function to set the tileSizeComputationFunction to a function that computes tile sizes at the point they are needed. More...
 
SCFTilingOptionssetInterchange (ArrayRef< int64_t > interchange)
 
SCFTilingOptionssetLoopType (LoopType type)
 
SCFTilingOptionssetMapping (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< AttributemappingVector = {}
 Specify mapping of loops to devices. More...
 

Detailed Description

Options to use to control tiling.

Definition at line 33 of file TileUsingInterface.h.

Member Enumeration Documentation

◆ LoopType

Specify which loop construct to use for tile and fuse.

Enumerator
ForOp 
ForallOp 

Definition at line 57 of file TileUsingInterface.h.

Member Function Documentation

◆ setInterchange()

SCFTilingOptions& mlir::scf::SCFTilingOptions::setInterchange ( ArrayRef< int64_t >  interchange)
inline

Definition at line 51 of file TileUsingInterface.h.

References interchangeVector.

◆ setLoopType()

SCFTilingOptions& mlir::scf::SCFTilingOptions::setLoopType ( LoopType  type)
inline

Definition at line 59 of file TileUsingInterface.h.

References loopType.

◆ setMapping()

SCFTilingOptions& mlir::scf::SCFTilingOptions::setMapping ( ArrayRef< DeviceMappingAttrInterface >  mapping)
inline

Definition at line 69 of file TileUsingInterface.h.

References mappingVector.

◆ setTileSizeComputationFunction()

SCFTilingOptions& mlir::scf::SCFTilingOptions::setTileSizeComputationFunction ( SCFTileSizeComputationFunction  fun)
inline

Definition at line 40 of file TileUsingInterface.h.

References tileSizeComputationFunction.

◆ setTileSizes()

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.

Member Data Documentation

◆ interchangeVector

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

LoopType mlir::scf::SCFTilingOptions::loopType = LoopType::ForOp

Definition at line 58 of file TileUsingInterface.h.

Referenced by setLoopType().

◆ mappingVector

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().

◆ tileSizeComputationFunction

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().


The documentation for this struct was generated from the following files: