26 #ifndef TVM_RUNTIME_MODULE_H_ 27 #define TVM_RUNTIME_MODULE_H_ 36 #include <unordered_map> 83 TVM_DLL
static Module LoadFromFile(
const std::string& file_name,
const std::string& format =
"");
119 virtual const char* type_key()
const = 0;
144 virtual void SaveToFile(
const std::string& file_name,
const std::string& format);
152 virtual void SaveToBinary(dmlc::Stream* stream);
158 virtual std::string GetSource(
const std::string& format =
"");
184 const PackedFunc* GetFuncFromEnv(
const std::string& name);
186 const std::vector<Module>&
imports()
const {
return imports_; }
190 static constexpr
const char* _type_key =
"runtime.Module";
197 friend class ModuleInternal;
203 std::unordered_map<std::string, std::shared_ptr<PackedFunc> > import_cache_;
253 #endif // TVM_RUNTIME_MODULE_H_ constexpr const char * tvm_set_device
global function to set device
Definition: module.h:222
PackedFunc GetFunction(const std::string &name, bool query_imports=false)
Get packed function from current module by name.
Definition: packed_func.h:1660
void Import(Module other)
Import another module into this module.
Definition: module.h:241
A custom smart pointer for Object.
Definition: object.h:356
runtime::Module.
Definition: object.h:62
constexpr const char * tvm_lookup_linked_param
A PackedFunc that looks up linked parameters by storage_id.
Definition: module.h:232
bool RuntimeEnabled(const std::string &target)
Check if runtime module is enabled for target.
Performance counters for profiling via the PAPI library.
Definition: analyzer.h:36
Runtime memory management.
base class of all object containers.
Definition: object.h:165
constexpr const char * tvm_dev_mblob_nbytes
Number of bytes of device module blob.
Definition: module.h:220
friend class ModuleNode
Definition: module.h:86
constexpr const char * tvm_global_barrier_state
Auxiliary counter to global barrier.
Definition: module.h:224
constexpr const char * tvm_module_main
Placeholder for the module's entry function.
Definition: module.h:228
constexpr const char * tvm_prepare_global_barrier
Prepare the global barrier before kernels that uses global barrier.
Definition: module.h:226
std::vector< Module > imports_
The modules this module depend on.
Definition: module.h:199
constexpr const char * tvm_run_func_suffix
The main AOT executor function generated from TIR.
Definition: module.h:234
virtual ~ModuleNode()
virtual destructor
Definition: module.h:114
Base class of all object reference.
Definition: object.h:504
Base container of module.
Definition: module.h:111
A managed object in the TVM runtime.
#define TVM_DECLARE_FINAL_OBJECT_INFO(TypeName, ParentType)
helper macro to declare type information in a final class.
Definition: object.h:664
const std::vector< Module > & imports() const
Definition: module.h:186
ModuleNode * operator->()
Definition: module.h:243
Module container of TVM.
Definition: module.h:48
constexpr const char * tvm_dev_mblob
Global variable to store device module blob.
Definition: module.h:218
static Module LoadFromFile(const std::string &file_name, const std::string &format="")
Load a module from file.
constexpr const char * tvm_param_prefix
Prefix for parameter symbols emitted into the main program.
Definition: module.h:230
Packed function is a type-erased function. The arguments are passed by packed format.
Definition: packed_func.h:68
constexpr const char * tvm_entrypoint_suffix
Model entrypoint generated as an interface to the AOT function outside of TIR.
Definition: module.h:236
Module()
Definition: module.h:50
Object * get_mutable() const
Definition: object.h:569
Module(ObjectPtr< Object > n)
Definition: module.h:52
Type-erased function used across TVM API.
constexpr const char * tvm_module_ctx
Global variable to store module context.
Definition: module.h:216