Halide
Halide::Internal::PipelineFeatures Struct Reference

#include <Featurization.h>

Public Types

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

Public Member Functions

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 ()
 

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 15 of file Featurization.h.

Member Enumeration Documentation

◆ OpType

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 

Definition at line 33 of file Featurization.h.

◆ ScalarType

Enumerator
Bool 
UInt8 
UInt16 
UInt32 
UInt64 
Float 
Double 
NumScalarTypes 

Definition at line 61 of file Featurization.h.

◆ AccessType

Enumerator
LoadFunc 
LoadSelf 
LoadImage 
Store 
NumAccessTypes 

Definition at line 77 of file Featurization.h.

Member Function Documentation

◆ num_features()

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

Definition at line 16 of file Featurization.h.

◆ version()

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

Definition at line 20 of file Featurization.h.

◆ operator[]() [1/2]

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

Definition at line 25 of file Featurization.h.

◆ operator[]() [2/2]

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

Definition at line 29 of file Featurization.h.

◆ dump() [1/2]

template<typename OS >
void Halide::Internal::PipelineFeatures::dump ( OS &  os) const
inline

◆ dump() [2/2]

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

Definition at line 158 of file Featurization.h.

Member Data Documentation

◆ types_in_use

int Halide::Internal::PipelineFeatures::types_in_use[(int) ScalarType::NumScalarTypes] = {}

Definition at line 73 of file Featurization.h.

Referenced by dump().

◆ op_histogram

int Halide::Internal::PipelineFeatures::op_histogram[(int) OpType::NumOpTypes][(int) ScalarType::NumScalarTypes] = {}

Definition at line 75 of file Featurization.h.

Referenced by dump().

◆ pointwise_accesses

int Halide::Internal::PipelineFeatures::pointwise_accesses[(int) AccessType::NumAccessTypes][(int) ScalarType::NumScalarTypes] = {}

Definition at line 94 of file Featurization.h.

Referenced by dump().

◆ transpose_accesses

int Halide::Internal::PipelineFeatures::transpose_accesses[(int) AccessType::NumAccessTypes][(int) ScalarType::NumScalarTypes] = {}

Definition at line 96 of file Featurization.h.

Referenced by dump().

◆ broadcast_accesses

int Halide::Internal::PipelineFeatures::broadcast_accesses[(int) AccessType::NumAccessTypes][(int) ScalarType::NumScalarTypes] = {}

Definition at line 98 of file Featurization.h.

Referenced by dump().

◆ slice_accesses

int Halide::Internal::PipelineFeatures::slice_accesses[(int) AccessType::NumAccessTypes][(int) ScalarType::NumScalarTypes] = {}

Definition at line 100 of file Featurization.h.

Referenced by dump().


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