tvm
|
Managed reference to AccessAnalyzerNode. More...
#include <compute_dag.h>
Public Member Functions | |
AccessAnalyzer (const Array< te::Tensor > &tensors) | |
bool | IsSimpleAccess (const te::Operation &op) const |
Return whether this operation is an op with simple access (e.g., injective, broadcast and elementwise ops without reduction) More... | |
bool | IsStrictlyInlineable (const te::Operation &op) const |
Return whether this operation is strictly inlineable (e.g., injective, broadcast and elementwise without reduction, branch or expensive operations) More... | |
bool | NeedsMultiLevelTiling (const te::Operation &op) const |
Return whether this operation needs multi-level tiling (e.g., computation-intensive ops with data reuse opportunity like matmul, conv2d) More... | |
bool | IsOutput (const te::Operation &op) const |
Return whether this operation is an output operation. More... | |
std::unordered_set< te::Operation, ObjectHash, ObjectEqual > | GetConsumers (const State &state, const te::Operation &op) const |
Get all consumers of an operation. More... | |
std::unordered_set< te::Operation, ObjectHash, ObjectEqual > | GetProducers (const State &state, const te::Operation &op) const |
Get all producers of an operation. More... | |
std::unordered_set< te::Operation, ObjectHash, ObjectEqual > | GetDirectProducers (const te::Operation &op) const |
Get all direct producers of an operation. More... | |
int | GetNumCommonOuterIterator (const te::Operation &op, const te::Operation &target_op) const |
Get the number of common outer iterators. More... | |
bool | ElementWiseMatch (const te::Operation &op, const te::Operation &target_op) const |
Return whether two operations are elementwise-matched (e.g. conv2d and relu are elementwise-matched) More... | |
TVM_DEFINE_OBJECT_REF_METHODS (AccessAnalyzer, ObjectRef, AccessAnalyzerNode) | |
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... | |
Additional Inherited Members | |
Public Types inherited from tvm::runtime::ObjectRef | |
using | ContainerType = Object |
type indicate the container type. More... | |
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 AccessAnalyzerNode.
|
explicit |
bool tvm::auto_scheduler::AccessAnalyzer::ElementWiseMatch | ( | const te::Operation & | op, |
const te::Operation & | target_op | ||
) | const |
Return whether two operations are elementwise-matched (e.g. conv2d and relu are elementwise-matched)
std::unordered_set<te::Operation, ObjectHash, ObjectEqual> tvm::auto_scheduler::AccessAnalyzer::GetConsumers | ( | const State & | state, |
const te::Operation & | op | ||
) | const |
Get all consumers of an operation.
state | The current loop state |
op | The operation |
std::unordered_set<te::Operation, ObjectHash, ObjectEqual> tvm::auto_scheduler::AccessAnalyzer::GetDirectProducers | ( | const te::Operation & | op | ) | const |
Get all direct producers of an operation.
op | The operation |
int tvm::auto_scheduler::AccessAnalyzer::GetNumCommonOuterIterator | ( | const te::Operation & | op, |
const te::Operation & | target_op | ||
) | const |
Get the number of common outer iterators.
op | The operation |
target_op | The target operation |
std::unordered_set<te::Operation, ObjectHash, ObjectEqual> tvm::auto_scheduler::AccessAnalyzer::GetProducers | ( | const State & | state, |
const te::Operation & | op | ||
) | const |
Get all producers of an operation.
state | The current loop state |
op | The operation |
bool tvm::auto_scheduler::AccessAnalyzer::IsOutput | ( | const te::Operation & | op | ) | const |
Return whether this operation is an output operation.
op | The operation |
bool tvm::auto_scheduler::AccessAnalyzer::IsSimpleAccess | ( | const te::Operation & | op | ) | const |
Return whether this operation is an op with simple access (e.g., injective, broadcast and elementwise ops without reduction)
op | The operation |
bool tvm::auto_scheduler::AccessAnalyzer::IsStrictlyInlineable | ( | const te::Operation & | op | ) | const |
Return whether this operation is strictly inlineable (e.g., injective, broadcast and elementwise without reduction, branch or expensive operations)
op | The operation |
bool tvm::auto_scheduler::AccessAnalyzer::NeedsMultiLevelTiling | ( | const te::Operation & | op | ) | const |
Return whether this operation needs multi-level tiling (e.g., computation-intensive ops with data reuse opportunity like matmul, conv2d)
op | The operation |
tvm::auto_scheduler::AccessAnalyzer::TVM_DEFINE_OBJECT_REF_METHODS | ( | AccessAnalyzer | , |
ObjectRef | , | ||
AccessAnalyzerNode | |||
) |