Loading...
Searching...
No Matches
AutoScheduleUtils.h File Reference

Defines util functions that used by auto scheduler. More...

`#include <limits>`
`#include <set>`
`#include "Bounds.h"`
`#include "Definition.h"`
`#include "IRVisitor.h"`
`#include "Interval.h"`

Go to the source code of this file.

## Classes

class | Halide::Internal::FindAllCalls
| Visitor for keeping track of functions that are directly called and the arguments with which they are called. More...

## Namespaces

namespace | Halide
| This file defines the class FunctionDAG, which is our representation of a Halide pipeline, and contains methods to using Halide's bounds tools to query properties of it.
namespace | Halide::Internal

## Typedefs

typedef std::map< std::string, Interval > | Halide::Internal::DimBounds

## Functions

int | Halide::Internal::string_to_int (const std::string &s)
| Return an int representation of 's'.
Expr | Halide::Internal::substitute_var_estimates (Expr e)
| Substitute every variable in an Expr or a Stmt with its estimate if specified.
Stmt | Halide::Internal::substitute_var_estimates (Stmt s)
Expr | Halide::Internal::get_extent (const Interval &i)
| Return the size of an interval.
Expr | Halide::Internal::box_size (const Box &b)
| Return the size of an n-d box.
void | Halide::Internal::disp_regions (const std::map< std::string, Box > &regions)
| Helper function to print the bounds of a region.
Definition | Halide::Internal::get_stage_definition (const Function &f, int stage_num)
| Return the corresponding definition of a function given the stage.
std::vector< Dim > & | Halide::Internal::get_stage_dims (const Function &f, int stage_num)
| Return the corresponding loop dimensions of a function given the stage.
void | Halide::Internal::combine_load_costs (std::map< std::string, Expr > &result, const std::map< std::string, Expr > &partial)
| Add partial load costs to the corresponding function in the result costs.
DimBounds | Halide::Internal::get_stage_bounds (const Function &f, int stage_num, const DimBounds &pure_bounds)
| Return the required bounds of an intermediate stage (f, stage_num) of function 'f' given the bounds of the pure dimensions.
std::vector< DimBounds > | Halide::Internal::get_stage_bounds (const Function &f, const DimBounds &pure_bounds)
| Return the required bounds for all the stages of the function 'f'.
Expr | Halide::Internal::perform_inline (Expr e, const std::map< std::string, Function > &env, const std::set< std::string > &inlines=std::set< std::string >(), const std::vector< std::string > &order=std::vector< std::string >())
| Recursively inline all the functions in the set 'inlines' into the expression 'e' and return the resulting expression.
std::set< std::string > | Halide::Internal::get_parents (Function f, int stage)
| Return all functions that are directly called by a function stage (f, stage).
template<typename K, typename V>
V | Halide::Internal::get_element (const std::map< K, V > &m, const K &key)
| Return value of element within a map.
template<typename K, typename V>
V & | Halide::Internal::get_element (std::map< K, V > &m, const K &key)
bool | Halide::Internal::inline_all_trivial_functions (const std::vector< Function > &outputs, const std::vector< std::string > &order, const std::map< std::string, Function > &env)
| If the cost of computing a Func is about the same as calling the Func, inline the Func.
std::string | Halide::Internal::is_func_called_element_wise (const std::vector< std::string > &order, size_t index, const std::map< std::string, Function > &env)
| Determine if a Func (order[index]) is only consumed by another single Func in element-wise manner.
bool | Halide::Internal::inline_all_element_wise_functions (const std::vector< Function > &outputs, const std::vector< std::string > &order, const std::map< std::string, Function > &env)
| Inline a Func if its values are only consumed by another single Func in element-wise manner.
void | Halide::Internal::propagate_estimate_test ()

## Variables

const int64_t | Halide::Internal::unknown = std::numeric_limits<int64_t>::min()

## Detailed Description

Defines util functions that used by auto scheduler.

Definition in file AutoScheduleUtils.h.