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