|
TVM
0.9.4
|
#include <tvm/graph/abstract/Node.h>


Protected Member Functions | |
| template<typename EnumT , typename U , typename... Args> | |
| void | registerUpdates (EnumT u, void(U::*fn)(), Args... args) |
| template<typename EnumT , typename U > | |
| void | registerUpdates (EnumT u, void(U::*fn)()) |
| template<typename U = T, typename EnumO , typename EnumU > | |
| void | addOutputDependency (EnumO o, EnumU u) |
| template<typename U = T, typename EnumO , typename EnumU > | |
| void | addOutputDependency (std::initializer_list< EnumO > os, EnumU u) |
| template<typename U = T, typename EnumU1 , typename EnumU2 > | |
| void | addInternalDependency (EnumU1 uDependent, EnumU2 u) |
| template<typename U = T, typename EnumU , typename S , typename EnumO , typename... Args> | |
| void | addInputDependency (EnumU u, std::shared_ptr< S > source, EnumO i, Args... args) |
| template<typename U = T, typename EnumU , typename S , typename EnumO , typename... Args, typename std::enable_if< std::is_base_of< abstract::Outputs, S >::value, int >::type = 0> | |
| void | addInputDependency (EnumU u, S &source, EnumO i, Args... args) |
| template<typename U = T, typename EnumO , typename S , typename EnumI > | |
| void | addDirectDependency (EnumO o, std::shared_ptr< S > source, EnumI i) |
| template<typename U = T, typename EnumO , typename S , typename EnumI , typename std::enable_if< std::is_base_of< abstract::Outputs, S >::value, int >::type = 0> | |
| void | addDirectDependency (EnumO o, S &source, EnumI i) |
Additional Inherited Members | |
Public Types inherited from tvm::graph::internal::AbstractNode | |
| enum class | Update_ |
| using | UpdateParent = AbstractNode |
| using | UpdateBase = AbstractNode |
Public Types inherited from tvm::graph::internal::Inputs | |
| using | inputs_t = std::unordered_map< abstract::Outputs *, std::set< int > > |
| using | store_t = std::unordered_set< std::shared_ptr< abstract::Outputs > > |
Public Types inherited from tvm::graph::abstract::Outputs | |
| enum class | Output_ |
| using | OutputParent = Outputs |
| using | OutputBase = Outputs |
Public Member Functions inherited from tvm::graph::internal::AbstractNode | |
| template<typename EnumT > | |
| bool | isUpdateEnabled (EnumT e) const |
| virtual bool | isUpdateStaticallyEnabled (int) const |
| virtual bool | isUpdateCustomEnabled (int) const |
| virtual | ~AbstractNode ()=default |
| void | update (int i) |
Public Member Functions inherited from tvm::graph::internal::Inputs | |
| virtual | ~Inputs ()=default |
| template<typename T , typename EnumI , typename... Args> | |
| void | addInput (std::shared_ptr< T > source, EnumI i, Args... args) |
| template<typename T , typename EnumI , typename... Args, typename std::enable_if< std::is_base_of< abstract::Outputs, T >::value, int >::type = 0> | |
| void | addInput (T &source, EnumI i, Args... args) |
| template<typename T > | |
| void | removeInput (T *source) |
| template<typename T , typename... Args> | |
| void | removeInput (T *source, Args... args) |
| template<typename T > | |
| Iterator | getInput (T *source) |
| template<typename T > | |
| Iterator | getInput (const std::shared_ptr< T > &source) |
Public Member Functions inherited from tvm::graph::abstract::Outputs | |
| virtual | ~Outputs ()=default |
| template<typename EnumT > | |
| bool | isOutputEnabled (EnumT e) const |
| bool | isOutputEnabled (int i) const |
| virtual bool | isOutputStaticallyEnabled (int) const |
| virtual bool | isOutputCustomEnabled (int) const |
Static Public Member Functions inherited from tvm::graph::internal::AbstractNode | |
| static constexpr const char * | UpdateName (Update_) |
| template<typename EnumT > | |
| static constexpr bool | UpdateStaticallyEnabled (EnumT) |
Static Public Member Functions inherited from tvm::graph::abstract::Outputs | |
| static constexpr const char * | OutputName (Output_) |
| template<typename EnumT > | |
| static constexpr bool | OutputStaticallyEnabled (EnumT) |
Static Public Attributes inherited from tvm::graph::internal::AbstractNode | |
| static constexpr unsigned int | UpdateSize = 0 |
| static constexpr auto | UpdateBaseName = "AbstractNode" |
Static Public Attributes inherited from tvm::graph::abstract::Outputs | |
| static constexpr unsigned int | OutputSize = 0 |
| static constexpr auto | OutputBaseName = "Outputs" |
Protected Types inherited from tvm::graph::internal::AbstractNode | |
| using | input_dependency_t = std::map< Outputs *, std::set< int > > |
Protected Attributes inherited from tvm::graph::internal::AbstractNode | |
| std::map< int, std::function< void(AbstractNode &)> > | updates_ |
| std::map< int, std::vector< int > > | outputDependencies_ |
| std::map< int, std::vector< int > > | internalDependencies_ |
| std::map< int, input_dependency_t > | inputDependencies_ |
| std::map< int, std::pair< Outputs *, int > > | directDependencies_ |
Protected Attributes inherited from tvm::graph::abstract::Outputs | |
| bool | is_node_ = false |
Node is the concrete base for AbstractNode.
It represents an entity that uses input signals to compute output signals using update functions and the dependencies between these quantities.
|
protected |
Add a dependency of an output to an input signal and its source
The lifetime of source should be guaranteed by the caller
This is used when an output directly use the input signal without requiring an update, and a cache. This is the case when an output directly forward an input, and it should be the only use-case.
It is not possible for an output to have a direct and some update dependencies at the same time.
|
protected |
Add a dependency of an output to an input signal and its source
This is used when an output directly use the input signal without requiring an update, and a cache. This is the case when an output directly forward an input, and it should be the only use-case.
It is not possible for an output to have a direct and some update dependencies at the same time.
|
protected |
Add a dependency of an update function to multiple input signals from a source
The lifetime of source should be guaranteed by the caller
|
protected |
Add a dependency of an update function to multiple input signals from a source
|
protected |
Add a dependency between two update calls.
The first argument of this function depends on the second argument.
|
protected |
Add a dependency of an output to an update call
It is not possible for an output to have a direct and some update dependencies at the same time.
|
protected |
Add a dependency of multiple outputs to an update call
|
protected |
Register a single update
|
protected |
Register updates
An update is formed by its unique id (from an enum type) and the related object method.