提交 90f37192 authored 作者: Roy Xue's avatar Roy Xue

New Updates

1. Call the new method in summary_memory 2. Add new print line for minimum peak 3. Use fgraph.nodes as inputs
上级 780f3ea6
...@@ -735,6 +735,11 @@ class ProfileStats(object): ...@@ -735,6 +735,11 @@ class ProfileStats(object):
del fgraph, nodes_mem, post_thunk_old_storage, node del fgraph, nodes_mem, post_thunk_old_storage, node
best_order = []
minimum_peak = 0
node_list = fgraph.nodes
best_order, minimum_peak = count_minimum_peak(node_list)
if len(fct_memory) > 1: if len(fct_memory) > 1:
print >> file, ("Memory Profile " print >> file, ("Memory Profile "
"(the max between all functions in that profile)") "(the max between all functions in that profile)")
...@@ -831,6 +836,10 @@ class ProfileStats(object): ...@@ -831,6 +836,10 @@ class ProfileStats(object):
" emitted in those cases.") " emitted in those cases.")
print >> file, '' print >> file, ''
print >> file, (
"The minimum peak from all valid apply node order is %dKB") % \
int(round(minimum_peak / 1024.)))
def summary(self, file=sys.stderr, n_ops_to_print=20, def summary(self, file=sys.stderr, n_ops_to_print=20,
n_apply_to_print=20): n_apply_to_print=20):
self.summary_function(file) self.summary_function(file)
...@@ -1151,11 +1160,12 @@ if 0: # old code still to be ported from ProfileMode ...@@ -1151,11 +1160,12 @@ if 0: # old code still to be ported from ProfileMode
n_ops_to_print=n_ops_to_print, print_apply=False) n_ops_to_print=n_ops_to_print, print_apply=False)
def min_mem_usage_order(self, file): def count_minimum_peak(node_list):
mem_list = [] mem_list = []
current_mem = 0 current_mem = 0
order_index = 0 order_index = 0
min_mem = 0 min_mem = 0
order = []
compute_map = fgraph.profile.compute_map compute_map = fgraph.profile.compute_map
# compute_map use to check if a node is valid # compute_map use to check if a node is valid
...@@ -1221,7 +1231,12 @@ if 0: # old code still to be ported from ProfileMode ...@@ -1221,7 +1231,12 @@ if 0: # old code still to be ported from ProfileMode
order_index = mem_list.index(current_mem) order_index = mem_list.index(current_mem)
current_mem = 0 current_mem = 0
gen = min_memory_generator(node_list)
for i in range(0, (order_index+1)):
order = gen.next()
return order, min_mem
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论