提交 51a26add authored 作者: Frédéric Bastien's avatar Frédéric Bastien

Merge pull request #3253 from carriepl/cudnn_fixes

Cudnn doc fixes and drop support for CuDNN v1
...@@ -53,7 +53,7 @@ To get an error if Theano can not use cuDNN, use this Theano flag: ...@@ -53,7 +53,7 @@ To get an error if Theano can not use cuDNN, use this Theano flag:
* ``small`` (default) : use a convolution implementation with small memory * ``small`` (default) : use a convolution implementation with small memory
usage usage
* ``none`` : use a slower implementation with minimal memory usage * ``none`` : use a slower implementation with minimal memory usage
* ``large`` : use a faster implementation with large memory usage * ``large`` : use a sometimes faster implementation with large memory usage
* ``fft`` : use the Fast Fourrier Transform implementation of convolution * ``fft`` : use the Fast Fourrier Transform implementation of convolution
(very high memory usage) (very high memory usage)
* ``guess_once`` : the first time a convolution is executed, the * ``guess_once`` : the first time a convolution is executed, the
...@@ -91,6 +91,10 @@ To get an error if Theano can not use cuDNN, use this Theano flag: ...@@ -91,6 +91,10 @@ To get an error if Theano can not use cuDNN, use this Theano flag:
implementation selected every time the shapes of the inputs and kernels implementation selected every time the shapes of the inputs and kernels
don't match the shapes from the last execution. don't match the shapes from the last execution.
``guess_*`` and ``time_*`` flag values take into account the amount of
available memory when selecting an implementation. This means that slower
implementations might be selected if not enough memory is available for the
faster implementations.
.. note:: .. note::
......
...@@ -81,6 +81,13 @@ if ((err = cudnnCreate(&_handle)) != CUDNN_STATUS_SUCCESS) { ...@@ -81,6 +81,13 @@ if ((err = cudnnCreate(&_handle)) != CUDNN_STATUS_SUCCESS) {
" from one version, but we link with" " from one version, but we link with"
" a different version %s" % str(v)) " a different version %s" % str(v))
raise RuntimeError(dnn_available.msg) raise RuntimeError(dnn_available.msg)
if version() == -1:
dnn_available.avail = False
dnn_available.msg = (
"CuDNN v1 detected. This version is no longer "
"supported by Theano. Update your CuDNN installation "
"to a more recent version")
raise RuntimeError(dnn_available.msg)
if version() == (20, 20): if version() == (20, 20):
dnn_available.avail = False dnn_available.avail = False
dnn_available.msg = ( dnn_available.msg = (
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论