Lines Matching refs:node_idx

41         for node_idx in self._out_nodes_dict:
42 node = self._node_list[node_idx]
44 for out_node_idx in self._out_nodes_dict[node_idx]:
45 self._in_nodes_dict[out_node_idx].remove(node_idx)
48 for node_idx in self._in_nodes_dict:
49 self._adj_dict[node_idx] = list(self._in_nodes_dict[node_idx]) + \
50 list(self._out_nodes_dict[node_idx])
60 for node_idx in self._in_nodes_dict:
61 node_degree = self._get_degree(node_idx)
62 self._node_degree_dict[node_idx] = node_degree
67 for node_idx in sorted(self._in_nodes_dict):
68 node_degree = self._get_degree(node_idx)
69 self._buckets[node_degree].append(node_idx)
73 def _get_degree(self, node_idx): argument
76 return len(self._adj_dict[node_idx])
78 def _reorder_adj_nodes(self, node_idx): argument
81 for adj_node in self._adj_dict[node_idx]:
89 def _remove_node(self, node_idx): argument
92 node_degree = self._get_degree(node_idx)
93 self._buckets[node_degree].remove(node_idx)
94 for adj_node in self._adj_dict[node_idx]:
95 self._adj_dict[adj_node].remove(node_idx)
111 def _backward_insert_node(self, node_idx): argument
114 for adj_node in self._adj_dict[node_idx]:
115 self._adj_dict[adj_node].append(node_idx)
117 def _RI_reduction(self, node_idx): argument
120 adj_node = self._adj_dict[node_idx][0]
121 ltf_matrix = self._layout_transform_interlayer_cost[(adj_node, node_idx)]
125 min_cost = min(min_cost, cost + self._record_cost_dict[node_idx][j])
127 self._remove_node(node_idx)
128 self._reorder_adj_nodes(node_idx)
129 self._stack.append(node_idx)
131 def _RII_reduction(self, node_idx): argument
134 adj_node_x, adj_node_y = self._adj_dict[node_idx]
135 ltf_matrix_x = self._layout_transform_interlayer_cost[(adj_node_x, node_idx)]
136 ltf_matrix_y = self._layout_transform_interlayer_cost[(adj_node_y, node_idx)]
141 for k in range(len(self._record_cost_dict[node_idx])):
143 + self._record_cost_dict[node_idx][k])
159 self._remove_node(node_idx)
160 self._reorder_adj_nodes(node_idx)
161 self._stack.append(node_idx)
163 def _RN_reduction(self, node_idx): argument
169 for i, record_cost in enumerate(self._record_cost_dict[node_idx]):
171 for adj_node in self._adj_dict[node_idx]:
172 ltf_matrix = self._layout_transform_interlayer_cost[(node_idx, adj_node)]
183 "applying RN reduction" % node_idx)
184 self._optimal_record_dict[node_idx] = record_idx
187 for adj_node in self._adj_dict[node_idx]:
188 ltf_matrix = self._layout_transform_interlayer_cost[(node_idx, adj_node)]
192 self._remove_node(node_idx)
193 self._reorder_adj_nodes(node_idx)
194 self._stack.append(node_idx)
201 node_idx = self._buckets[1][0]
202 self._RI_reduction(node_idx)
204 node_idx = self._buckets[2][0]
205 self._RII_reduction(node_idx)
222 for node_idx in self._buckets[0]:
223 record_costs = self._record_cost_dict[node_idx]
225 self._optimal_record_dict[node_idx] = record_costs.index(min_cost)
228 for node_idx in reversed(self._stack):
229 self._backward_insert_node(node_idx)
230 if node_idx not in self._optimal_record_dict:
231 record_costs = list(self._record_cost_dict[node_idx])
232 for adj_node in self._adj_dict[node_idx]:
237 [(node_idx, adj_node)][i][adj_optimal_idx]
239 self._optimal_record_dict[node_idx] = record_costs.index(min_cost)