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

This class captures multi-dimensional operational array size. More...

Inheritance diagram for OperationalArray:
Collaboration diagram for OperationalArray:

Public Member Functions

def __init__ (self, OperationalUnit operational_unit, dict[OADimension, int] dimension_sizes)
 
def __jsonrepr__ (self)
 
bool __eq__ (self, Any other)
 
- Public Member Functions inherited from OperationalArrayABC
def __init__ (self, dict[OADimension, int] dimension_sizes)
 

Public Attributes

 total_unit_count
 
 total_area
 
 unit
 
 dimension_sizes
 
- Public Attributes inherited from OperationalArrayABC
 dimension_sizes
 

Detailed Description

This class captures multi-dimensional operational array size.

Constructor & Destructor Documentation

◆ __init__()

def __init__ (   self,
OperationalUnit  operational_unit,
dict[OADimension, int]  dimension_sizes 
)
Parameters
operational_unitan OperationalUnit object including precision and single operation energy, later we can add idle energy also (e.g. for situations that one or two of the input operands is zero).
dimensionsdefine the name and size of each multiplier array dimensions, e.g. {'D1': 3, 'D2': 5}.

Member Function Documentation

◆ __eq__()

bool __eq__ (   self,
Any  other 
)

◆ __jsonrepr__()

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

Member Data Documentation

◆ dimension_sizes

dimension_sizes

◆ total_area

total_area

◆ total_unit_count

total_unit_count

◆ unit

unit

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