|
template<typename... Args> |
void | apply (const Args &...args) |
|
template<typename T2 > |
std::unique_ptr< T2 > | create () const |
|
template<typename T2 , typename... Args> |
std::unique_ptr< T2 > | apply (const Args &...args) const |
|
| Generator (const Generator &)=delete |
|
Generator & | operator= (const Generator &)=delete |
|
| Generator (Generator &&that)=delete |
|
Generator & | operator= (Generator &&that)=delete |
|
virtual | ~GeneratorBase () |
|
void | set_generator_param_values (const GeneratorParamsMap ¶ms) |
|
int | natural_vector_size (Halide::Type t) const |
| Given a data type, return an estimate of the "natural" vector size for that data type when compiling for the current target. More...
|
|
template<typename data_t > |
int | natural_vector_size () const |
| Given a data type, return an estimate of the "natural" vector size for that data type when compiling for the current target. More...
|
|
void | emit_cpp_stub (const std::string &stub_file_path) |
|
Module | build_module (const std::string &function_name="", LinkageType linkage_type=LinkageType::ExternalPlusMetadata) |
|
Module | build_gradient_module (const std::string &function_name) |
| Build a module that is suitable for using for gradient descent calculation in TensorFlow or PyTorch. More...
|
|
template<typename... Args> |
void | set_inputs (const Args &...args) |
| set_inputs is a variadic wrapper around set_inputs_vector, which makes usage much simpler in many cases, as it constructs the relevant entries for the vector for you, which is often a bit unintuitive at present. More...
|
|
Realization | realize (std::vector< int32_t > sizes) |
|
template<typename... Args, typename std::enable_if< NoRealizations< Args... >::value >::type * = nullptr> |
Realization | realize (Args &&...args) |
|
void | realize (Realization r) |
|
Pipeline | get_pipeline () |
|
template<typename T , typename std::enable_if< std::is_same< T, Halide::Func >::value >::type * = nullptr> |
GeneratorInput< T > * | add_input (const std::string &name, const Type &t, int dimensions) |
|
template<typename T , typename std::enable_if<!std::is_arithmetic< T >::value &&!std::is_same< T, Halide::Func >::value >::type * = nullptr> |
GeneratorInput< T > * | add_input (const std::string &name, const Type &t, int dimensions) |
|
template<typename T , typename std::enable_if<!std::is_arithmetic< T >::value &&!std::is_same< T, Halide::Func >::value >::type * = nullptr> |
GeneratorInput< T > * | add_input (const std::string &name, int dimensions) |
|
template<typename T , typename std::enable_if<!std::is_arithmetic< T >::value &&!std::is_same< T, Halide::Func >::value >::type * = nullptr> |
GeneratorInput< T > * | add_input (const std::string &name) |
|
template<typename T , typename std::enable_if< std::is_arithmetic< T >::value >::type * = nullptr> |
GeneratorInput< T > * | add_input (const std::string &name) |
|
template<typename T , typename std::enable_if< std::is_same< T, Expr >::value >::type * = nullptr> |
GeneratorInput< T > * | add_input (const std::string &name, const Type &type) |
|
template<typename T , typename std::enable_if< std::is_same< T, Halide::Func >::value >::type * = nullptr> |
GeneratorOutput< T > * | add_output (const std::string &name, const Type &t, int dimensions) |
|
template<typename T , typename std::enable_if<!std::is_arithmetic< T >::value &&!std::is_same< T, Halide::Func >::value >::type * = nullptr> |
GeneratorOutput< T > * | add_output (const std::string &name, const Type &t, int dimensions) |
|
template<typename T , typename std::enable_if<!std::is_arithmetic< T >::value &&!std::is_same< T, Halide::Func >::value >::type * = nullptr> |
GeneratorOutput< T > * | add_output (const std::string &name, int dimensions) |
|
template<typename T , typename std::enable_if<!std::is_arithmetic< T >::value &&!std::is_same< T, Halide::Func >::value >::type * = nullptr> |
GeneratorOutput< T > * | add_output (const std::string &name) |
|
template<typename... Args> |
HALIDE_NO_USER_CODE_INLINE void | add_requirement (Expr condition, Args &&...args) |
|
void | trace_pipeline () |
|
GeneratorContext | context () const |
|
| GeneratorBase (const GeneratorBase &)=delete |
|
GeneratorBase & | operator= (const GeneratorBase &)=delete |
|
| GeneratorBase (GeneratorBase &&that)=delete |
|
GeneratorBase & | operator= (GeneratorBase &&that)=delete |
|
|
enum | Phase {
Created
, ConfigureCalled
, InputsSet
, GenerateCalled
,
ScheduleCalled
} |
|
template<typename T > |
using | Input = GeneratorInput< T > |
|
template<typename T > |
using | Output = GeneratorOutput< T > |
|
using | Expr = Halide::Expr |
|
using | EvictionKey = Halide::EvictionKey |
|
using | ExternFuncArgument = Halide::ExternFuncArgument |
|
using | Func = Halide::Func |
|
using | GeneratorContext = Halide::GeneratorContext |
|
using | ImageParam = Halide::ImageParam |
|
using | LoopLevel = Halide::LoopLevel |
|
using | MemoryType = Halide::MemoryType |
|
using | NameMangling = Halide::NameMangling |
|
using | Pipeline = Halide::Pipeline |
|
using | PrefetchBoundStrategy = Halide::PrefetchBoundStrategy |
|
using | RDom = Halide::RDom |
|
using | RVar = Halide::RVar |
|
using | TailStrategy = Halide::TailStrategy |
|
using | Target = Halide::Target |
|
using | Tuple = Halide::Tuple |
|
using | Type = Halide::Type |
|
using | Var = Halide::Var |
|
template<typename T > |
using | GeneratorParam = Halide::GeneratorParam< T > |
|
template<typename T = void, int D = -1> |
using | Buffer = Halide::Buffer< T, D > |
|
template<typename T > |
using | Param = Halide::Param< T > |
|
template<typename T > |
static Expr | cast (Expr e) |
|
static Expr | cast (Halide::Type t, Expr e) |
|
static Type | Bool (int lanes=1) |
|
static Type | Float (int bits, int lanes=1) |
|
static Type | Int (int bits, int lanes=1) |
|
static Type | UInt (int bits, int lanes=1) |
|
enum Halide::Internal::GeneratorBase::Phase | Created |
|
GeneratorParam< Target > | target {"target", Target()} |
|
GeneratorParam< bool > | auto_schedule {"auto_schedule", false} |
|
GeneratorParam< MachineParams > | machine_params {"machine_params", MachineParams::generic()} |
|
template<class T>
class Halide::Generator< T >
- Examples
- tutorial/lesson_15_generators.cpp.
Definition at line 3660 of file Generator.h.