提交 9d435973 编写于 作者: D dengkaipeng

not use PERSISTENT in batch_norm. test=develop

上级 7458114b
......@@ -75,11 +75,15 @@ class BatchNormKernel<platform::CUDADeviceContext, T>
<< "CUDNN_BN_MIN_EPSILON instead.";
}
epsilon = std::max(epsilon, CUDNN_BN_MIN_EPSILON);
#if CUDNN_VERSION_MIN(7, 0, 0)
mode_ = CUDNN_BATCHNORM_SPATIAL_PERSISTENT;
#else
// TODO(dengkaipeng): use PERSISTENT mode in training may incur errors
// in inference period, cuDNN fixed issues on PERSISTENT mode in version
// 7.0.2, 7.0.4 and 7.3.0, we disable this mode currently.
/* #if CUDNN_VERSION_MIN(7, 0, 0) */
/* mode_ = CUDNN_BATCHNORM_SPATIAL_PERSISTENT; */
/* #else */
mode_ = CUDNN_BATCHNORM_SPATIAL;
#endif
/* #endif */
VLOG(3) << "Setting descriptors.";
std::vector<int> dims;
......@@ -301,11 +305,15 @@ class BatchNormGradKernel<platform::CUDADeviceContext, T>
<< "CUDNN_BN_MIN_EPSILON instead.";
}
epsilon = std::max(epsilon, CUDNN_BN_MIN_EPSILON);
#if CUDNN_VERSION_MIN(7, 0, 0)
mode_ = CUDNN_BATCHNORM_SPATIAL_PERSISTENT;
#else
// TODO(dengkaipeng): use PERSISTENT mode in training may incur errors
// in inference period, cuDNN fixed issues on PERSISTENT mode in version
// 7.0.2, 7.0.4 and 7.3.0, we disable this mode currently.
/* #if CUDNN_VERSION_MIN(7, 0, 0) */
/* mode_ = CUDNN_BATCHNORM_SPATIAL_PERSISTENT; */
/* #else */
mode_ = CUDNN_BATCHNORM_SPATIAL;
#endif
/* #endif */
CUDNN_ENFORCE(platform::dynload::cudnnSetTensorNdDescriptor(
data_desc_, CudnnDataType<T>::type,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册