提交 23ce2e0f authored 作者: Frederic Bastien's avatar Frederic Bastien

reallow spliting some elemwise before moving them to gpu!

上级 03aa83de
......@@ -90,8 +90,6 @@ def local_gpu_elemwise_0(node):
if isinstance(node.op, tensor.Elemwise):
if numpy.any([i.owner and isinstance(i.owner.op, HostFromGpu) for i in node.inputs]):
if numpy.all([o.type.dtype == 'float32' for o in node.outputs]):
if max_inputs_to_GpuElemwise(node)<len(node.inputs):
return False
#don't set any inplace pattern. gpu_insert_inplace_optimizer will do it later
new_op = GpuElemwise(node.op.scalar_op)
......@@ -118,6 +116,8 @@ def local_gpu_elemwise_0(node):
gpu_elemwise = split_huge_add_or_mul(gpu_elemwise.owner)
if not gpu_elemwise:
return False
if max_inputs_to_GpuElemwise(node)<len(gpu_elemwise.inputs):
return False
return [host_from_gpu(gpu_elemwise.outputs[0])]
@register_opt()
@local_optimizer([])
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论