|
| 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 |
| |
| | ~GeneratorBase () override |
| |
| 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...
|
| |
| 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) |
| |
| void | add_requirement (const Expr &condition, const std::vector< Expr > &error_args) |
| |
| template<typename... Args, typename = typename std::enable_if<Internal::all_are_printable_args<Args...>::value>::type> |
| HALIDE_NO_USER_CODE_INLINE void | add_requirement (const Expr &condition, Args &&...error_args) |
| |
| void | trace_pipeline () |
| |
| std::string | name () override |
| | Return the name of this Generator. More...
|
| |
| GeneratorContext | context () const override |
| | Return the Target and autoscheduler info that this Generator was created with. More...
|
| |
| std::vector< ArgInfo > | arginfos () override |
| | Return a list of all the ArgInfos for this generator. More...
|
| |
| bool | allow_out_of_order_inputs_and_outputs () const override |
| | By default, a Generator must declare all Inputs before all Outputs. More...
|
| |
| void | set_generatorparam_value (const std::string &name, const std::string &value) override |
| | Set the value for a specific GeneratorParam for an AbstractGenerator instance. More...
|
| |
| void | set_generatorparam_value (const std::string &name, const LoopLevel &loop_level) override |
| |
| std::vector< Parameter > | input_parameter (const std::string &name) override |
| | Given the name of an input, return the Parameter(s) for that input. More...
|
| |
| std::vector< Func > | output_func (const std::string &name) override |
| | Given the name of an output, return the Func(s) for that output. More...
|
| |
| void | bind_input (const std::string &name, const std::vector< Parameter > &v) override |
| | Rebind a specified Input to refer to the given piece of IR, replacing the default ImageParam / Param in place for that Input. More...
|
| |
| void | bind_input (const std::string &name, const std::vector< Func > &v) override |
| |
| void | bind_input (const std::string &name, const std::vector< Expr > &v) override |
| |
| bool | emit_cpp_stub (const std::string &stub_file_path) override |
| | Emit a Generator Stub (.stub.h) file to the given path. More...
|
| |
| bool | emit_hlpipe (const std::string &hlpipe_file_path) override |
| | Emit a Serialized Halide Pipeline (.hlpipe) file to the given path. More...
|
| |
| | GeneratorBase (const GeneratorBase &)=delete |
| |
| GeneratorBase & | operator= (const GeneratorBase &)=delete |
| |
| | GeneratorBase (GeneratorBase &&that)=delete |
| |
| GeneratorBase & | operator= (GeneratorBase &&that)=delete |
| |
| virtual | ~AbstractGenerator ()=default |
| |
| virtual std::string | name ()=0 |
| | Return the name of this Generator. More...
|
| |
| virtual GeneratorContext | context () const =0 |
| | Return the Target and autoscheduler info that this Generator was created with. More...
|
| |
| virtual std::vector< ArgInfo > | arginfos ()=0 |
| | Return a list of all the ArgInfos for this generator. More...
|
| |
| virtual void | set_generatorparam_value (const std::string &name, const std::string &value)=0 |
| | Set the value for a specific GeneratorParam for an AbstractGenerator instance. More...
|
| |
| virtual void | set_generatorparam_value (const std::string &name, const LoopLevel &loop_level)=0 |
| |
| virtual Pipeline | build_pipeline ()=0 |
| | Build and return the Pipeline for this AbstractGenerator. More...
|
| |
| virtual std::vector< Parameter > | input_parameter (const std::string &name)=0 |
| | Given the name of an input, return the Parameter(s) for that input. More...
|
| |
| virtual std::vector< Func > | output_func (const std::string &name)=0 |
| | Given the name of an output, return the Func(s) for that output. More...
|
| |
| virtual void | bind_input (const std::string &name, const std::vector< Parameter > &v)=0 |
| | Rebind a specified Input to refer to the given piece of IR, replacing the default ImageParam / Param in place for that Input. More...
|
| |
| virtual void | bind_input (const std::string &name, const std::vector< Func > &v)=0 |
| |
| virtual void | bind_input (const std::string &name, const std::vector< Expr > &v)=0 |
| |
| virtual bool | emit_cpp_stub (const std::string &stub_file_path)=0 |
| | Emit a Generator Stub (.stub.h) file to the given path. More...
|
| |
| virtual bool | emit_hlpipe (const std::string &hlpipe_file_path)=0 |
| | Emit a Serialized Halide Pipeline (.hlpipe) file to the given path. More...
|
| |
| virtual bool | allow_out_of_order_inputs_and_outputs () const =0 |
| | By default, a Generator must declare all Inputs before all Outputs. More...
|
| |
| Module | build_module (const std::string &function_name="") |
| | Call generate() and produce a Module for the result. More...
|
| |
| 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...
|
| |
| Callable | compile_to_callable (const JITHandlers *jit_handlers=nullptr, const std::map< std::string, JITExtern > *jit_externs=nullptr) |
| | JIT the AbstractGenerator into a Callable (using the currently-set Target) and return it. More...
|
| |
| void | set_generatorparam_values (const GeneratorParamsMap &m) |
| |