提交 4cf0f055 authored 作者: Frederic's avatar Frederic

Elemwise.perform don't prealloc output as we don't use it!

上级 cf62c5c5
...@@ -807,34 +807,36 @@ class Elemwise(OpenMPOp): ...@@ -807,34 +807,36 @@ class Elemwise(OpenMPOp):
out_shape.append(max(values)) out_shape.append(max(values))
out_shape = tuple(out_shape) out_shape = tuple(out_shape)
if not self.inplace_pattern: # Commented as we don't reuse outputs now.
for output, storage in izip(node.outputs, output_storage): #
odat = storage[0] # if not self.inplace_pattern:
if odat is not None: # for output, storage in izip(node.outputs, output_storage):
if odat.shape != out_shape: # odat = storage[0]
# It is unsafe to try to resize odat, # if odat is not None:
# we have to allocate output storage. # if odat.shape != out_shape:
odat = None # # It is unsafe to try to resize odat,
if odat is None: # # we have to allocate output storage.
odat = numpy.ndarray(out_shape, dtype=output.type.dtype) # odat = None
storage[0] = odat # if odat is None:
else: # odat = numpy.ndarray(out_shape, dtype=output.type.dtype)
for i, (output, storage) in enumerate( # storage[0] = odat
izip(node.outputs, output_storage)): # else:
#i is an output idx # for i, (output, storage) in enumerate(
if i in self.inplace_pattern: # izip(node.outputs, output_storage)):
odat = inputs[self.inplace_pattern[i]] # #i is an output idx
else: # if i in self.inplace_pattern:
odat = storage[0] # odat = inputs[self.inplace_pattern[i]]
if odat is not None: # else:
if odat.shape != out_shape: # odat = storage[0]
# It is unsafe to try to resize odat, # if odat is not None:
# we have to allocate output storage. # if odat.shape != out_shape:
odat = None # # It is unsafe to try to resize odat,
if odat is None: # # we have to allocate output storage.
odat = numpy.ndarray(out_shape, # odat = None
dtype=output.type.dtype) # if odat is None:
storage[0] = odat # odat = numpy.ndarray(out_shape,
# dtype=output.type.dtype)
# storage[0] = odat
ufunc_args = inputs # + output_storage ufunc_args = inputs # + output_storage
if self.nfunc and len(inputs) == self.nfunc_spec[1]: if self.nfunc and len(inputs) == self.nfunc_spec[1]:
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论