MLIR
20.0.0git
|
Options for the "sparsifier" pipeline. More...
#include "mlir/Dialect/SparseTensor/Pipelines/Passes.h"
Public Member Functions | |
SparsificationOptions | sparsificationOptions () const |
Projects out the options for createSparsificationPass . More... | |
ConvertVectorToLLVMPassOptions | convertVectorToLLVMOptions () const |
Projects out the options for createConvertVectorToLLVMPass . More... | |
Public Member Functions inherited from mlir::detail::PassOptions | |
PassOptions ()=default | |
PassOptions (const PassOptions &)=delete | |
Delete the copy constructor to avoid copying the internal options map. More... | |
PassOptions (PassOptions &&)=delete | |
void | copyOptionValuesFrom (const PassOptions &other) |
Copy the option values from 'other' into 'this', where 'other' has the same options as 'this'. More... | |
LogicalResult | parseFromString (StringRef options, raw_ostream &errorStream=llvm::errs()) |
Parse options out as key=value pairs that can then be handed off to the llvm::cl command line passing infrastructure. More... | |
void | print (raw_ostream &os) const |
Print the options held by this struct in a form that can be parsed via 'parseFromString'. More... | |
void | printHelp (size_t indent, size_t descIndent) const |
Print the help string for the options held by this struct. More... | |
size_t | getOptionWidth () const |
Return the maximum width required when printing the help string. More... | |
Additional Inherited Members | |
Public Types inherited from mlir::detail::PassOptions | |
template<typename DataType > | |
using | OptionParser = std::conditional_t< std::is_base_of_v< PassOptions, DataType >, PassOptionsParser< DataType >, std::conditional_t< std::is_base_of< llvm::cl::generic_parser_base, llvm::cl::parser< DataType > >::value, GenericOptionParser< DataType >, llvm::cl::parser< DataType > >> |
The specific parser to use. More... | |
Static Public Member Functions inherited from mlir::PassPipelineOptions< SparsifierOptions > | |
static std::unique_ptr< SparsifierOptions > | createFromString (StringRef options) |
Factory that parses the provided options and returns a unique_ptr to the struct. More... | |
Options for the "sparsifier" pipeline.
So far this only contains a subset of the options that can be set for the underlying passes, because it must be manually kept in sync with the tablegen files for those passes.
|
inline |
|
inline |
PassOptions::Option<bool> mlir::sparse_tensor::SparsifierOptions::amx |
PassOptions::Option<bool> mlir::sparse_tensor::SparsifierOptions::armNeon |
PassOptions::Option<bool> mlir::sparse_tensor::SparsifierOptions::armSVE |
PassOptions::Option<bool> mlir::sparse_tensor::SparsifierOptions::createSparseDeallocs |
PassOptions::Option<mlir::SparseEmitStrategy> mlir::sparse_tensor::SparsifierOptions::emitStrategy |
PassOptions::Option<bool> mlir::sparse_tensor::SparsifierOptions::enableBufferInitialization |
PassOptions::Option<bool> mlir::sparse_tensor::SparsifierOptions::enableGPULibgen |
PassOptions::Option<bool> mlir::sparse_tensor::SparsifierOptions::enableRuntimeLibrary |
PassOptions::Option<bool> mlir::sparse_tensor::SparsifierOptions::force32BitVectorIndices |
PassOptions::Option<std::string> mlir::sparse_tensor::SparsifierOptions::gpuChip |
PassOptions::Option<std::string> mlir::sparse_tensor::SparsifierOptions::gpuFeatures |
PassOptions::Option<std::string> mlir::sparse_tensor::SparsifierOptions::gpuFormat |
For NVIDIA GPUs there are 3 compilation format options:
isa
: the compiler generates PTX and the driver JITs the PTX.bin
: generates a CUBIN object for chip=gpuChip
.fatbin
: generates a fat binary with a CUBIN object for gpuChip
and also embeds the PTX in the fat binary. Notes: Option 1 adds a significant runtime performance hit, however, tests are more likely to pass with this option. Option 2 is better for execution time as there is no JIT; however, the program will fail if there's an architecture mismatch between gpuChip
and the GPU running the program. Option 3 is the best compromise between options 1 and 2 as it can JIT in case of an architecture mismatch between gpuChip
and the running architecture. However, it's only possible to JIT to a higher CC than gpuChip
. PassOptions::Option<std::string> mlir::sparse_tensor::SparsifierOptions::gpuTriple |
PassOptions::Option<mlir::SparseParallelizationStrategy> mlir::sparse_tensor::SparsifierOptions::parallelization |
PassOptions::Option<bool> mlir::sparse_tensor::SparsifierOptions::reassociateFPReductions |
PassOptions::Option<bool> mlir::sparse_tensor::SparsifierOptions::testBufferizationAnalysisOnly |
PassOptions::Option<int32_t> mlir::sparse_tensor::SparsifierOptions::vectorLength |
PassOptions::Option<bool> mlir::sparse_tensor::SparsifierOptions::x86Vector |