提交 f1a61158 authored 作者: Frederic's avatar Frederic

Add docstring/comments

上级 066be242
...@@ -780,6 +780,13 @@ class Op(utils.object2, PureOp, CLinkerOp): ...@@ -780,6 +780,13 @@ class Op(utils.object2, PureOp, CLinkerOp):
return tuple(getattr(self, a) for a in self.__props__) return tuple(getattr(self, a) for a in self.__props__)
def _props_dict(self): def _props_dict(self):
"""This return a dict of all ``__props__`` key-> value.
This is useful in optimization to swap op that should have the
same props. This help detect error that the new op have at
least all the original props.
"""
return dict([(a, getattr(self, a)) return dict([(a, getattr(self, a))
for a in self.__props__]) for a in self.__props__])
......
...@@ -276,6 +276,8 @@ def local_gpuaalloc(node, context_name): ...@@ -276,6 +276,8 @@ def local_gpuaalloc(node, context_name):
@register_opt('fast_compile') @register_opt('fast_compile')
@op_lifter([tensor.AllocEmpty]) @op_lifter([tensor.AllocEmpty])
def local_gpuaallocempty(node, context_name): def local_gpuaallocempty(node, context_name):
# We use _props_dict() to make sure that the GPU op know all the
# CPU op props.
return GpuAllocEmpty(context_name=context_name, return GpuAllocEmpty(context_name=context_name,
**node.op._props_dict())(*node.inputs) **node.op._props_dict())(*node.inputs)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论