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

Small perform speed up

上级 8ce10c32
......@@ -2610,8 +2610,10 @@ class GpuAdvancedIncSubtensor1(tensor.AdvancedIncSubtensor1, GpuOp):
# list of index.
if y.ndim == x.ndim:
assert len(y) == len(idx)
for (j, i) in enumerate(idx):
j = 0
for i in idx:
x[i] = y[j]
j += 1
else:
for i in idx:
x[i] = y
......@@ -2622,12 +2624,15 @@ class GpuAdvancedIncSubtensor1(tensor.AdvancedIncSubtensor1, GpuOp):
if y.ndim == x.ndim:
if len(y) == 1:
# Allow broadcasting of y[0]
y_0 = y[0]
for i in idx:
x[i] += y[0]
x[i] += y_0
else:
assert len(y) == len(idx)
for (j, i) in enumerate(idx):
j = 0
for i in idx:
x[i] += y[j]
j += 1
else:
for i in idx:
x[i] += y
......
......@@ -1923,12 +1923,15 @@ class AdvancedIncSubtensor1(Op):
if y.ndim == x.ndim:
if len(y) == 1:
# Allow broadcasting of y[0]
y_0 = y[0]
for i in idx:
x[i] += y[0]
x[i] += y_0
else:
assert len(y) == len(idx)
for (j, i) in enumerate(idx):
j = 0
for i in idx:
x[i] += y[j]
j += 1
else:
for i in idx:
x[i] += y
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论