|
MLIR
22.0.0git
|
Classes | |
| class | SerializeGPUModuleBase |
| Base class for all ROCDL serializations from GPU modules into binary strings. More... | |
Enumerations | |
| enum class | AMDGCNLibraries : uint32_t { None = 0 , Ockl = 1 , Ocml = 2 , OpenCL = 4 , Hip = 8 , LastLib = Hip , LLVM_MARK_AS_BITMASK_ENUM =(LastLib) , All = (LastLib << 1) - 1 } |
| Helper enum for specifying the AMD GCN device libraries required for compilation. More... | |
Functions | |
| void | registerROCDLTargetInterfaceExternalModels (DialectRegistry ®istry) |
Registers the TargetAttrInterface for the #rocdl.target attribute in the given registry. More... | |
| void | registerROCDLTargetInterfaceExternalModels (MLIRContext &context) |
Registers the TargetAttrInterface for the #rocdl.target attribute in the registry associated with the given context. More... | |
| StringRef | getROCMPath () |
| Searches & returns the path ROCM toolkit path, the search order is: More... | |
| std::optional< DenseMap< StringAttr, NamedAttrList > > | getAMDHSAKernelsELFMetadata (Builder &builder, ArrayRef< char > elfData) |
Returns a map containing the amdhsa.kernels ELF metadata for each of the kernels in the binary, or std::nullopt if the metadata couldn't be retrieved. More... | |
| gpu::KernelTableAttr | getKernelMetadata (Operation *gpuModule, ArrayRef< char > elfData={}) |
Returns a #gpu.kernel_table containing kernel metadata for each of the kernels in gpuModule. More... | |
|
strong |
| std::optional< DenseMap< StringAttr, NamedAttrList > > mlir::ROCDL::getAMDHSAKernelsELFMetadata | ( | Builder & | builder, |
| ArrayRef< char > | elfData | ||
| ) |
Returns a map containing the amdhsa.kernels ELF metadata for each of the kernels in the binary, or std::nullopt if the metadata couldn't be retrieved.
The map associates the name of the kernel with the list of named attributes found in amdhsa.kernels. For more information on the ELF metadata see: https://llvm.org/docs/AMDGPUUsage.html#amdhsa
Definition at line 23 of file Utils.cpp.
References mlir::NamedAttrList::append(), mlir::Builder::getDenseI32ArrayAttr(), mlir::Builder::getI64IntegerAttr(), and mlir::Builder::getStringAttr().
Referenced by getKernelMetadata().
| gpu::KernelTableAttr mlir::ROCDL::getKernelMetadata | ( | Operation * | gpuModule, |
| ArrayRef< char > | elfData = {} |
||
| ) |
Returns a #gpu.kernel_table containing kernel metadata for each of the kernels in gpuModule.
If elfData is valid, then the amdhsa.kernels ELF metadata will be added to the #gpu.kernel_table.
Definition at line 70 of file Utils.cpp.
References mlir::get(), getAMDHSAKernelsELFMetadata(), mlir::Operation::getContext(), and mlir::Builder::getDictionaryAttr().
| StringRef mlir::ROCDL::getROCMPath | ( | ) |
Searches & returns the path ROCM toolkit path, the search order is:
ROCM_PATH environment variable.ROCM_ROOT environment variable.ROCM_HOME environment variable.Definition at line 84 of file Target.cpp.
References __DEFAULT_ROCM_PATH__.
Referenced by mlir::ROCDL::SerializeGPUModuleBase::SerializeGPUModuleBase().
| void mlir::ROCDL::registerROCDLTargetInterfaceExternalModels | ( | DialectRegistry & | registry | ) |
Registers the TargetAttrInterface for the #rocdl.target attribute in the given registry.
Definition at line 69 of file Target.cpp.
References mlir::DialectRegistry::addExtension().
Referenced by mlir::registerAllDialects(), and registerROCDLTargetInterfaceExternalModels().
| void mlir::ROCDL::registerROCDLTargetInterfaceExternalModels | ( | MLIRContext & | context | ) |
Registers the TargetAttrInterface for the #rocdl.target attribute in the registry associated with the given context.
Definition at line 76 of file Target.cpp.
References mlir::MLIRContext::appendDialectRegistry(), and registerROCDLTargetInterfaceExternalModels().