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.
|
A class to represent an ONNX node that is not "accelerateable". More...
Public Member Functions | |
None | __init__ (self, int node_id, list[int] predecessors, str node_type, str node_name="") |
Initialize the DummyNode by setting its id, the node's predecessors and optionally giving it a name. More... | |
def | __str__ (self) |
def | set_start (self, int start) |
Set the start time in cyles of this node. More... | |
def | set_end (self, int end) |
Set the end time in cycles of this node. More... | |
def | get_start (self) |
Get the start time in cycles of this node. More... | |
def | get_end (self) |
Get the end time in cycles of this node. More... | |
def | get_runtime (self) |
Return the runtime of running this node. More... | |
bool | has_end (self) |
Check if this node has already been assigned an end time. More... | |
![]() | |
def | __init__ (self, int node_id, str node_name) |
str | __repr__ (self) |
def | __jsonrepr__ (self) |
JSON representation used for saving this object to a json file. More... | |
Public Attributes | |
input_operand_source | |
type | |
runtime | |
start | |
end | |
![]() | |
id | |
name | |
A class to represent an ONNX node that is not "accelerateable".
This node is created to preserve the original ONNX model graph structure, but will be skipped by the underlying engines, treating it as a 0 HW cost node.
None __init__ | ( | self, | |
int | node_id, | ||
list[int] | predecessors, | ||
str | node_type, | ||
str | node_name = "" |
||
) |
Initialize the DummyNode by setting its id, the node's predecessors and optionally giving it a name.
id | (int): id for this node |
predecessor | (list): list of ids of this node's predecessor nodes |
node_name | (str, optional): a name for this node, e.g. the node's name within the onnx model |
def __str__ | ( | self | ) |
Reimplemented from LayerNodeABC.
def get_end | ( | self | ) |
Get the end time in cycles of this node.
def get_runtime | ( | self | ) |
Return the runtime of running this node.
def get_start | ( | self | ) |
Get the start time in cycles of this node.
bool has_end | ( | self | ) |
Check if this node has already been assigned an end time.
def set_end | ( | self, | |
int | end | ||
) |
Set the end time in cycles of this node.
end | end time in cycles |
def set_start | ( | self, | |
int | start | ||
) |
Set the start time in cyles of this node.
start | : start time in cycles |
end |
input_operand_source |
runtime |
start |
type |