提交 8426c17d authored 作者: carriepl's avatar carriepl

Extend MonitorMode.clone() to handle optimizers and remove including/excluding/requiring/register

上级 bfa1f2d4
...@@ -74,31 +74,7 @@ class MonitorMode(Mode): ...@@ -74,31 +74,7 @@ class MonitorMode(Mode):
if self.post_func is not None: if self.post_func is not None:
self.post_func(i, node, fn) self.post_func(i, node, fn)
def including(self, *tags): def clone(self, link_kwargs=None, optimizer="", **kwargs):
ret = super(MonitorMode, self).including(*tags)
ret.pre_func = self.pre_func
ret.post_func = self.post_func
return ret
def register(self, *optimizations):
ret = super(MonitorMode, self).register(*optimizations)
ret.pre_func = self.pre_func
ret.post_func = self.post_func
return ret
def excluding(self, *tags):
ret = super(MonitorMode, self).excluding(*tags)
ret.pre_func = self.pre_func
ret.post_func = self.post_func
return ret
def requiring(self, *tags):
ret = super(MonitorMode, self).requiring(*tags)
ret.pre_func = self.pre_func
ret.post_func = self.post_func
return ret
def clone(self, link_kwargs=None, **kwargs):
""" """
Create a new instance of this Mode. Create a new instance of this Mode.
...@@ -106,10 +82,12 @@ class MonitorMode(Mode): ...@@ -106,10 +82,12 @@ class MonitorMode(Mode):
ignored, because ProfileMode needs to use its own linker. ignored, because ProfileMode needs to use its own linker.
""" """
if optimizer == "":
optimizer = self.provided_optimizer
new_mode = type(self)(pre_func=self.pre_func, new_mode = type(self)(pre_func=self.pre_func,
post_func=self.post_func, post_func=self.post_func,
linker=None, linker=None,
optimizer=self.provided_optimizer) optimizer=optimizer)
return new_mode return new_mode
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论