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