提交 c8ee12fe authored 作者: sentient07's avatar sentient07

Added the decorator back at the correct place and fixed ValueError

上级 98551243
...@@ -333,6 +333,10 @@ class SeqOptimizer(Optimizer, list): ...@@ -333,6 +333,10 @@ class SeqOptimizer(Optimizer, list):
print(blanc, ' %.6fs - %s' % (t, opt), file=stream) print(blanc, ' %.6fs - %s' % (t, opt), file=stream)
if sub_profs[i]: if sub_profs[i]:
if isinstance(opts[i], MergeOptimizer):
if len(sub_profs[i]) == 8:
sub_profs[i] = sub_profs[i][:-1]
assert len(sub_profs[i]) == 7
opts[i].print_profile(stream, sub_profs[i], opts[i].print_profile(stream, sub_profs[i],
level=level + 1) level=level + 1)
print(file=stream) print(file=stream)
...@@ -888,6 +892,7 @@ class MergeOptimizer(Optimizer): ...@@ -888,6 +892,7 @@ class MergeOptimizer(Optimizer):
@staticmethod @staticmethod
def print_profile(stream, prof, level=0): def print_profile(stream, prof, level=0):
(nb_fail, replace_time, validate_time, (nb_fail, replace_time, validate_time,
callback_time, callbacks_time, nb_merged, nb_constant) = prof callback_time, callbacks_time, nb_merged, nb_constant) = prof
...@@ -1355,7 +1360,7 @@ class LocalOptGroup(LocalOptimizer): ...@@ -1355,7 +1360,7 @@ class LocalOptGroup(LocalOptimizer):
# Skip opt that have 0 times, they probably wasn't even tried. # Skip opt that have 0 times, they probably wasn't even tried.
print(blanc + " ", ' %.3fs - %s' % (t, o), file=stream) print(blanc + " ", ' %.3fs - %s' % (t, o), file=stream)
else: else:
print(blanc, "--- The Optimizer wasn't successful ---", file=stream) print(blanc, " The Optimizer wasn't successful ", file=stream)
print(file=stream) print(file=stream)
...@@ -2057,7 +2062,8 @@ class TopoOptimizer(NavigatorOptimizer): ...@@ -2057,7 +2062,8 @@ class TopoOptimizer(NavigatorOptimizer):
lopt.time_nodes, lopt.time_nodes,
lopt.process_count, lopt.process_count,
lopt.applied_true, lopt.applied_true,
lopt.node_created)) lopt.node_created),
level=level + 1)
def __str__(self): def __str__(self):
return getattr(self, '__name__', return getattr(self, '__name__',
...@@ -2590,6 +2596,10 @@ class EquilibriumOptimizer(NavigatorOptimizer): ...@@ -2590,6 +2596,10 @@ class EquilibriumOptimizer(NavigatorOptimizer):
print(blanc, "merge not implemented for ", o) print(blanc, "merge not implemented for ", o)
for o, prof in zip(opt.cleanup_optimizers, cleanup_sub_profs[i]): for o, prof in zip(opt.cleanup_optimizers, cleanup_sub_profs[i]):
try: try:
if isinstance(o, MergeOptimizer):
if len(prof) == 8:
prof = prof[:-1]
assert len(prof) == 7
o.print_profile(stream, prof, level + 2) o.print_profile(stream, prof, level + 2)
except NotImplementedError: except NotImplementedError:
print(blanc, "merge not implemented for ", o) print(blanc, "merge not implemented for ", o)
......
...@@ -1677,7 +1677,6 @@ def local_fill_sink(node): ...@@ -1677,7 +1677,6 @@ def local_fill_sink(node):
register_canonicalize(local_fill_sink) register_canonicalize(local_fill_sink)
@register_canonicalize("fast_compile")
@register_specialize @register_specialize
@register_stabilize @register_stabilize
# @register_canonicalize # We make full pass after the canonizer phase. # @register_canonicalize # We make full pass after the canonizer phase.
...@@ -1731,6 +1730,7 @@ compile.optdb.register('local_elemwise_alloc', ...@@ -1731,6 +1730,7 @@ compile.optdb.register('local_elemwise_alloc',
1.52, 'fast_run') 1.52, 'fast_run')
@register_canonicalize("fast_compile")
@register_useless @register_useless
@gof.local_optimizer([T.fill]) @gof.local_optimizer([T.fill])
def local_useless_fill(node): def local_useless_fill(node):
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论