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.
MappingSingleOADim Class Reference

Spatial unrolling for a single OADimension. More...

Public Member Functions

def __init__ (self, dict[LayerDim, UnrollFactor] data)
 
def utilization (self)
 Returns the hardware utilization, i.e. More...
 
set[LayerDimlayer_dims (self)
 
list[UnrollFactor] unroll_sizes (self)
 
def keys (self)
 
def get_data (self)
 
def __getitem__ (self, LayerDim key)
 
def __delitem__ (self, LayerDim key)
 
def __contains__ (self, LayerDim key)
 
def items (self)
 
def update (self, "MappingSingleOADim" other)
 
def __setitem__ (self, LayerDim key, UnrollFactor|float value)
 
def __str__ (self)
 
def __repr__ (self)
 
def __jsonrepr__ (self)
 
bool __eq__ (self, Any other)
 Return true iff the contained LayerDims are the same and all unrollings are the same. More...
 
def __hash__ (self)
 

Detailed Description

Spatial unrolling for a single OADimension.

Constructor & Destructor Documentation

◆ __init__()

def __init__ (   self,
dict[LayerDim, UnrollFactor]  data 
)

Member Function Documentation

◆ __contains__()

def __contains__ (   self,
LayerDim  key 
)

◆ __delitem__()

def __delitem__ (   self,
LayerDim  key 
)

◆ __eq__()

bool __eq__ (   self,
Any  other 
)

Return true iff the contained LayerDims are the same and all unrollings are the same.

Here is the call graph for this function:

◆ __getitem__()

def __getitem__ (   self,
LayerDim  key 
)

◆ __hash__()

def __hash__ (   self)
Here is the call graph for this function:

◆ __jsonrepr__()

def __jsonrepr__ (   self)
Here is the call graph for this function:

◆ __repr__()

def __repr__ (   self)

◆ __setitem__()

def __setitem__ (   self,
LayerDim  key,
UnrollFactor | float  value 
)

◆ __str__()

def __str__ (   self)
Here is the call graph for this function:

◆ get_data()

def get_data (   self)

◆ items()

def items (   self)
Here is the caller graph for this function:

◆ keys()

def keys (   self)
Here is the caller graph for this function:

◆ layer_dims()

set[LayerDim] layer_dims (   self)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ unroll_sizes()

list[UnrollFactor] unroll_sizes (   self)

◆ update()

def update (   self,
"MappingSingleOADim"  other 
)

◆ utilization()

def utilization (   self)

Returns the hardware utilization, i.e.

the product of all unrolled dimensions


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