tvm
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
tvm::runtime::Module Class Reference

Module container of TVM. More...

#include <module.h>

Inheritance diagram for tvm::runtime::Module:
Collaboration diagram for tvm::runtime::Module:

Public Types

using ContainerType = ModuleNode
 
- Public Types inherited from tvm::runtime::ObjectRef
using ContainerType = Object
 type indicate the container type. More...
 

Public Member Functions

 Module ()
 
 Module (ObjectPtr< Object > n)
 
PackedFunc GetFunction (const String &name, bool query_imports=false)
 Get packed function from current module by name. More...
 
void Import (Module other)
 Import another module into this module. More...
 
ModuleNodeoperator-> ()
 
const ModuleNodeoperator-> () const
 
- 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 Objectget () const
 
const Objectoperator-> () 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 Module LoadFromFile (const String &file_name, const String &format="")
 Load a module from file. More...
 

Friends

class ModuleNode
 

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
Objectget_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< Objectdata_
 Internal pointer that backs the reference. More...
 

Detailed Description

Module container of TVM.

Member Typedef Documentation

◆ ContainerType

Constructor & Destructor Documentation

◆ Module() [1/2]

tvm::runtime::Module::Module ( )
inline

◆ Module() [2/2]

tvm::runtime::Module::Module ( ObjectPtr< Object n)
inlineexplicit

Member Function Documentation

◆ GetFunction()

PackedFunc tvm::runtime::Module::GetFunction ( const String name,
bool  query_imports = false 
)
inline

Get packed function from current module by name.

Parameters
nameThe name of the function.
query_importsWhether also query dependency modules.
Returns
The result function. This function will return PackedFunc(nullptr) if function do not exist.
Note
Implemented in packed_func.cc

◆ Import()

void tvm::runtime::Module::Import ( Module  other)
inline

Import another module into this module.

Parameters
otherThe module to be imported.
Note
Cyclic dependency is not allowed among modules, An error will be thrown when cyclic dependency is detected.

◆ LoadFromFile()

static Module tvm::runtime::Module::LoadFromFile ( const String file_name,
const String format = "" 
)
static

Load a module from file.

Parameters
file_nameThe name of the host function module.
formatThe format of the file.
Note
This function won't load the import relationship. Re-create import relationship by calling Import.

◆ operator->() [1/2]

ModuleNode * tvm::runtime::Module::operator-> ( )
inline
Returns
internal container

◆ operator->() [2/2]

const ModuleNode * tvm::runtime::Module::operator-> ( ) const
inline
Returns
internal container

Friends And Related Function Documentation

◆ ModuleNode

friend class ModuleNode
friend

The documentation for this class was generated from the following files: