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.mapping.mapping_assist_funcs Namespace Reference

Functions

SpatialMappingPerMemLvl decouple_pr_loop (SpatialMappingPerMemLvl mapping_dict, "LayerNode" layer_node)
 This function decouples the pr loops into data size (r loops) and data reuse (ir loops). More...
 
list[list[tuple[LayerDim, UnrollFactor]]] replace_pr_loop_in_mapping (list[list[tuple[LayerDim, UnrollFactor]]] single_operand_mapping, dict[LayerDim, list[list[float]]] per_pr_data_size, dict[LayerDim, list[list[float]]] per_pr_data_reuse, PrLoop pr_operand_loop_lut, list[LayerDim] r_ir_operand_loop_lut)
 This function replaces all pr loops in a mapping of a single operand with r and ir loops. More...
 

Variables

 TypeAlias
 

Function Documentation

◆ decouple_pr_loop()

SpatialMappingPerMemLvl zigzag.mapping.mapping_assist_funcs.decouple_pr_loop ( SpatialMappingPerMemLvl  mapping_dict,
"LayerNode"  layer_node 
)

This function decouples the pr loops into data size (r loops) and data reuse (ir loops).

It also provides a transferred mapping dictionary in which the pr loops are replaced by r and ir loops.

TODO cleanup

Here is the call graph for this function:

◆ replace_pr_loop_in_mapping()

list[list[tuple[LayerDim, UnrollFactor]]] zigzag.mapping.mapping_assist_funcs.replace_pr_loop_in_mapping ( list[list[tuple[LayerDim, UnrollFactor]]]  single_operand_mapping,
dict[LayerDim, list[list[float]]]  per_pr_data_size,
dict[LayerDim, list[list[float]]]  per_pr_data_reuse,
PrLoop  pr_operand_loop_lut,
list[LayerDim r_ir_operand_loop_lut 
)

This function replaces all pr loops in a mapping of a single operand with r and ir loops.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ TypeAlias

TypeAlias