ZigZag - Deep Learning Hardware Design Space Exploration
This repository presents the novel version of our tried-and-tested hardware Architecture-Mapping Design Space Exploration (DSE) Framework for Deep Learning (DL) accelerators. ZigZag bridges the gap between algorithmic DL decisions and their acceleration cost on specialized accelerators through a fast and accurate hardware cost estimation.
LayerTemporalOrdering Class Reference

Represents a user-defined temporal ordering. More...

Inheritance diagram for LayerTemporalOrdering:
Collaboration diagram for LayerTemporalOrdering:

Public Member Functions

def __init__ (self, list[list[str|UnrollFactorInt]] data)
 data will look like: [['K', 12], ['C', 3]] More...
 
def is_empty (self)
 
def is_complete (self, dict[LayerDim, UnrollFactor] temporal_loop_sizes)
 Return wether this temporal ordering matches the given, mandatory loop sizes. More...
 
def remove_invalid_layer_dims (self, LayerDimSizes layer_dim_sizes, str layer_name="")
 
def to_legacy_format (self)
 
list[PermutationConstraintget_constraints (self)
 
def __hash__ (self)
 
- Public Member Functions inherited from LayerAttribute
def __init__ (self, Any data)
 
int __len__ (self)
 
Iterator[Any] __iter__ (self)
 
def __getitem__ (self, Any key)
 
bool __contains__ (self, Any key)
 
def __str__ (self)
 
def __repr__ (self)
 
Any __jsonrepr__ (self)
 
def __eq__ (self, object other)
 

Static Public Member Functions

def empty ()
 

Public Attributes

 data
 
- Public Attributes inherited from LayerAttribute
 data
 

Detailed Description

Represents a user-defined temporal ordering.

Constructor & Destructor Documentation

◆ __init__()

def __init__ (   self,
list[list[str | UnrollFactorInt]]  data 
)

data will look like: [['K', 12], ['C', 3]]

Member Function Documentation

◆ __hash__()

def __hash__ (   self)

Reimplemented from LayerAttribute.

◆ empty()

def empty ( )
static

◆ get_constraints()

list[PermutationConstraint] get_constraints (   self)

◆ is_complete()

def is_complete (   self,
dict[LayerDim, UnrollFactor]  temporal_loop_sizes 
)

Return wether this temporal ordering matches the given, mandatory loop sizes.

◆ is_empty()

def is_empty (   self)

◆ remove_invalid_layer_dims()

def remove_invalid_layer_dims (   self,
LayerDimSizes  layer_dim_sizes,
str   layer_name = "" 
)

◆ to_legacy_format()

def to_legacy_format (   self)

Member Data Documentation

◆ data

data

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