Halide 22.0.0 Halide compiler and libraries

Public Member Functions | List of all members
Halide::CostModel Class Referenceabstract

`#include <CostModel.h>`

Inheritance diagram for Halide::CostModel:

## Public Member Functions
virtual | ~CostModel ()=default
virtual void | set_pipeline_features (const Internal::Autoscheduler::FunctionDAG &dag, const Internal::Autoscheduler::Adams2019Params &params)=0
virtual void | enqueue (const Internal::Autoscheduler::FunctionDAG &dag, const Halide::Internal::Autoscheduler::StageMapOfScheduleFeatures &schedule_feats, double *cost_ptr)=0
virtual void | evaluate_costs ()=0
virtual void | reset ()=0
virtual | ~CostModel ()=default
virtual void | set_pipeline_features (const Internal::Autoscheduler::FunctionDAG &dag, const Internal::Autoscheduler::Anderson2021Params &params)=0
virtual void | enqueue (const Internal::Autoscheduler::FunctionDAG &dag, const Halide::Internal::Autoscheduler::StageMapOfScheduleFeatures &schedule_feats, double *cost_ptr, std::vector< double > *cost_per_stage_ptr)=0
virtual void | evaluate_costs ()=0
virtual void | reset ()=0

## Detailed Description

Definition at line 61 of file CostModel.h.

## Constructor & Destructor Documentation

## ◆ ~CostModel() [1/2]

virtual Halide::CostModel::~CostModel | ( |  | ) |
| virtual default

## ◆ ~CostModel() [2/2]

virtual Halide::CostModel::~CostModel | ( |  | ) |
| virtual default

## Member Function Documentation

## ◆ set_pipeline_features() [1/2]

virtual void Halide::CostModel::set_pipeline_features | ( | const Internal::Autoscheduler::FunctionDAG & | dag,
|  | const Internal::Autoscheduler::Adams2019Params & | params
| ) |  |
| pure virtual

Implemented in Halide::DefaultCostModel.

## ◆ enqueue() [1/2]

virtual void Halide::CostModel::enqueue | ( | const Internal::Autoscheduler::FunctionDAG & | dag,
|  | const Halide::Internal::Autoscheduler::StageMapOfScheduleFeatures & | schedule_feats,
|  | double * | cost_ptr
| ) |  |
| pure virtual

Implemented in Halide::DefaultCostModel.

## ◆ evaluate_costs() [1/2]

virtual void Halide::CostModel::evaluate_costs | ( |  | ) |
| pure virtual

Implemented in Halide::DefaultCostModel, and Halide::DefaultCostModel.

## ◆ reset() [1/2]

virtual void Halide::CostModel::reset | ( |  | ) |
| pure virtual

Implemented in Halide::DefaultCostModel, and Halide::DefaultCostModel.

## ◆ set_pipeline_features() [2/2]

virtual void Halide::CostModel::set_pipeline_features | ( | const Internal::Autoscheduler::FunctionDAG & | dag,
|  | const Internal::Autoscheduler::Anderson2021Params & | params
| ) |  |
| pure virtual

Implemented in Halide::DefaultCostModel.

## ◆ enqueue() [2/2]

virtual void Halide::CostModel::enqueue | ( | const Internal::Autoscheduler::FunctionDAG & | dag,
|  | const Halide::Internal::Autoscheduler::StageMapOfScheduleFeatures & | schedule_feats,
|  | double * | cost_ptr,
|  | std::vector< double > * | cost_per_stage_ptr
| ) |  |
| pure virtual

Implemented in Halide::DefaultCostModel.

## ◆ evaluate_costs() [2/2]

virtual void Halide::CostModel::evaluate_costs | ( |  | ) |
| pure virtual

Implemented in Halide::DefaultCostModel, and Halide::DefaultCostModel.

## ◆ reset() [2/2]

virtual void Halide::CostModel::reset | ( |  | ) |
| pure virtual

Implemented in Halide::DefaultCostModel, and Halide::DefaultCostModel.

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

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