Halide 22.0.0 Halide compiler and libraries

Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Halide::Internal::PipelineFeatures Struct Reference

`#include <Featurization.h>`

## Public Types
enum class | OpType { Const , Cast , Variable , Param , Add , Sub , Mod , Mul , Div , Min , Max , EQ , NE , LT , LE , And , Or , Not , Select , ImageCall , FuncCall , SelfCall , ExternCall , Let , NumOpTypes , Const , Cast , Variable , Param , Add , Sub , Mod , Mul , Div , Min , Max , EQ , NE , LT , LE , And , Or , Not , Select , ImageCall , FuncCall , SelfCall , ExternCall , Let , NumOpTypes }
enum class | ScalarType { Bool , UInt8 , UInt16 , UInt32 , UInt64 , Float , Double , NumScalarTypes , Bool , UInt8 , UInt16 , UInt32 , UInt64 , Float , Double , NumScalarTypes }
enum class | AccessType { LoadFunc , LoadSelf , LoadImage , Store , NumAccessTypes , LoadFunc , LoadSelf , LoadImage , Store , NumAccessTypes }
enum class | OpType { Const , Cast , Variable , Param , Add , Sub , Mod , Mul , Div , Min , Max , EQ , NE , LT , LE , And , Or , Not , Select , ImageCall , FuncCall , SelfCall , ExternCall , Let , NumOpTypes , Const , Cast , Variable , Param , Add , Sub , Mod , Mul , Div , Min , Max , EQ , NE , LT , LE , And , Or , Not , Select , ImageCall , FuncCall , SelfCall , ExternCall , Let , NumOpTypes }
enum class | ScalarType { Bool , UInt8 , UInt16 , UInt32 , UInt64 , Float , Double , NumScalarTypes , Bool , UInt8 , UInt16 , UInt32 , UInt64 , Float , Double , NumScalarTypes }
enum class | AccessType { LoadFunc , LoadSelf , LoadImage , Store , NumAccessTypes , LoadFunc , LoadSelf , LoadImage , Store , NumAccessTypes }

## Public Member Functions
int & | operator[] (int idx)
int | operator[] (int idx) const
void | dump (std::ostream &os) const
int & | operator[] (int idx)
int | operator[] (int idx) const
template<typename OS >
void | dump (OS &os) const
void | dump () const

## Static Public Member Functions
static constexpr size_t | num_features ()
static constexpr uint32_t | version ()
static constexpr size_t | num_features ()
static constexpr uint32_t | version ()

## Public Attributes
int | types_in_use [(int) ScalarType::NumScalarTypes] = {}
int | op_histogram [(int) OpType::NumOpTypes][(int) ScalarType::NumScalarTypes] = {}
int | pointwise_accesses [(int) AccessType::NumAccessTypes][(int) ScalarType::NumScalarTypes] = {}
int | transpose_accesses [(int) AccessType::NumAccessTypes][(int) ScalarType::NumScalarTypes] = {}
int | broadcast_accesses [(int) AccessType::NumAccessTypes][(int) ScalarType::NumScalarTypes] = {}
int | slice_accesses [(int) AccessType::NumAccessTypes][(int) ScalarType::NumScalarTypes] = {}

## Detailed Description

Definition at line 13 of file Featurization.h.

## Member Enumeration Documentation

## ◆ OpType [1/2]

enum class Halide::Internal::PipelineFeatures::OpType
| strong

Enumerator
Const |
Cast |
Variable |
Param |
Add |
Sub |
Mod |
Mul |
Div |
Min |
Max |
EQ |
NE |
LT |
LE |
And |
Or |
Not |
Select |
ImageCall |
FuncCall |
SelfCall |
ExternCall |
Let |
NumOpTypes |
Const |
Cast |
Variable |
Param |
Add |
Sub |
Mod |
Mul |
Div |
Min |
Max |
EQ |
NE |
LT |
LE |
And |
Or |
Not |
Select |
ImageCall |
FuncCall |
SelfCall |
ExternCall |
Let |
NumOpTypes |

Definition at line 31 of file Featurization.h.

## ◆ ScalarType [1/2]

enum class Halide::Internal::PipelineFeatures::ScalarType
| strong

Enumerator
Bool |
UInt8 |
UInt16 |
UInt32 |
UInt64 |
Float |
Double |
NumScalarTypes |
Bool |
UInt8 |
UInt16 |
UInt32 |
UInt64 |
Float |
Double |
NumScalarTypes |

Definition at line 59 of file Featurization.h.

## ◆ AccessType [1/2]

enum class Halide::Internal::PipelineFeatures::AccessType
| strong

Enumerator
LoadFunc |
LoadSelf |
LoadImage |
Store |
NumAccessTypes |
LoadFunc |
LoadSelf |
LoadImage |
Store |
NumAccessTypes |

Definition at line 75 of file Featurization.h.

## ◆ OpType [2/2]

enum class Halide::Internal::PipelineFeatures::OpType
| strong

