Halide 22.0.0 Halide compiler and libraries

Classes | Public Member Functions | Public Attributes | List of all members
Halide::Internal::Autoscheduler::FunctionDAG::Node Struct Reference

`#include <FunctionDAG.h>`

## Classes
struct | Loop
struct | RegionComputedInfo
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

## ◆ 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

## ◆ 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.

## ◆ 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