MLIR
18.0.0git
|
Namespaces | |
amd | |
Classes | |
class | OffloadingTranslationAttrTrait |
This class indicates that the attribute associated with this trait is a GPU offloading translation attribute. More... | |
class | TargetOptions |
This class serves as an opaque interface for passing options to the TargetAttrInterface methods. More... | |
struct | KernelDim3 |
Utility class for the GPU dialect to represent triples of Value s accessible through .x , .y , and .z similarly to CUDA notation. More... | |
class | AsyncTokenType |
struct | MMAMatrixStorageType |
MMAMatrixType storage and uniquing. More... | |
class | MMAMatrixType |
MMAMatrix represents a matrix held by a subgroup for matrix-matrix multiply accumulate operations. More... | |
class | SparseDnTensorHandleType |
class | SparseSpMatHandleType |
class | SparseSpGEMMOpHandleType |
class | SerializeToBlobPass |
Base pass class to serialize kernel functions through LLVM into user-specified IR and add the resulting blob as module attribute. More... | |
Enumerations | |
enum class | SparseHandleKind { SpMat , DnTensor , SpGEMMOp } |
Functions | |
void | addAsyncDependency (Operation *op, Value token) |
void | registerTransformDialectExtension (DialectRegistry ®istry) |
void | registerBufferDeallocationOpInterfaceExternalModels (DialectRegistry ®istry) |
StringRef | getMappingAttrName () |
Name of the mapping attribute produced by loop mappers. More... | |
LogicalResult | setMappingAttr (scf::ParallelOp ploopOp, ArrayRef< ParallelLoopDimMappingAttr > mapping) |
Sets the mapping attribute of a scf.parallel operation. More... | |
LogicalResult | transformGpuModulesToBinaries (Operation *op, OffloadingLLVMTranslationAttrInterface handler=nullptr, const gpu::TargetOptions &options={}) |
Searches for all GPU modules in op and transforms them into GPU binary operations. More... | |
std::string | getDefaultGpuBinaryAnnotation () |
Returns the default annotation name for GPU binary blobs. More... | |
void | registerOffloadingLLVMTranslationInterfaceExternalModels (mlir::DialectRegistry ®istry) |
Registers the offloading LLVM translation interfaces for gpu.select_object . More... | |
static MappingLevel & | operator++ (MappingLevel &mappingLevel) |
Bounded increment on MappingLevel. More... | |
static Processor | getHardwareIdForMapping (MappingLevel level, int dimension) |
Computed the hardware id to use for a given mapping level. More... | |
static void | mapParallelOp (ParallelOp parallelOp, MappingLevel mappingLevel=MapGrid) |
Add mapping information to the given parallel loop. More... | |
Variables | |
static constexpr int | kNumHardwareIds = 3 |
|
strong |
Enumerator | |
---|---|
SpMat | |
DnTensor | |
SpGEMMOp |
Definition at line 173 of file GPUDialect.h.
Definition at line 612 of file GPUDialect.cpp.
std::string mlir::gpu::getDefaultGpuBinaryAnnotation | ( | ) |
Returns the default annotation name for GPU binary blobs.
Definition at line 35 of file SerializeToBlob.cpp.
|
static |
Computed the hardware id to use for a given mapping level.
Will assign x,y and z hardware ids for the first 3 dimensions and use sequential after. TODO: Make this use x for the inner-most loop that is distributed to map to x, the next innermost to y and the next innermost to z.
Definition at line 73 of file ParallelLoopMapper.cpp.
References kNumHardwareIds.
Referenced by mapParallelOp().
StringRef mlir::gpu::getMappingAttrName | ( | ) |
Name of the mapping attribute produced by loop mappers.
Definition at line 31 of file ParallelLoopMapper.cpp.
Referenced by mlir::configureParallelLoopToGPULegality(), mapParallelOp(), and processParallelLoop().
|
static |
Add mapping information to the given parallel loop.
Do not add mapping information if the loop already has it. Also, don't start a mapping at a nested loop.
Definition at line 109 of file ParallelLoopMapper.cpp.
References mlir::Builder::getAttr(), mlir::Builder::getDimIdentityMap(), getHardwareIdForMapping(), getMappingAttrName(), and setMappingAttr().
|
static |
Bounded increment on MappingLevel.
Increments to the next level unless Sequential was already reached.
Definition at line 60 of file ParallelLoopMapper.cpp.
void mlir::gpu::registerBufferDeallocationOpInterfaceExternalModels | ( | DialectRegistry & | registry | ) |
Definition at line 32 of file BufferDeallocationOpInterfaceImpl.cpp.
References mlir::DialectRegistry::addExtension().
Referenced by mlir::registerAllDialects().
void mlir::gpu::registerOffloadingLLVMTranslationInterfaceExternalModels | ( | mlir::DialectRegistry & | registry | ) |
Registers the offloading LLVM translation interfaces for gpu.select_object
.
Definition at line 57 of file SelectObjectAttr.cpp.
References mlir::DialectRegistry::addExtension().
Referenced by mlir::registerAllGPUToLLVMIRTranslations(), and mlir::registerAllToLLVMIRTranslations().
void mlir::gpu::registerTransformDialectExtension | ( | DialectRegistry & | registry | ) |
Definition at line 951 of file GPUTransformOps.cpp.
References mlir::DialectRegistry::addExtensions().
Referenced by mlir::registerAllExtensions().
LogicalResult mlir::gpu::setMappingAttr | ( | scf::ParallelOp | ploopOp, |
ArrayRef< ParallelLoopDimMappingAttr > | mapping | ||
) |
Sets the mapping attribute of a scf.parallel operation.
Verifies that the mapping passed is valid.
ploopOp
.Referenced by mapParallelOp().
LogicalResult mlir::gpu::transformGpuModulesToBinaries | ( | Operation * | op, |
OffloadingLLVMTranslationAttrInterface | handler = nullptr , |
||
const gpu::TargetOptions & | options = {} |
||
) |
Searches for all GPU modules in op
and transforms them into GPU binary operations.
The resulting gpu.binary
has handler
as its offloading handler attribute.
Definition at line 132 of file ModuleToBinary.cpp.
|
staticconstexpr |
Definition at line 56 of file ParallelLoopMapper.cpp.
Referenced by getHardwareIdForMapping().