diff --git a/mindspore/ccsrc/profiler/device/gpu/gpu_profiling.cc b/mindspore/ccsrc/profiler/device/gpu/gpu_profiling.cc index a0f3bb83ea..fbdb7459f3 100644 --- a/mindspore/ccsrc/profiler/device/gpu/gpu_profiling.cc +++ b/mindspore/ccsrc/profiler/device/gpu/gpu_profiling.cc @@ -406,8 +406,10 @@ void GPUProfiler::OpDataProducerBegin(const std::string op_name, void *stream) { CHECK_CUDA_RET_WITH_ERROR(cudaEventRecord(op_event_start_, (CUstream)stream_), "cudaEventRecord op event start failed"); op_host_time_start_ = GetHostTimeStamp(); + op_cupti_time_start_ = GetCUPTITimeStamp(); } else { op_host_time_start_ = GetHostTimeStamp(); + op_cupti_time_start_ = GetCUPTITimeStamp(); } SetRunTimeData(op_name, stream); } @@ -431,7 +433,7 @@ void GPUProfiler::OpDataProducerEnd() { } MS_LOG(DEBUG) << "Host Time Elapsed(us)," << op_name_ << "," << op_time_elapsed; SetRunTimeData(op_name_, op_time_elapsed); - SetRunTimeData(op_name_, op_host_time_start_, op_time_elapsed); + SetRunTimeData(op_name_, op_cupti_time_start_, op_time_elapsed); } void GPUProfiler::StopCUPTI() { diff --git a/mindspore/ccsrc/profiler/device/gpu/gpu_profiling.h b/mindspore/ccsrc/profiler/device/gpu/gpu_profiling.h index f510a63bd7..f83841dc26 100644 --- a/mindspore/ccsrc/profiler/device/gpu/gpu_profiling.h +++ b/mindspore/ccsrc/profiler/device/gpu/gpu_profiling.h @@ -170,6 +170,7 @@ class GPUProfiler { cudaEvent_t op_event_stop_; uint64_t op_host_time_start_; uint64_t op_host_time_stop_; + uint64_t op_cupti_time_start_; std::string profile_data_path_; }; } // namespace gpu