Enumerator
Const |
Cast |
Variable |
Param |
Add |
Sub |
Mod |
Mul |
Div |
Min |
Max |
EQ |
NE |
LT |
LE |
And |
Or |
Not |
Select |
ImageCall |
FuncCall |
SelfCall |
ExternCall |
Let |
NumOpTypes |
Const |
Cast |
Variable |
Param |
Add |
Sub |
Mod |
Mul |
Div |
Min |
Max |
EQ |
NE |
LT |
LE |
And |
Or |
Not |
Select |
ImageCall |
FuncCall |
SelfCall |
ExternCall |
Let |
NumOpTypes |

Definition at line 33 of file Featurization.h.

## ◆ ScalarType [2/2]

enum class Halide::Internal::PipelineFeatures::ScalarType
| strong

Enumerator
Bool |
UInt8 |
UInt16 |
UInt32 |
UInt64 |
Float |
Double |
NumScalarTypes |
Bool |
UInt8 |
UInt16 |
UInt32 |
UInt64 |
Float |
Double |
NumScalarTypes |

Definition at line 61 of file Featurization.h.

## ◆ AccessType [2/2]

enum class Halide::Internal::PipelineFeatures::AccessType
| strong

Enumerator
LoadFunc |
LoadSelf |
LoadImage |
Store |
NumAccessTypes |
LoadFunc |
LoadSelf |
LoadImage |
Store |
NumAccessTypes |

Definition at line 77 of file Featurization.h.

## Member Function Documentation

## ◆ num_features() [1/2]

static constexpr size_t Halide::Internal::PipelineFeatures::num_features | ( |  | ) |
| inlinestaticconstexpr

Definition at line 14 of file Featurization.h.

## ◆ version() [1/2]

static constexpr uint32_t Halide::Internal::PipelineFeatures::version | ( |  | ) |
| inlinestaticconstexpr

Definition at line 18 of file Featurization.h.

## ◆ operator[]() [1/4]

int & Halide::Internal::PipelineFeatures::operator[] | ( | int | idx | ) |
| inline

Definition at line 23 of file Featurization.h.

## ◆ operator[]() [2/4]

int Halide::Internal::PipelineFeatures::operator[] | ( | int | idx | ) | const
| inline

Definition at line 27 of file Featurization.h.

## ◆ dump() [1/3]

void Halide::Internal::PipelineFeatures::dump | ( | std::ostream & | os | ) | const
| inline

Definition at line 100 of file Featurization.h.

References Add, And, broadcast_accesses, Cast, Const, Div, EQ, ExternCall, FuncCall, ImageCall, LE, Let, LT, Max, Min, Mod, Mul, NE, Not, NumScalarTypes, op_histogram, Or, Param, pointwise_accesses, Select, SelfCall, slice_accesses, Sub, transpose_accesses, types_in_use, and Variable.

## ◆ num_features() [2/2]

static constexpr size_t Halide::Internal::PipelineFeatures::num_features | ( |  | ) |
| inlinestaticconstexpr

Definition at line 16 of file Featurization.h.

## ◆ version() [2/2]

static constexpr uint32_t Halide::Internal::PipelineFeatures::version | ( |  | ) |
| inlinestaticconstexpr

Definition at line 20 of file Featurization.h.

## ◆ operator[]() [3/4]

int & Halide::Internal::PipelineFeatures::operator[] | ( | int | idx | ) |
| inline

Definition at line 25 of file Featurization.h.

## ◆ operator[]() [4/4]

int Halide::Internal::PipelineFeatures::operator[] | ( | int | idx | ) | const
| inline

Definition at line 29 of file Featurization.h.

## ◆ dump() [2/3]

template<typename OS >

void Halide::Internal::PipelineFeatures::dump | ( | OS & | os | ) | const
| inline

Definition at line 103 of file Featurization.h.

References Add, And, broadcast_accesses, Cast, Const, Div, EQ, ExternCall, FuncCall, ImageCall, LE, Let, LT, Max, Min, Mod, Mul, NE, Not, NumScalarTypes, op_histogram, Or, Param, pointwise_accesses, Select, SelfCall, slice_accesses, Sub, transpose_accesses, types_in_use, and Variable.

## ◆ dump() [3/3]

void Halide::Internal::PipelineFeatures::dump | ( |  | ) | const
| inline

Definition at line 160 of file Featurization.h.

References dump().

Referenced by dump().

## Member Data Documentation

## ◆ types_in_use

int Halide::Internal::PipelineFeatures::types_in_use = {}

Definition at line 71 of file Featurization.h.

Referenced by dump().

## ◆ op_histogram

int Halide::Internal::PipelineFeatures::op_histogram = {}

Definition at line 73 of file Featurization.h.

Referenced by dump().

## ◆ pointwise_accesses

int Halide::Internal::PipelineFeatures::pointwise_accesses = {}

Definition at line 92 of file Featurization.h.

Referenced by dump().

## ◆ transpose_accesses

int Halide::Internal::PipelineFeatures::transpose_accesses = {}

Definition at line 94 of file Featurization.h.

Referenced by dump().

## ◆ broadcast_accesses

int Halide::Internal::PipelineFeatures::broadcast_accesses = {}

Definition at line 96 of file Featurization.h.

Referenced by dump().

## ◆ slice_accesses

int Halide::Internal::PipelineFeatures::slice_accesses = {}

Definition at line 98 of file Featurization.h.

Referenced by dump().

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

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