aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar A. Unique TensorFlower <gardener@tensorflow.org>2017-02-17 10:39:05 -0800
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2017-02-17 10:47:33 -0800
commit78022e6124e50db120b716467e678d24372a06cc (patch)
treeffb3750b0ff6b2381aee36952730b98f0408c7a4
parent478b7967390ac5a5068ad0d77edc054f1662f5f0 (diff)
Only record cuDNN profiling results if the operation was successful.
Change: 147853458
-rw-r--r--tensorflow/stream_executor/cuda/cuda_dnn.cc30
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) {