diff options
author | 2017-02-17 10:39:05 -0800 | |
---|---|---|
committer | 2017-02-17 10:47:33 -0800 | |
commit | 78022e6124e50db120b716467e678d24372a06cc (patch) | |
tree | ffb3750b0ff6b2381aee36952730b98f0408c7a4 | |
parent | 478b7967390ac5a5068ad0d77edc054f1662f5f0 (diff) |
Only record cuDNN profiling results if the operation was successful.
Change: 147853458
-rw-r--r-- | tensorflow/stream_executor/cuda/cuda_dnn.cc | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/tensorflow/stream_executor/cuda/cuda_dnn.cc b/tensorflow/stream_executor/cuda/cuda_dnn.cc index bd8aa4bacb..1095d08191 100644 --- a/tensorflow/stream_executor/cuda/cuda_dnn.cc +++ b/tensorflow/stream_executor/cuda/cuda_dnn.cc @@ -1945,10 +1945,12 @@ bool CudnnSupport::DoConvolveImpl( timer->Destroy(); return false; } - output_profile_result->set_is_valid(true); - output_profile_result->set_algorithm(algo); - output_profile_result->set_elapsed_time_in_ms( - timer->GetElapsedMilliseconds()); + if (status == CUDNN_STATUS_SUCCESS) { + output_profile_result->set_is_valid(true); + output_profile_result->set_algorithm(algo); + output_profile_result->set_elapsed_time_in_ms( + timer->GetElapsedMilliseconds()); + } timer->Destroy(); } @@ -2453,10 +2455,12 @@ bool CudnnSupport::DoConvolveBackwardDataImpl( /*gradData=*/backward_input_data->opaque()); if (is_profiling) { timer->Stop(AsCUDAStream(stream)); - output_profile_result->set_is_valid(true); - output_profile_result->set_algorithm(algo); - output_profile_result->set_elapsed_time_in_ms( - timer->GetElapsedMilliseconds()); + if (status == CUDNN_STATUS_SUCCESS) { + output_profile_result->set_is_valid(true); + output_profile_result->set_algorithm(algo); + output_profile_result->set_elapsed_time_in_ms( + timer->GetElapsedMilliseconds()); + } timer->Destroy(); } if (status != CUDNN_STATUS_SUCCESS) { @@ -2686,10 +2690,12 @@ bool CudnnSupport::DoConvolveBackwardFilterImpl( /*gradData=*/backward_filter_data->opaque()); if (is_profiling) { timer->Stop(AsCUDAStream(stream)); - output_profile_result->set_is_valid(true); - output_profile_result->set_algorithm(algo); - output_profile_result->set_elapsed_time_in_ms( - timer->GetElapsedMilliseconds()); + if (status == CUDNN_STATUS_SUCCESS) { + output_profile_result->set_is_valid(true); + output_profile_result->set_algorithm(algo); + output_profile_result->set_elapsed_time_in_ms( + timer->GetElapsedMilliseconds()); + } timer->Destroy(); } if (status != CUDNN_STATUS_SUCCESS) { |