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

Class that collect all the info related to temporal mapping. More...

Public Member Functions

def __init__ (self, TemporalMappingDict temporal_mapping_dict, LayerNode layer_node, TemporalMappingType mapping_type)
 
def __str__ (self)
 
def __repr__ (self)
 
def __jsonrepr__ (self)
 JSON representation of this object to save it to a json file. More...
 
def innermost_stationary_loop_merge_down (self)
 Iteratively merging down the ir loops which located at the bottom position of each memory level. More...
 
def calc_cycle_cabl_level (self)
 Calculate the iteration cycles that each memory level covers. More...
 
def calc_top_r_and_ir_loop (self)
 

Public Attributes

 mapping_dic_origin
 
 layer_node
 
 operand_list
 
 type
 
 mem_level
 
 mapping_dic_stationary
 
 mac_level_data_stationary_cycle
 
 cycle_cabl_level
 
 total_cycle
 
 top_r_loop_size
 
 top_ir_loop_size
 

Detailed Description

Class that collect all the info related to temporal mapping.

Constructor & Destructor Documentation

◆ __init__()

def __init__ (   self,
TemporalMappingDict  temporal_mapping_dict,
LayerNode  layer_node,
TemporalMappingType   mapping_type 
)

Member Function Documentation

◆ __jsonrepr__()

def __jsonrepr__ (   self)

JSON representation of this object to save it to a json file.

Here is the call graph for this function:

◆ __repr__()

def __repr__ (   self)

◆ __str__()

def __str__ (   self)

◆ calc_cycle_cabl_level()

def calc_cycle_cabl_level (   self)

Calculate the iteration cycles that each memory level covers.

◆ calc_top_r_and_ir_loop()

def calc_top_r_and_ir_loop (   self)

◆ innermost_stationary_loop_merge_down()

def innermost_stationary_loop_merge_down (   self)

Iteratively merging down the ir loops which located at the bottom position of each memory level.

Also calculate the MAC level data stationary cycle, i,e., the innermost memory level's bottom ir loops.

Here is the call graph for this function:

Member Data Documentation

◆ cycle_cabl_level

cycle_cabl_level

◆ layer_node

layer_node

◆ mac_level_data_stationary_cycle

mac_level_data_stationary_cycle

◆ mapping_dic_origin

mapping_dic_origin

◆ mapping_dic_stationary

mapping_dic_stationary

◆ mem_level

mem_level

◆ operand_list

operand_list

◆ top_ir_loop_size

top_ir_loop_size

◆ top_r_loop_size

top_r_loop_size

◆ total_cycle

total_cycle

◆ type

type

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