1#ifndef FREE_TENSOR_NATIVE_CODE_H
2#define FREE_TENSOR_NATIVE_CODE_H
41 const std::optional<DataType> &dtype,
43 const std::optional<MemType> &mtype,
49std::ostream &
operator<<(std::ostream &os,
const NativeCodeParam &p);
70std::ostream &
operator<<(std::ostream &os,
const NativeCodeRet &r);
81 std::vector<NativeCodeParam> params_;
82 std::vector<NativeCodeRet>
94 const std::vector<NativeCodeParam> &
params,
95 const std::vector<NativeCodeRet> &
returns,
96 const std::string &
code,
const std::string &
entry,
103 const std::string &
entry,
104 const Ref<Target> &
target,
107 const auto &
name()
const {
return name_; }
108 const auto &
params()
const {
return params_; }
109 const auto &
returns()
const {
return returns_; }
110 const auto &
code()
const {
return code_; }
111 const auto &
entry()
const {
return entry_; }
112 const auto &
target()
const {
return target_; }
Definition: data_type.h:106
Definition: native_code.h:79
static NativeCode fromFunc(const Func &func, const std::string &code, const std::string &entry, const Ref< Target > &target, const StaticInfo &staticInfo=StaticInfo{})
Definition: native_code.cc:83
NativeCode()
Definition: native_code.h:92
const auto & entry() const
Definition: native_code.h:111
const auto & code() const
Definition: native_code.h:110
const auto & target() const
Definition: native_code.h:112
const auto & name() const
Definition: native_code.h:107
const auto & params() const
Definition: native_code.h:108
const auto & returns() const
Definition: native_code.h:109
const auto & staticInfo() const
Definition: native_code.h:113
NativeCode(const std::string &name, const std::vector< NativeCodeParam > ¶ms, const std::vector< NativeCodeRet > &returns, const std::string &code, const std::string &entry, const Ref< Target > &target, const StaticInfo &staticInfo=StaticInfo{})
Definition: native_code.h:93
Definition: allocator.h:9
AccessType
Definition: access_type.h:42
Ref< FuncNode > Func
Definition: func.h:64
std::ostream & operator<<(std::ostream &os, const Dependence &dep)
Definition: deps.cc:1404
Definition: native_code.h:30
std::string name_
Definition: native_code.h:31
std::optional< DataType > dtype_
Definition: native_code.h:32
AccessType atype_
Null if atype_ == Bypass.
Definition: native_code.h:33
bool isInClosure() const
Accept user input even if there is a closure.
Definition: native_code.h:38
NativeCodeParam(const std::string &name, const std::optional< DataType > &dtype, const AccessType &atype, const std::optional< MemType > &mtype, const Ref< Ref< Array > > &closure, bool updateClosure)
Definition: native_code.h:40
std::optional< MemType > mtype_
Definition: native_code.h:34
bool updateClosure_
Data bound to this parameter.
Definition: native_code.h:36
Ref< Ref< Array > > closure_
Null if atype_ == Bypass.
Definition: native_code.h:35
Definition: native_code.h:56
bool returnClosure_
Data bound to this return value.
Definition: native_code.h:60
Ref< Ref< Array > > closure_
Definition: native_code.h:59
bool isInClosure() const
Return even if there is a closure.
Definition: native_code.h:62
DataType dtype_
Definition: native_code.h:58
std::string name_
Definition: native_code.h:57
NativeCodeRet(const std::string &name, const DataType &dtype, const Ref< Ref< Array > > &closure, bool returnClosure)
Definition: native_code.h:64
Definition: native_code.h:72
uint64_t gpuGlobalStaticPoolSize_
Definition: native_code.h:73