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

A class to represent an ONNX node that is not "accelerateable". More...

Inheritance diagram for DummyNode:
Collaboration diagram for DummyNode:

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...
 
- Public Member Functions inherited from LayerNodeABC
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
 
- Public Attributes inherited from LayerNodeABC
 id
 
 name
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ __init__()

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.

Parameters
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

Member Function Documentation

◆ __str__()

def __str__ (   self)

Reimplemented from LayerNodeABC.

◆ get_end()

def get_end (   self)

Get the end time in cycles of this node.

◆ get_runtime()

def get_runtime (   self)

Return the runtime of running this node.

◆ get_start()

def get_start (   self)

Get the start time in cycles of this node.

◆ has_end()

bool has_end (   self)

Check if this node has already been assigned an end time.

Returns
(bool) True if this node has been assigned an end time

◆ set_end()

def set_end (   self,
int  end 
)

Set the end time in cycles of this node.

Parameters
endend time in cycles

◆ set_start()

def set_start (   self,
int  start 
)

Set the start time in cyles of this node.

Parameters
start: start time in cycles

Member Data Documentation

◆ end

end

◆ input_operand_source

input_operand_source

◆ runtime

runtime

◆ start

start

◆ type

type

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