29 #ifndef TVM_DRIVER_DRIVER_API_H_ 30 #define TVM_DRIVER_DRIVER_API_H_ 41 #include <unordered_map> 42 #include <unordered_set> 82 TVM_DLL IRModule
LowerModule(IRModule
mod,
bool simple_mode =
false);
93 bool simple_mode =
false);
106 TVM_DLL IRModule
LowerSchedule(te::Schedule sch,
const Array<te::Tensor>& args,
107 const std::string& name,
108 const std::unordered_map<te::Tensor, tir::Buffer>& binds,
109 bool simple_mode =
false);
121 TVM_DLL IRModule
LowerSchedule(te::Schedule sch,
const Array<ObjectRef>& args,
122 const std::string& name,
123 const std::unordered_map<te::Tensor, tir::Buffer>& binds,
124 bool simple_mode =
false);
135 IRModule
ScheduleToModule(te::Schedule sch,
const Array<ObjectRef>& args,
const std::string& name,
136 const std::unordered_map<te::Tensor, tir::Buffer>& binds);
144 TVM_DLL runtime::Module
build(
const IRModule& funcs,
const Target& target,
145 const Target& target_host);
156 TVM_DLL runtime::Module
build(
const Map<Target, IRModule>& input,
const Target& target_host);
167 TVM_DLL runtime::Module
build(
const Map<String, IRModule>& input,
const Target& target_host);
171 #endif // TVM_DRIVER_DRIVER_API_H_ IRModule LowerModule(IRModule mod, bool simple_mode=false)
Lower an IRModule (optimize with it with the pass list defined in CreatePassList) ...
transform::Sequential MixedModulePassManager(IRModule mixed_mod, Target target)
Configures and returns the composite Pass for the fused module (pre split) that contains device and h...
IRModule that holds the functions and type definitions.
runtime implementation for LibTorch/TorchScript.
Definition: analyzer.h:36
IRModule LowerPrimFunc(tvm::tir::PrimFunc func, const std::string &name, bool simple_mode=false)
Lower a primfunc and name (convert to IRModule, and optimize it with the pass list defined in CreateP...
Collection of Schedule pass functions.
Managed reference to PrimFuncNode.
Definition: function.h:156
IRModule LowerSchedule(te::Schedule sch, const Array< te::Tensor > &args, const std::string &name, const std::unordered_map< te::Tensor, tir::Buffer > &binds, bool simple_mode=false)
Build an IRModule given a TE schedule, args and binds. This function also applies the lowering passes...
transform::Sequential DeviceModulePassManager(IRModule mixed_mod, Target target)
Configures and returns the composite Pass for the device Target after device/host from mixed module...
Compilation target object.
IRModule ScheduleToModule(te::Schedule sch, const Array< ObjectRef > &args, const std::string &name, const std::unordered_map< te::Tensor, tir::Buffer > &binds)
Create an IRModule out of a TE Schedule. It does not apply lowering passes. If you want to apply lowe...
tvm::PrimExpr mod(const tvm::PrimExpr &a, const tvm::PrimExpr &b)
Definition: broadcast.h:290
Type-erased function used across TVM API.
runtime::Module build(const IRModule &funcs, const Target &target, const Target &target_host)
Build a device and host module for a specific target from an IRModule.
transform::Sequential HostModulePassManager(IRModule mixed_mod, Target target_host)
Configures and returns the composite Pass for the host Target after device/host from mixed module...
RAII wrapper function to enter and exit a context object similar to python's with syntax...