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.
zigzag.visualization.results.plot_cme Namespace Reference

Functions

def shorten_onnx_layer_name (str name)
 Names generated in the ONNX format are quite long (e.g. More...
 
def get_mem_energy_single_op (CostModelEvaluation cme, LayerOperand op, int mem_level)
 
def get_energy_array (list[CostModelEvaluation] cmes, list[LayerOperand] all_ops, list[MemoryInstance] all_mems)
 Convert the given list of cmes to a numpy array with the energy per layer, memory level, operand and data direction. More...
 
def get_latency_array (list[CostModelEvaluation] cmes)
 
def bar_plot_cost_model_evaluations_breakdown (list[CostModelEvaluationABC] cmes, str save_path)
 

Variables

int SMALLEST_SIZE = 10
 
int SMALLER_SIZE = 12
 
int SMALL_SIZE = 14
 
int MEDIUM_SIZE = 16
 
int BIG_SIZE = 18
 
int BIGGER_SIZE = 20
 
 size
 
 titlesize
 
 labelsize
 
 fontsize
 
int BAR_WIDTH = 1
 
int BAR_SPACING = 0
 
int GROUP_SPACING = 1
 

Function Documentation

◆ bar_plot_cost_model_evaluations_breakdown()

def zigzag.visualization.results.plot_cme.bar_plot_cost_model_evaluations_breakdown ( list[CostModelEvaluationABC cmes,
str  save_path 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_energy_array()

def zigzag.visualization.results.plot_cme.get_energy_array ( list[CostModelEvaluation cmes,
list[LayerOperand all_ops,
list[MemoryInstance]  all_mems 
)

Convert the given list of cmes to a numpy array with the energy per layer, memory level, operand and data direction.

Output shape: (cmes, all_mems, all_ops, data_directions)

Here is the caller graph for this function:

◆ get_latency_array()

def zigzag.visualization.results.plot_cme.get_latency_array ( list[CostModelEvaluation cmes)
Here is the caller graph for this function:

◆ get_mem_energy_single_op()

def zigzag.visualization.results.plot_cme.get_mem_energy_single_op ( CostModelEvaluation  cme,
LayerOperand  op,
int  mem_level 
)

◆ shorten_onnx_layer_name()

def zigzag.visualization.results.plot_cme.shorten_onnx_layer_name ( str  name)

Names generated in the ONNX format are quite long (e.g.

layer1/layer1.0/conv2/Conv). This function extracts the most informative part (conv2/Conv in this case)

Variable Documentation

◆ BAR_SPACING

int BAR_SPACING = 0

◆ BAR_WIDTH

int BAR_WIDTH = 1

◆ BIG_SIZE

int BIG_SIZE = 18

◆ BIGGER_SIZE

int BIGGER_SIZE = 20

◆ fontsize

fontsize

◆ GROUP_SPACING

int GROUP_SPACING = 1

◆ labelsize

labelsize

◆ MEDIUM_SIZE

int MEDIUM_SIZE = 16

◆ size

size

◆ SMALL_SIZE

int SMALL_SIZE = 14

◆ SMALLER_SIZE

int SMALLER_SIZE = 12

◆ SMALLEST_SIZE

int SMALLEST_SIZE = 10

◆ titlesize

titlesize