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.
|
This class houses the array of multipliers and the attached memory hierarchy. More...
Public Member Functions | |
def | __init__ (self, int core_id, str name, OperationalArrayABC operational_array, MemoryHierarchy memory_hierarchy, SpatialMapping|None dataflows=None) |
MemoryLevel | get_memory_level (self, MemoryOperand mem_op, int mem_lv) |
Returns a specific memory level in the memory hierarchy for the memory operand. More... | |
None | recalculate_memory_hierarchy_information (self) |
MemoryInstance | get_top_memory_instance (self, MemoryOperand mem_op) |
def | get_memory_bw_dict (self) |
def | get_memory_bw_min_dict (self) |
str | __str__ (self) |
str | __repr__ (self) |
def | __jsonrepr__ (self) |
int | __hash__ (self) |
bool | __eq__ (self, object other) |
bool | has_same_performance (self, "Accelerator" other) |
Public Attributes | |
id | |
name | |
operational_array | |
memory_hierarchy | |
mem_hierarchy_dict | |
dataflows | |
mem_size_dict | |
mem_r_bw_dict | |
mem_w_bw_dict | |
mem_r_bw_min_dict | |
mem_w_bw_min_dict | |
mem_sharing_list | |
This class houses the array of multipliers and the attached memory hierarchy.
This class supports a singular multiplier array and memory hierarchy, runtime flexibility should be implemented on top.
def __init__ | ( | self, | |
int | core_id, | ||
str | name, | ||
OperationalArrayABC | operational_array, | ||
MemoryHierarchy | memory_hierarchy, | ||
SpatialMapping | None | dataflows = None |
||
) |
bool __eq__ | ( | self, | |
object | other | ||
) |
int __hash__ | ( | self | ) |
def __jsonrepr__ | ( | self | ) |
str __repr__ | ( | self | ) |
str __str__ | ( | self | ) |
def get_memory_bw_dict | ( | self | ) |
def get_memory_bw_min_dict | ( | self | ) |
MemoryLevel get_memory_level | ( | self, | |
MemoryOperand | mem_op, | ||
int | mem_lv | ||
) |
Returns a specific memory level in the memory hierarchy for the memory operand.
MemoryInstance get_top_memory_instance | ( | self, | |
MemoryOperand | mem_op | ||
) |
bool has_same_performance | ( | self, | |
"Accelerator" | other | ||
) |
None recalculate_memory_hierarchy_information | ( | self | ) |
dataflows |
id |
mem_hierarchy_dict |
mem_r_bw_dict |
mem_r_bw_min_dict |
mem_sharing_list |
mem_size_dict |
mem_w_bw_dict |
mem_w_bw_min_dict |
memory_hierarchy |
name |
operational_array |