24 #ifndef TVM_TIRX_ASYNC_STRUCTS_H_
25 #define TVM_TIRX_ASYNC_STRUCTS_H_
27 #include <tvm/ffi/object.h>
53 namespace refl = tvm::ffi::reflection;
54 refl::ObjectDef<PipelineNode>()
69 TVM_DLL
explicit Pipeline(
ExecScope thread_scope,
size_t depth = 0,
bool separate_pc =
false,
70 ffi::String name_hint =
"",
71 ffi::Map<ffi::String, tvm::tirx::Buffer> workspace = {},
72 ffi::Map<ffi::String, ffi::Any> schedule_config = {});
81 namespace refl = tvm::ffi::reflection;
82 refl::ObjectDef<CopyPipelineNode>();
92 ffi::String name_hint =
"",
93 ffi::Map<ffi::String, tvm::tirx::Buffer> workspace = {},
94 ffi::Map<ffi::String, ffi::Any> schedule_config = {});
Symbolic n-dimensional array, to represent a memory buffer.
Definition: async_structs.h:78
static void RegisterReflection()
Definition: async_structs.h:80
static constexpr TVMFFISEqHashKind _type_s_eq_hash_kind
Definition: async_structs.h:85
TVM_FFI_DECLARE_OBJECT_INFO_FINAL("tirx.CopyPipeline", CopyPipelineNode, PipelineNode)
Definition: async_structs.h:89
TVM_DEFINE_OBJECT_REF_COW_METHOD(CopyPipelineNode)
CopyPipeline(ExecScope thread_scope, size_t depth=0, bool separate_pc=false, ffi::String name_hint="", ffi::Map< ffi::String, tvm::tirx::Buffer > workspace={}, ffi::Map< ffi::String, ffi::Any > schedule_config={})
TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE(CopyPipeline, Pipeline, CopyPipelineNode)
Definition: exec_scope.h:234
Definition: async_structs.h:36
ffi::Map< ffi::String, ffi::Any > schedule_config
The schedule config of the pipeline.
Definition: async_structs.h:50
static void RegisterReflection()
Definition: async_structs.h:52
TVM_FFI_DECLARE_OBJECT_INFO("tirx.Pipeline", PipelineNode, ffi::Object)
ffi::Map< ffi::String, tvm::tirx::Buffer > workspace
The workspace of the pipeline.
Definition: async_structs.h:48
bool separate_pc
Whether to separate producer and consumer threads.
Definition: async_structs.h:43
ffi::String name_hint
The name hint of the pipeline.
Definition: async_structs.h:45
size_t depth
The pipeline depth.
Definition: async_structs.h:41
ExecScope thread_scope
The thread scope of this pipeline.
Definition: async_structs.h:39
static constexpr TVMFFISEqHashKind _type_s_eq_hash_kind
Definition: async_structs.h:63
Definition: async_structs.h:67
TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE(Pipeline, ffi::ObjectRef, PipelineNode)
Pipeline(ExecScope thread_scope, size_t depth=0, bool separate_pc=false, ffi::String name_hint="", ffi::Map< ffi::String, tvm::tirx::Buffer > workspace={}, ffi::Map< ffi::String, ffi::Any > schedule_config={})
IRModule that holds the functions and type definitions.
An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.
Definition: analyzer.h:37