|
tvm
|
Managed reference to PostprocNode. More...
#include <postproc.h>
Public Types | |
| using | FInitializeWithTuneContext = ffi::TypedFunction< void(const TuneContext &)> |
The function type of InitializeWithTuneContext method. More... | |
| using | FApply = ffi::TypedFunction< bool(const tir::Schedule &)> |
| Apply a postprocessor to the given schedule. More... | |
| using | FClone = ffi::TypedFunction< Postproc()> |
| Clone the postprocessor. More... | |
| using | FAsString = ffi::TypedFunction< ffi::String()> |
| Get the postprocessor function as string with name. More... | |
Public Member Functions | |
| TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE (Postproc, ObjectRef, PostprocNode) | |
Static Public Member Functions | |
| static Postproc | PyPostproc (FInitializeWithTuneContext f_initialize_with_tune_context, FApply f_apply, FClone f_clone, FAsString f_as_string) |
| Create a postprocessor with customized methods on the python-side. More... | |
| static Postproc | DisallowDynamicLoop () |
| Create a postprocessor that checks if all loops are static. More... | |
| static Postproc | DisallowAsyncStridedMemCopy () |
| Create a postprocessor that checks if all async mem copies are not strided. More... | |
| static Postproc | RewriteCooperativeFetch () |
| Create a postprocessor that rewrites the cooperative fetch annotation to actual vectorized cooperative fetching in loop bindings. More... | |
| static Postproc | RewriteParallelVectorizeUnroll () |
| Creates a postprocessor that applies parallelization, vectorization and auto unrolling according to the annotation of each block. More... | |
| static Postproc | RewriteReductionBlock () |
| Create a postprocessor that rewrites reduction block by moving the init block out. More... | |
| static Postproc | RewriteUnboundBlock (int max_threadblocks) |
| Create a postprocessor that adds thread binding to unbound blocks. More... | |
| static Postproc | RewriteTensorize (bool vectorize_init_loop=false) |
| Create a postprocessor that applies tensorization to annotated blocks. More... | |
| static Postproc | VerifyGPUCode () |
| Creates a postprocessor that verifies if the GPU code is correct. More... | |
| static Postproc | VerifyVTCMLimit () |
| Verifies that the VTCM usage of a given schedule is within the provided limit. More... | |
| static Postproc | RewriteLayout () |
| Creates a postprocessor that rewrites the layout of input tensor. More... | |
| static ffi::Array< Postproc, void > | DefaultLLVM () |
| Create default postprocessors for LLVM. More... | |
| static ffi::Array< Postproc, void > | DefaultCPUTensorization () |
| Create default postprocessors for x86 (AVX512 and VNNI) More... | |
| static ffi::Array< Postproc, void > | DefaultRISCV () |
| Create default postprocessors for RISCV. More... | |
| static ffi::Array< Postproc, void > | DefaultCUDA () |
| Create default postprocessors for CUDA. More... | |
| static ffi::Array< Postproc, void > | DefaultCUDATensorCore () |
| Create default postprocessors for CUDA with TensorCore. More... | |
| static ffi::Array< Postproc, void > | DefaultHexagon () |
| Create default postprocessors for Hexagon. More... | |
Managed reference to PostprocNode.
| using tvm::meta_schedule::Postproc::FApply = ffi::TypedFunction<bool(const tir::Schedule&)> |
Apply a postprocessor to the given schedule.
| sch | The schedule to be post processed. |
| using tvm::meta_schedule::Postproc::FAsString = ffi::TypedFunction<ffi::String()> |
Get the postprocessor function as string with name.
| using tvm::meta_schedule::Postproc::FClone = ffi::TypedFunction<Postproc()> |
Clone the postprocessor.
| using tvm::meta_schedule::Postproc::FInitializeWithTuneContext = ffi::TypedFunction<void(const TuneContext&)> |
The function type of InitializeWithTuneContext method.
| context | The tuning context for initialization. |
|
static |
Create default postprocessors for x86 (AVX512 and VNNI)
|
static |
Create default postprocessors for CUDA.
|
static |
Create default postprocessors for CUDA with TensorCore.
|
static |
Create default postprocessors for Hexagon.
|
static |
Create default postprocessors for LLVM.
|
static |
Create default postprocessors for RISCV.
|
static |
Create a postprocessor that checks if all async mem copies are not strided.
|
static |
Create a postprocessor that checks if all loops are static.
|
static |
Create a postprocessor with customized methods on the python-side.
| f_initialize_with_tune_context | The packed function of InitializeWithTuneContext. |
| f_apply | The packed function of Apply. |
| f_clone | The packed function of Clone. |
| f_as_string | The packed function of AsString. |
|
static |
Create a postprocessor that rewrites the cooperative fetch annotation to actual vectorized cooperative fetching in loop bindings.
|
static |
Creates a postprocessor that rewrites the layout of input tensor.
|
static |
Creates a postprocessor that applies parallelization, vectorization and auto unrolling according to the annotation of each block.
|
static |
Create a postprocessor that rewrites reduction block by moving the init block out.
|
static |
Create a postprocessor that applies tensorization to annotated blocks.
| vectorize_init_loop | Whether or not vectorize the initialization loop produced by DecomposeReduction |
|
static |
Create a postprocessor that adds thread binding to unbound blocks.
| max_threadblocks | The max number of threadblocks in the cuda device. |
| tvm::meta_schedule::Postproc::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE | ( | Postproc | , |
| ObjectRef | , | ||
| PostprocNode | |||
| ) |
|
static |
Creates a postprocessor that verifies if the GPU code is correct.
|
static |
Verifies that the VTCM usage of a given schedule is within the provided limit.