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

Converts validated and normalized user-provided data into mapping-related instances. More...

Public Member Functions

def __init__ (self, str layer_name, str operation_type, list[dict[str, Any]] mapping_data)
 
SpatialMapping create_spatial_mapping (self)
 
MappingSingleOADim create_mapping_single_oa_dim (self, list[str] mapping_data)
 
SpatialMappingHint create_spatial_mapping_hint (self)
 
MemoryOperandLinks create_memory_operand_links (self)
 
LayerTemporalOrdering create_temporal_ordering (self)
 This attribute lacks support within the MappingValidator. More...
 

Public Attributes

 mapping_data
 

Detailed Description

Converts validated and normalized user-provided data into mapping-related instances.

The mapping for this layer is chosen according to the following priority:

  1. The name of the layer
  2. The operation type of the layer (if the layer name is not defined in the mapping)
  3. The default mapping (if the operation type is not defined in the mapping)

Constructor & Destructor Documentation

◆ __init__()

def __init__ (   self,
str  layer_name,
str  operation_type,
list[dict[str, Any]]  mapping_data 
)
Parameters
Nameof the layer for which the Mapping is being constructed.
operation_typeName of the layer operation for which the Mapping is being constructed.
mapping_datauser-given, validated and normalized mapping data for all operation types.

Member Function Documentation

◆ create_mapping_single_oa_dim()

MappingSingleOADim create_mapping_single_oa_dim (   self,
list[str]  mapping_data 
)
Here is the caller graph for this function:

◆ create_memory_operand_links()

MemoryOperandLinks create_memory_operand_links (   self)

◆ create_spatial_mapping()

SpatialMapping create_spatial_mapping (   self)
Here is the call graph for this function:

◆ create_spatial_mapping_hint()

SpatialMappingHint create_spatial_mapping_hint (   self)

◆ create_temporal_ordering()

LayerTemporalOrdering create_temporal_ordering (   self)

This attribute lacks support within the MappingValidator.

Returns an empty instance in case it is not provided (to be compatible with older code) or raises an error if it is present in the user-provided data.

Member Data Documentation

◆ mapping_data

mapping_data

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