MLIR 24.0.0git
mlir::gpu::GPUToROCDLPipelineOptions Struct Reference

Options for the gpu to rocdl pipeline. More...

#include "mlir/Dialect/GPU/Pipelines/Passes.h"

Inheritance diagram for mlir::gpu::GPUToROCDLPipelineOptions:

Public Attributes

PassOptions::Option< int64_t > indexBitWidth
PassOptions::Option< std::string > arch
PassOptions::Option< std::string > chip
PassOptions::Option< std::string > binaryFormat
PassOptions::Option< std::string > abiVersion
PassOptions::Option< unsigned > waveSize
PassOptions::Option< int > optLevel
PassOptions::Option< std::string > cmdOptions
PassOptions::Option< bool > kernelUseBarePtrCallConv
PassOptions::Option< bool > hostUseBarePtrCallConv

Detailed Description

Options for the gpu to rocdl pipeline.

Definition at line 68 of file Passes.h.

Member Data Documentation

◆ abiVersion

PassOptions::Option<std::string> mlir::gpu::GPUToROCDLPipelineOptions::abiVersion
Initial value:
{
*this, "abi",
llvm::cl::desc("AMDHSA ABI version (e.g. \"500\", \"600\")."),
llvm::cl::init("600")}

Definition at line 91 of file Passes.h.

◆ arch

PassOptions::Option<std::string> mlir::gpu::GPUToROCDLPipelineOptions::arch
Initial value:
{
*this, "arch",
llvm::cl::desc(
"AMDGPU target architecture, as in Clang, with optional target-ID "
"modifiers (e.g. gfx942, gfx90a:xnack+, amdgpu9.42-amd-amdhsa, "
"amdgpu9.0a-amd-amdhsa--gfx90a:xnack-). Supersedes the separate "
"triple option this pipeline used to take. Required: AMDGCN "
"binaries are not forward-compatible across chip families.")}

Definition at line 75 of file Passes.h.

◆ binaryFormat

PassOptions::Option<std::string> mlir::gpu::GPUToROCDLPipelineOptions::binaryFormat
Initial value:
{
*this, "binary-format",
llvm::cl::desc("Final GPU binary emission format (e.g. fatbin, binary, "
"isa, llvm, offloading)."),
llvm::cl::init("fatbin")}

Definition at line 86 of file Passes.h.

◆ chip

PassOptions::Option<std::string> mlir::gpu::GPUToROCDLPipelineOptions::chip
Initial value:
{
*this, "chip", llvm::cl::desc("Deprecated alias for 'arch'."),
llvm::cl::init("")}

Definition at line 83 of file Passes.h.

◆ cmdOptions

PassOptions::Option<std::string> mlir::gpu::GPUToROCDLPipelineOptions::cmdOptions
Initial value:
{
*this, "rocdl-cmd-options",
llvm::cl::desc(
"Command line options to pass to the downstream AMDGPU compiler."),
llvm::cl::init("")}

Definition at line 104 of file Passes.h.

◆ hostUseBarePtrCallConv

PassOptions::Option<bool> mlir::gpu::GPUToROCDLPipelineOptions::hostUseBarePtrCallConv
Initial value:
{
*this, "host-bare-ptr-calling-convention",
llvm::cl::desc("Use bareptr calling convention for the host."),
llvm::cl::init(false)}

Definition at line 113 of file Passes.h.

◆ indexBitWidth

PassOptions::Option<int64_t> mlir::gpu::GPUToROCDLPipelineOptions::indexBitWidth
Initial value:
{
*this, "index-bitwidth",
llvm::cl::desc("Bitwidth of the index type for the host (warning this "
"should be 64 until the GPU layering is fixed)"),
llvm::cl::init(64)}

Definition at line 70 of file Passes.h.

◆ kernelUseBarePtrCallConv

PassOptions::Option<bool> mlir::gpu::GPUToROCDLPipelineOptions::kernelUseBarePtrCallConv
Initial value:
{
*this, "kernel-bare-ptr-calling-convention",
llvm::cl::desc("Use bareptr calling convention for device kernels."),
llvm::cl::init(false)}

Definition at line 109 of file Passes.h.

◆ optLevel

PassOptions::Option<int> mlir::gpu::GPUToROCDLPipelineOptions::optLevel
Initial value:
{
*this, "opt-level",
llvm::cl::desc("Optimization level for ROCDL/AMDGPU compilation."),
llvm::cl::init(2)}

Definition at line 100 of file Passes.h.

◆ waveSize

PassOptions::Option<unsigned> mlir::gpu::GPUToROCDLPipelineOptions::waveSize
Initial value:
{
*this, "wavesize",
llvm::cl::desc("Wavefront size (32 or 64) for targets that run at "
"either, or 0 to use the architecture's default."),
llvm::cl::init(0)}

Definition at line 95 of file Passes.h.


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