提交 2b1d70cc authored 作者: Arnaud Bergeron's avatar Arnaud Bergeron

Replace the EquilibriumOptimizer by a in2out since it should be faster.

Fix mega typo in the Gemm -> GpuGemm optimizer.
上级 5d7a1999
......@@ -124,7 +124,8 @@ gpugemm_no_inplace = GpuGemm(inplace=False)
gpugemm_inplace = GpuGemm(inplace=True)
from theano.compile import optdb
from theano.gof import local_optimizer, EquilibriumOptimizer
from theano.gof import local_optimizer, LocalOptGroup
from theano.tensor.opt import in2out
@local_optimizer([gpugemv_no_inplace])
def local_inplace_gpuagemv(node):
......@@ -136,10 +137,8 @@ def local_inplace_gpuagemm(node):
if node.op == gpugemm_no_inplace:
return [gpugemm_inplace(*node.inputs)]
gpuablas_opt_inplace = EquilibriumOptimzer(
[local_inplace_gpuagemv, local_inplace_gpuagemm],
failure_callback=EquilibriumOptimizer.warn_inplace,
max_use_ratio=5)
gpuablas_opt_inplace = in2out(LocalOptGroup(
local_inplace_gpuagemv, local_inplace_gpuagemm))
optdb.register('InplaceGpuaBlasOpt',
gpuablas_opt_inplace,
70.0, 'fast_run', 'inplace', 'gpuarray')
......@@ -188,6 +188,6 @@ def local_gpua_gemv(node):
return GpuGemv(inplace=node.op.inplace)
@register_opt()
@op_listfer(tensor.blas.Gemm)
@op_lifter(tensor.blas.Gemm)
def local_gpua_gemm(node):
return GpuGemm(inplace=node.op.inplace)
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论