tvm
|
Managed reference to PostprocNode. More...
#include <postproc.h>
Public Types | |
using | FInitializeWithTuneContext = runtime::TypedPackedFunc< void(const TuneContext &)> |
The function type of InitializeWithTuneContext method. More... | |
using | FApply = runtime::TypedPackedFunc< bool(const tir::Schedule &)> |
Apply a postprocessor to the given schedule. More... | |
using | FClone = runtime::TypedPackedFunc< Postproc()> |
Clone the postprocessor. More... | |
using | FAsString = runtime::TypedPackedFunc< String()> |
Get the postprocessor function as string with name. More... | |
Public Types inherited from tvm::runtime::ObjectRef | |
using | ContainerType = Object |
type indicate the container type. More... | |
Public Member Functions | |
TVM_DEFINE_MUTABLE_OBJECT_REF_METHODS (Postproc, ObjectRef, PostprocNode) | |
Public Member Functions inherited from tvm::runtime::ObjectRef | |
ObjectRef ()=default | |
default constructor More... | |
ObjectRef (ObjectPtr< Object > data) | |
Constructor from existing object ptr. More... | |
bool | same_as (const ObjectRef &other) const |
Comparator. More... | |
bool | operator== (const ObjectRef &other) const |
Comparator. More... | |
bool | operator!= (const ObjectRef &other) const |
Comparator. More... | |
bool | operator< (const ObjectRef &other) const |
Comparator. More... | |
bool | defined () const |
const Object * | get () const |
const Object * | operator-> () const |
bool | unique () const |
int | use_count () const |
template<typename ObjectType , typename = std::enable_if_t<std::is_base_of_v<Object, ObjectType>>> | |
const ObjectType * | as () const |
Try to downcast the internal Object to a raw pointer of a corresponding type. More... | |
template<typename ObjectRefType , typename = std::enable_if_t<std::is_base_of_v<ObjectRef, ObjectRefType>>> | |
Optional< ObjectRefType > | as () const |
Try to downcast the ObjectRef to a Optional<T> of the requested type. More... | |
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 Array< Postproc, void > | DefaultLLVM () |
Create default postprocessors for LLVM. More... | |
static Array< Postproc, void > | DefaultCPUTensorization () |
Create default postprocessors for x86 (AVX512 and VNNI) More... | |
static Array< Postproc, void > | DefaultCUDA () |
Create default postprocessors for CUDA. More... | |
static Array< Postproc, void > | DefaultCUDATensorCore () |
Create default postprocessors for CUDA with TensorCore. More... | |
static Array< Postproc, void > | DefaultHexagon () |
Create default postprocessors for Hexagon. More... | |
Additional Inherited Members | |
Static Public Attributes inherited from tvm::runtime::ObjectRef | |
static constexpr bool | _type_is_nullable = true |
Protected Member Functions inherited from tvm::runtime::ObjectRef | |
Object * | get_mutable () const |
Static Protected Member Functions inherited from tvm::runtime::ObjectRef | |
template<typename T > | |
static T | DowncastNoCheck (ObjectRef ref) |
Internal helper function downcast a ref without check. More... | |
static void | FFIClearAfterMove (ObjectRef *ref) |
Clear the object ref data field without DecRef after we successfully moved the field. More... | |
template<typename ObjectType > | |
static ObjectPtr< ObjectType > | GetDataPtr (const ObjectRef &ref) |
Internal helper function get data_ as ObjectPtr of ObjectType. More... | |
Protected Attributes inherited from tvm::runtime::ObjectRef | |
ObjectPtr< Object > | data_ |
Internal pointer that backs the reference. More... | |
Managed reference to PostprocNode.
using tvm::meta_schedule::Postproc::FApply = runtime::TypedPackedFunc<bool(const tir::Schedule&)> |
Apply a postprocessor to the given schedule.
sch | The schedule to be post processed. |
Get the postprocessor function as string with name.
Clone the postprocessor.
using tvm::meta_schedule::Postproc::FInitializeWithTuneContext = runtime::TypedPackedFunc<void(const TuneContext&)> |
The function type of InitializeWithTuneContext
method.
context | The tuning context for initialization. |
Create default postprocessors for x86 (AVX512 and VNNI)
Create default postprocessors for CUDA.
Create default postprocessors for CUDA with TensorCore.
Create default postprocessors for Hexagon.
Create default postprocessors for LLVM.
|
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_DEFINE_MUTABLE_OBJECT_REF_METHODS | ( | 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.