Loading...
Searching...
No Matches
Halide::Internal::Autoscheduler::FunctionDAG::Node Struct Reference

`#include <FunctionDAG.h>`

## Classes

struct | RegionComputedInfo
struct | Loop
struct | Stage

## Public Member Functions

void | required_to_computed (const Span *required, Span *computed) const
void | loop_nest_for_region (int stage_idx, const Span *computed, Span *loop) const
BoundContents * | make_bound () const
void | required_to_computed (const Span *required, Span *computed) const
void | loop_nest_for_region (int stage_idx, const Span *computed, Span *loop) const
BoundContents * | make_bound () const

## Public Attributes

FunctionDAG * | dag
Function | func
double | bytes_per_point
vector< SymbolicInterval > | region_required
vector< Span > | estimated_region_required
vector< RegionComputedInfo > | region_computed
bool | region_computed_all_common_cases = false
vector< Stage > | stages
vector< Edge * > | outgoing_edges
int | vector_size
int | id
int | max_id
int | dimensions
bool | is_wrapper
bool | is_input
bool | is_output
bool | is_pointwise
bool | is_boundary_condition
std::unique_ptr< BoundContents::Layout > | bounds_memory_layout

## Detailed Description

Definition at line 378 of file FunctionDAG.h.

## Member Function Documentation

## required_to_computed() [1/2]

void Halide::Internal::Autoscheduler::FunctionDAG::Node::required_to_computed | ( | const Span * | required,
|  | Span * | computed ) const

## loop_nest_for_region() [1/2]

void Halide::Internal::Autoscheduler::FunctionDAG::Node::loop_nest_for_region | ( | int | stage_idx,
|  | const Span * | computed,
|  | Span * | loop ) const

## make_bound() [1/2]

BoundContents * Halide::Internal::Autoscheduler::FunctionDAG::Node::make_bound | ( |  | ) | const

inline

Definition at line 520 of file FunctionDAG.h.

References bounds_memory_layout.

## required_to_computed() [2/2]

void Halide::Internal::Autoscheduler::FunctionDAG::Node::required_to_computed | ( | const Span * | required,
|  | Span * | computed ) const

References Halide::Internal::max(), and Halide::Internal::min().

## loop_nest_for_region() [2/2]

void Halide::Internal::Autoscheduler::FunctionDAG::Node::loop_nest_for_region | ( | int | stage_idx,
|  | const Span * | computed,
|  | Span * | loop ) const

References vector_size.

## make_bound() [2/2]

BoundContents * Halide::Internal::Autoscheduler::FunctionDAG::Node::make_bound | ( |  | ) | const

inline

Definition at line 564 of file FunctionDAG.h.

References bounds_memory_layout.

## Member Data Documentation

## dag

FunctionDAG * Halide::Internal::Autoscheduler::FunctionDAG::Node::dag

Definition at line 380 of file FunctionDAG.h.

## func

Function Halide::Internal::Autoscheduler::FunctionDAG::Node::func

Definition at line 383 of file FunctionDAG.h.

Referenced by Halide::Internal::Autoscheduler::LoopNestParser::is_in_partial_schedule().

## bytes_per_point

double Halide::Internal::Autoscheduler::FunctionDAG::Node::bytes_per_point

Definition at line 386 of file FunctionDAG.h.

## region_required

vector< SymbolicInterval > Halide::Internal::Autoscheduler::FunctionDAG::Node::region_required

Definition at line 390 of file FunctionDAG.h.

## estimated_region_required

vector< Span > Halide::Internal::Autoscheduler::FunctionDAG::Node::estimated_region_required

Definition at line 394 of file FunctionDAG.h.

## region_computed

vector< RegionComputedInfo > Halide::Internal::Autoscheduler::FunctionDAG::Node::region_computed

Definition at line 412 of file FunctionDAG.h.

## region_computed_all_common_cases

bool Halide::Internal::Autoscheduler::FunctionDAG::Node::region_computed_all_common_cases = false

Definition at line 413 of file FunctionDAG.h.

## stages

vector< Stage > Halide::Internal::Autoscheduler::FunctionDAG::Node::stages

Definition at line 487 of file FunctionDAG.h.

## outgoing_edges

vector< Edge * > Halide::Internal::Autoscheduler::FunctionDAG::Node::outgoing_edges

Definition at line 489 of file FunctionDAG.h.

## vector_size

int Halide::Internal::Autoscheduler::FunctionDAG::Node::vector_size

Definition at line 492 of file FunctionDAG.h.

Referenced by loop_nest_for_region().

## id

int Halide::Internal::Autoscheduler::FunctionDAG::Node::id

Definition at line 496 of file FunctionDAG.h.

Referenced by Halide::Internal::Autoscheduler::FunctionDAG::Node::Stage::downstream_of().

## max_id

int Halide::Internal::Autoscheduler::FunctionDAG::Node::max_id

Definition at line 496 of file FunctionDAG.h.

## dimensions

int Halide::Internal::Autoscheduler::FunctionDAG::Node::dimensions

Definition at line 501 of file FunctionDAG.h.

## is_wrapper

bool Halide::Internal::Autoscheduler::FunctionDAG::Node::is_wrapper

Definition at line 504 of file FunctionDAG.h.

## is_input

bool Halide::Internal::Autoscheduler::FunctionDAG::Node::is_input

Definition at line 507 of file FunctionDAG.h.

## is_output

bool Halide::Internal::Autoscheduler::FunctionDAG::Node::is_output

Definition at line 510 of file FunctionDAG.h.

## is_pointwise

bool Halide::Internal::Autoscheduler::FunctionDAG::Node::is_pointwise

Definition at line 513 of file FunctionDAG.h.

## is_boundary_condition

bool Halide::Internal::Autoscheduler::FunctionDAG::Node::is_boundary_condition

Definition at line 516 of file FunctionDAG.h.

## bounds_memory_layout

std::unique_ptr< BoundContents::Layout > Halide::Internal::Autoscheduler::FunctionDAG::Node::bounds_memory_layout

Definition at line 518 of file FunctionDAG.h.

Referenced by make_bound().

The documentation for this struct was generated from the following files:

- src/autoschedulers/adams2019/FunctionDAG.h
- src/autoschedulers/anderson2021/FunctionDAG.h