|
TVM
0.9.4
|
#include <tvm/graph/internal/Log.h>
Classes | |
| struct | DirectDependency |
| struct | EnumValue |
| struct | Input |
| struct | InputDependency |
| struct | InternalDependency |
| struct | Output |
| struct | OutputDependency |
| struct | Pointer |
| struct | Update |
Public Member Functions | |
| std::pair< std::vector< Log::Output >, std::vector< Log::Update > > | subGraph (const CallGraph *const g) const |
| std::pair< std::vector< Log::Output >, std::vector< Log::Update > > | subGraph (const Output out) const |
| std::string | generateDot (const Pointer &p) const |
| std::string | generateDot (const CallGraph *const g) const |
| std::string | generateDot (const std::vector< Log::Output > &outHighlight={}, const std::vector< Log::Update > &upHighlight={}) const |
| const std::type_index & | getPromotedType (const Pointer &p) const |
Public Attributes | |
| std::vector< Update > | updates_ |
| std::vector< Input > | inputs_ |
| std::vector< Output > | outputs_ |
| std::vector< InputDependency > | inputDependencies_ |
| std::vector< OutputDependency > | outputDependencies_ |
| std::vector< InternalDependency > | internalDependencies_ |
| std::vector< DirectDependency > | directDependencies_ |
| std::map< Pointer, std::vector< Pointer > > | graphOutputs_ |
| std::map< std::uintptr_t, std::vector< std::type_index > > | types_ |
A data structure, used by Logger to log the inputs, outputs, updates and dependencies that are declared at runtime.
| std::string tvm::graph::internal::Log::generateDot | ( | const CallGraph *const | g | ) | const |
Generate the specified CallGraph.
| std::string tvm::graph::internal::Log::generateDot | ( | const Pointer & | p | ) | const |
Generate a dot representation for node corresponding to p.
| std::string tvm::graph::internal::Log::generateDot | ( | const std::vector< Log::Output > & | outHighlight = {}, |
| const std::vector< Log::Update > & | upHighlight = {} |
||
| ) | const |
Generate the whole graph, highlighting the elements specified by oUtHighlight and upHightlight.
| const std::type_index& tvm::graph::internal::Log::getPromotedType | ( | const Pointer & | p | ) | const |
Get the most derived type corresponding to pointer p.
(This is based on the assumption that the log add the most derived type last)
| std::pair<std::vector<Log::Output>, std::vector<Log::Update> > tvm::graph::internal::Log::subGraph | ( | const CallGraph *const | g | ) | const |
Build the list of updates and outputs used in the CallGraph g
| std::pair<std::vector<Log::Output>, std::vector<Log::Update> > tvm::graph::internal::Log::subGraph | ( | const Output | out | ) | const |
Build the list of updates and outputs used from out
| std::vector<DirectDependency> tvm::graph::internal::Log::directDependencies_ |
Each elements of the map is the list of inputs of a CallGraph, as added in CallGraph.add
| std::vector<InputDependency> tvm::graph::internal::Log::inputDependencies_ |
| std::vector<Input> tvm::graph::internal::Log::inputs_ |
| std::vector<InternalDependency> tvm::graph::internal::Log::internalDependencies_ |
| std::vector<OutputDependency> tvm::graph::internal::Log::outputDependencies_ |
| std::vector<Output> tvm::graph::internal::Log::outputs_ |
| std::map<std::uintptr_t, std::vector<std::type_index> > tvm::graph::internal::Log::types_ |
Maps a data address to all the type info associated with this address. For a given address, each type appears only once, and types are sorted in their order of appearance in the logging process. We assume that the last one to appear is the most derived in the inheritance hierarchy.
FIXME: can we find a more robust way to determine the real type of a data?
| std::vector<Update> tvm::graph::internal::Log::updates_ |