提交 616d7860 authored 作者: Frederic's avatar Frederic

Update cudnn v3 config flag

上级 709403a2
...@@ -541,22 +541,35 @@ import theano and print the config variable, as in: ...@@ -541,22 +541,35 @@ import theano and print the config variable, as in:
.. attribute:: config.dnn.conv.workmem .. attribute:: config.dnn.conv.workmem
String value: 'none', 'small', 'large' Deprecated, use dnn.conv.algo_fwd.
Default: 'small'
The default value for the amount of working memory that is .. attribute:: config.dnn.conv.workmem_bwd
tolerated in the convolution implementation in cudnn.
'none' Deprecated, use dnn.conv.algo_bwd.
Don't allow any extra memory.
'small' .. attribute:: config.dnn.conv.algo_fwd
Allow extra memory that is much smaller than the input sizes.
'large' String value: ``small``, ``none``, ``large``, ``fft``, ``guess_once``,
Allow extra memory that is on the order of the input sizes. ``guess_on_shape_change``, ``time_once``,
``time_on_shape_change``.
Default: ``small``
3d convolution only support ``none``, ``guess_once``,
``guess_on_shape_change``, ``time_once``, ``time_on_shape_change``.
.. attribute:: config.dnn.conv.algo_bwd
String value: ``none``, ``deterministic``, ``fft``, ``guess_once``,
``guess_on_shape_change``, ``time_once``,
``time_on_shape_change``.
Default: ``none``
3d convolution only support ``none``, ``guess_once``,
``guess_on_shape_change``, ``time_once``, ``time_on_shape_change``.
.. attribute:: config.gcc.cxxflags .. attribute:: config.gcc.cxxflags
......
...@@ -423,8 +423,12 @@ class GpuDnnConv(DnnBase, COp): ...@@ -423,8 +423,12 @@ class GpuDnnConv(DnnBase, COp):
descr descr
The convolution descriptor. The convolution descriptor.
workmem workmem
*deprecated*, use parameter algo instead. *deprecated*, use parameter algo instead.
algo : {'small', 'none', 'large', 'fft', 'guess_once', 'guess_on_shape_change', 'time_once', 'time_on_shape_change'} algo
['none', 'small', 'large', 'fft', 'guess_once',
'guess_on_shape_change', 'time_once',
'time_on_shape_change']
Default is the value of :attr:`config.dnn.conv.algo_fwd`. Default is the value of :attr:`config.dnn.conv.algo_fwd`.
""" """
...@@ -607,18 +611,17 @@ class GpuDnnConv3d(GpuDnnConv): ...@@ -607,18 +611,17 @@ class GpuDnnConv3d(GpuDnnConv):
:param image: :param image:
:param kernel: :param kernel:
:param descr: the convolution descriptor :param descr: the convolution descriptor
:param workmem:
*deprecated*, use parameter algo instead.
:param algo: ['none', 'guess_once', 'guess_on_shape_change',
'time_once', 'time_on_shape_change']
Default is the value of :attr:`config.dnn.conv.algo_fwd.
""" """
__props__ = ('algo', 'inplace') __props__ = ('algo', 'inplace')
__input_name__ = ('image', 'kernel', 'output', __input_name__ = ('image', 'kernel', 'output',
'descriptor', 'alpha', 'beta') 'descriptor', 'alpha', 'beta')
def __init__(self, workmem=None, inplace=False, algo=None): def __init__(self, workmem=None, inplace=False, algo=None):
"""
:param workmem: *deprecated*, use param algo instead
:param algo: either 'none', 'guess_once', 'guess_on_shape_change',
'time_once' or 'time_on_shape_change'.
Default is the value of :attr:`config.dnn.conv.algo_fwd.
"""
if workmem is not None: if workmem is not None:
warnings.warn(("GpuDnnConv3d: parameter 'workmem' is deprecated. " warnings.warn(("GpuDnnConv3d: parameter 'workmem' is deprecated. "
"Use 'algo' instead."), stacklevel=3) "Use 'algo' instead."), stacklevel=3)
...@@ -712,6 +715,14 @@ class GpuDnnConvGradW(DnnBase, COp): ...@@ -712,6 +715,14 @@ class GpuDnnConvGradW(DnnBase, COp):
kernel kernel
descr descr
The convolution descriptor. The convolution descriptor.
workmem
*deprecated*, use parameter algo instead.
algo
['none', 'deterministic', 'fft', 'guess_once',
'guess_on_shape_change', 'time_once',
'time_on_shape_change']
Default is the value of :attr:`config.dnn.conv.algo_bwd`.
""" """
...@@ -719,12 +730,6 @@ class GpuDnnConvGradW(DnnBase, COp): ...@@ -719,12 +730,6 @@ class GpuDnnConvGradW(DnnBase, COp):
__input_name__ = ('image', 'grad', 'output', 'descriptor', 'alpha', 'beta') __input_name__ = ('image', 'grad', 'output', 'descriptor', 'alpha', 'beta')
def __init__(self, inplace=False, workmem=None, algo=None): def __init__(self, inplace=False, workmem=None, algo=None):
"""
:param workmem: *deprecated*, use param algo instead
:param algo: either 'none', 'deterministic', 'fft', 'guess_once',
'guess_on_shape_change', 'time_once' or 'time_on_shape_change'.
Default is the value of :attr:`config.dnn.conv.algo_bwd`.
"""
COp.__init__(self, ["dnn_base.c", "dnn_conv_base.c", "dnn_gw.c"], COp.__init__(self, ["dnn_base.c", "dnn_conv_base.c", "dnn_gw.c"],
"APPLY_SPECIFIC(conv_gw)") "APPLY_SPECIFIC(conv_gw)")
...@@ -849,18 +854,17 @@ class GpuDnnConv3dGradW(GpuDnnConvGradW): ...@@ -849,18 +854,17 @@ class GpuDnnConv3dGradW(GpuDnnConvGradW):
:param image: :param image:
:param kernel: :param kernel:
:param descr: the convolution descriptor :param descr: the convolution descriptor
:param workmem:
*deprecated*, use parameter algo instead.
:param algo: ['none', 'guess_once', 'guess_on_shape_change',
'time_once', 'time_on_shape_change']
Default is the value of :attr:`config.dnn.conv.algo_bwd`.
""" """
__props__ = ('algo', 'inplace',) __props__ = ('algo', 'inplace',)
__input_name__ = ('image', 'grad', 'output', 'descriptor', 'alpha', 'beta') __input_name__ = ('image', 'grad', 'output', 'descriptor', 'alpha', 'beta')
def __init__(self, inplace=False, workmem=None, algo=None): def __init__(self, inplace=False, workmem=None, algo=None):
"""
:param workmem: *deprecated*, use param algo instead
:param algo: either 'none', 'guess_once', 'guess_on_shape_change',
'time_once' or 'time_on_shape_change'.
Default is the value of :attr:`config.dnn.conv.algo_bwd.
"""
if workmem is not None: if workmem is not None:
warnings.warn(("GpuDnnConv3dGradW: parameter 'workmem' is " warnings.warn(("GpuDnnConv3dGradW: parameter 'workmem' is "
"deprecated. Use 'algo' instead."), stacklevel=3) "deprecated. Use 'algo' instead."), stacklevel=3)
...@@ -920,8 +924,12 @@ class GpuDnnConvGradI(DnnBase, COp): ...@@ -920,8 +924,12 @@ class GpuDnnConvGradI(DnnBase, COp):
descr descr
The convolution descriptor. The convolution descriptor.
workmem workmem
*deprecated*, use parameter algo instead. *deprecated*, use parameter algo instead.
algo : {'none', 'deterministic', 'fft', 'guess_once', 'guess_on_shape_change', 'time_once', 'time_on_shape_change'} algo
['none', 'deterministic', 'fft', 'guess_once',
'guess_on_shape_change', 'time_once',
'time_on_shape_change']
Default is the value of :attr:`config.dnn.conv.algo_bwd`. Default is the value of :attr:`config.dnn.conv.algo_bwd`.
""" """
...@@ -1055,6 +1063,12 @@ class GpuDnnConv3dGradI(GpuDnnConvGradI): ...@@ -1055,6 +1063,12 @@ class GpuDnnConv3dGradI(GpuDnnConvGradI):
:param image: :param image:
:param kernel: :param kernel:
:param descr: the convolution descriptor :param descr: the convolution descriptor
:param workmem:
*deprecated*, use parameter algo instead.
:param algo: ['none', 'guess_once', 'guess_on_shape_change',
'time_once', 'time_on_shape_change']
Default is the value of :attr:`config.dnn.conv.algo_bwd`.
""" """
__props__ = ('algo', 'inplace',) __props__ = ('algo', 'inplace',)
...@@ -1062,12 +1076,6 @@ class GpuDnnConv3dGradI(GpuDnnConvGradI): ...@@ -1062,12 +1076,6 @@ class GpuDnnConv3dGradI(GpuDnnConvGradI):
'beta') 'beta')
def __init__(self, inplace=False, workmem=None, algo=None): def __init__(self, inplace=False, workmem=None, algo=None):
"""
:param workmem: *deprecated*, use param algo instead
:param algo: either 'none', 'guess_once', 'guess_on_shape_change',
'time_once' or 'time_on_shape_change'.
Default is the value of :attr:`config.dnn.conv.algo_bwd.
"""
if workmem is not None: if workmem is not None:
warnings.warn(("GpuDnnConv3dGradI: parameter 'workmem' is " warnings.warn(("GpuDnnConv3dGradI: parameter 'workmem' is "
"deprecated. Use 'algo' instead."), stacklevel=3) "deprecated. Use 'algo' instead."), stacklevel=3)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论