diff --git a/paddle/fluid/operators/batch_norm_op.cu b/paddle/fluid/operators/batch_norm_op.cu index 8f3691dd15359b42dfacca1c26e2b631a48161b0..36d297ec5523b9e8a136c536165bdb4d3a380c25 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,