From 5670530ca7e6f7001ca7104ac3be76984c174dcd Mon Sep 17 00:00:00 2001 From: Kaipeng Deng Date: Thu, 21 Mar 2019 18:53:45 +0800 Subject: [PATCH] Revert "not use PERSISTENT in batch_norm. test=develop" (#16333) --- paddle/fluid/operators/batch_norm_op.cu | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/paddle/fluid/operators/batch_norm_op.cu b/paddle/fluid/operators/batch_norm_op.cu index 8f3691dd15..36d297ec55 100644 --- a/paddle/fluid/operators/batch_norm_op.cu +++ b/paddle/fluid/operators/batch_norm_op.cu @@ -75,15 +75,11 @@ class BatchNormKernel << "CUDNN_BN_MIN_EPSILON instead."; } epsilon = std::max(epsilon, CUDNN_BN_MIN_EPSILON); - - // 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 +#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 dims; @@ -305,15 +301,11 @@ class BatchNormGradKernel << "CUDNN_BN_MIN_EPSILON instead."; } epsilon = std::max(epsilon, CUDNN_BN_MIN_EPSILON); - - // 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 +#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::type, -- GitLab