提交 f8e22d5e authored 作者: Frederic Bastien's avatar Frederic Bastien

Make fusion optimizer faster for big graph.

上级 96603aef
......@@ -3409,6 +3409,8 @@ class FusionOptimizer(Optimizer):
nodelist.reverse()
did_something = False
for node in nodelist:
# Don't try to fuse node that have already been fused.
if node in env.nodes:
new_outputs = self.optimizer(node)
if new_outputs:
assert len(new_outputs) == len(node.outputs)
......@@ -3417,11 +3419,9 @@ class FusionOptimizer(Optimizer):
zip(node.outputs, new_outputs),
reason = self.__class__.__name__)
did_something = True
break
except InconsistencyError, e:
pass
if config.tensor.local_elemwise_fusion:
_logger.debug("enabling optimization fusion elemwise in fast_run")
compile.optdb.register('elemwise_fusion', FusionOptimizer(local_elemwise_fusion), 71.00, 'fast_run', 'fusion', 'local_elemwise_fusion')
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论