From 1fbc45b76760f2a780b4da9901b3cafe6457f7ad Mon Sep 17 00:00:00 2001 From: Lv Mengsi Date: Tue, 3 Dec 2019 19:49:58 +0800 Subject: [PATCH] Fix transpose conv (#21406), test=release/1.6 (#21510) * fix transpose conv,test=develop * fix comments test=develop --- paddle/fluid/inference/api/analysis_predictor.cc | 1 + paddle/fluid/operators/conv_transpose_cudnn_op.cu | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/paddle/fluid/inference/api/analysis_predictor.cc b/paddle/fluid/inference/api/analysis_predictor.cc index 90d4444accd..753c8725323 100644 --- a/paddle/fluid/inference/api/analysis_predictor.cc +++ b/paddle/fluid/inference/api/analysis_predictor.cc @@ -500,6 +500,7 @@ std::unique_ptr CreatePaddlePredictor< std::string flag = "--fraction_of_gpu_memory_to_use=" + std::to_string(fraction_of_gpu_memory); flags.push_back(flag); + flags.push_back("--cudnn_deterministic=True"); VLOG(3) << "set flag: " << flag; framework::InitGflags(flags); } diff --git a/paddle/fluid/operators/conv_transpose_cudnn_op.cu b/paddle/fluid/operators/conv_transpose_cudnn_op.cu index d6c7f964c68..6294b16a545 100644 --- a/paddle/fluid/operators/conv_transpose_cudnn_op.cu +++ b/paddle/fluid/operators/conv_transpose_cudnn_op.cu @@ -243,6 +243,10 @@ class CUDNNConvTransposeOpKernel : public framework::OpKernel { cudnn_output_desc, CUDNN_CONVOLUTION_BWD_DATA_SPECIFY_WORKSPACE_LIMIT, workspace_size_limit, &algo)); + if (algo == 0 && FLAGS_cudnn_deterministic) { + algo = static_cast(1); + } + // get workspace size able to allocate CUDNN_ENFORCE( platform::dynload::cudnnGetConvolutionBackwardDataWorkspaceSize( -- GitLab