RecFilter
RecFilterFunc Class Reference

Recursive filter function with scheduling interface. More...

#include <recfilter_internals.h>

Data Fields

Halide::Internal::Function func
 Halide function. More...
 
FuncTag func_category
 Category tag for the function. More...
 
std::map< std::string, VarTagpure_var_category
 Category tags for all the pure def vars. More...
 
std::vector< std::map< std::string, VarTag > > update_var_category
 Category tags for all the vars in all the update defs. More...
 
std::map< std::string, std::string > pure_var_splits
 List of new vars created by RecFilterSchedule::split() on pure definition. More...
 
std::map< int, std::map< std::string, std::string > > update_var_splits
 List of new vars created by RecFilterSchedule::split() on update definitions. More...
 
std::string consumer_func
 Name of consumer function. More...
 
std::string producer_func
 Name of producer function. More...
 
Halide::Func external_consumer_func
 External consumer function which consumes RecFilter's output; external consumer means a Func outside the RecFilter pipeline that consumes the output of the RecFilter. More...
 
Halide::Var external_consumer_var
 External consumer function's loop level at which the RecFilter's output is consumed; external consumer means a Func outside the RecFilter pipeline that consumes the output of the RecFilter. More...
 
std::vector< std::string > pure_schedule
 Schedule for pure def of the function as valid Halide code. More...
 
std::map< int, std::vector< std::string > > update_schedule
 Schedule for update defs of the function as valid Halide code. More...
 

Detailed Description

Recursive filter function with scheduling interface.

Definition at line 89 of file recfilter_internals.h.

Field Documentation

Halide::Internal::Function RecFilterFunc::func

Halide function.

Definition at line 92 of file recfilter_internals.h.

FuncTag RecFilterFunc::func_category

Category tag for the function.

Definition at line 95 of file recfilter_internals.h.

std::map<std::string, VarTag> RecFilterFunc::pure_var_category

Category tags for all the pure def vars.

Definition at line 98 of file recfilter_internals.h.

std::vector<std::map<std::string,VarTag> > RecFilterFunc::update_var_category

Category tags for all the vars in all the update defs.

Definition at line 101 of file recfilter_internals.h.

std::map<std::string, std::string> RecFilterFunc::pure_var_splits

List of new vars created by RecFilterSchedule::split() on pure definition.

Definition at line 104 of file recfilter_internals.h.

std::map<int, std::map<std::string, std::string> > RecFilterFunc::update_var_splits

List of new vars created by RecFilterSchedule::split() on update definitions.

Definition at line 107 of file recfilter_internals.h.

std::string RecFilterFunc::consumer_func

Name of consumer function.

This can be set if this function has REINDEX tag set because only REINDEX functions are guaranteed to have a single consumer

Definition at line 111 of file recfilter_internals.h.

std::string RecFilterFunc::producer_func

Name of producer function.

This can be set if this function has REINDEX tag set because only REINDEX functions are guaranteed to have a single producer

Definition at line 115 of file recfilter_internals.h.

Halide::Func RecFilterFunc::external_consumer_func

External consumer function which consumes RecFilter's output; external consumer means a Func outside the RecFilter pipeline that consumes the output of the RecFilter.

This is set by RecFilter::compute_at() and is useful for merging the final stage of the recfilter and initial stage of next filter. This can be set if this function has REINDEX tag set; only REINDEX functions are guaranteed to have a single consumer

Definition at line 123 of file recfilter_internals.h.

Halide::Var RecFilterFunc::external_consumer_var

External consumer function's loop level at which the RecFilter's output is consumed; external consumer means a Func outside the RecFilter pipeline that consumes the output of the RecFilter.

This is set by RecFilter::compute_at() and is useful for merging the final stage of the recfilter and initial stage of next filter. This can be set if this function has REINDEX tag set; only REINDEX functions are guaranteed to have a single consumer

Definition at line 131 of file recfilter_internals.h.

std::vector<std::string> RecFilterFunc::pure_schedule

Schedule for pure def of the function as valid Halide code.

Definition at line 134 of file recfilter_internals.h.

std::map<int, std::vector<std::string> > RecFilterFunc::update_schedule

Schedule for update defs of the function as valid Halide code.

Definition at line 137 of file recfilter_internals.h.


The documentation for this class was generated from the following file: