Browse Source

fix multiple epoch data issue

tags/v1.0.0
askmiao 5 years ago
parent
commit
42111a8033
2 changed files with 15 additions and 4 deletions
  1. +13
    -2
      mindspore/ccsrc/profiler/device/gpu/gpu_profiling.cc
  2. +2
    -2
      mindspore/ccsrc/profiler/device/gpu/gpu_profiling.h

+ 13
- 2
mindspore/ccsrc/profiler/device/gpu/gpu_profiling.cc View File

@@ -60,8 +60,8 @@ namespace gpu {
std::shared_ptr<GPUProfiler> GPUProfiler::profiler_inst_ = nullptr;

int32_t GetThreadID() {
int32_t thread_id = 0;
thread_id = static_cast<int32_t>(pthread_self());
uint32_t thread_id = 0;
thread_id = static_cast<uint32_t>(pthread_self());
return thread_id;
}

@@ -475,6 +475,7 @@ void GPUProfiler::Stop() {
StopCUPTI();
OpsParser();
SaveProfileData();
ClearInst();
}

void GPUProfiler::SaveProfileData() {
@@ -486,9 +487,19 @@ void GPUProfiler::SaveProfileData() {
dataSaver.ParseEvent(events_);
dataSaver.WriteFile(profile_data_path_);
}
}

void GPUProfiler::ClearInst() {
op_info_map_.clear();
op_name_map_.clear();
events_.clear();
activities_enable_.clear();
enable_flag_ = false;
sync_enable_flag_ = true;
cupti_callback_events_count_ = 0l;
cupti_callback_events_drop_count_ = 0l;
cupti_activity_events_count_ = 0l;
cupti_activity_events_drop_count_ = 0l;
}

void CUPTIAPI ActivityAllocBuffer(uint8_t **buffer, size_t *size, size_t *maxNumRecords) {


+ 2
- 2
mindspore/ccsrc/profiler/device/gpu/gpu_profiling.h View File

@@ -75,7 +75,7 @@ struct Event {
uint32_t device_id;
uint32_t correlation_id;
uint32_t thread_id;
int64_t context_id;
uint32_t context_id;
uint32_t stream_id;
CUpti_CallbackId cb_id;
union {
@@ -131,7 +131,7 @@ class GPUProfiler {
GPUProfiler() = default;
void OpsParser();
void EventLog(const Event &event);
void ClearInst();
void HandleActivityRecord(CUpti_Activity *record);
void AddEvent(Event &&event);
void SetRunTimeData(const std::string &op_name, void *stream);


Loading…
Cancel
Save