From dbe4e7ff821d85eafb55b63b30f455e07f3871db Mon Sep 17 00:00:00 2001 From: xiefangqi Date: Mon, 22 Mar 2021 17:28:09 +0800 Subject: [PATCH] md fix gpu profiling device id issue --- .../minddata/dataset/core/config_manager.cc | 4 +++- .../minddata/dataset/engine/perf/profiling.cc | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/mindspore/ccsrc/minddata/dataset/core/config_manager.cc b/mindspore/ccsrc/minddata/dataset/core/config_manager.cc index 995001328b..8073030262 100644 --- a/mindspore/ccsrc/minddata/dataset/core/config_manager.cc +++ b/mindspore/ccsrc/minddata/dataset/core/config_manager.cc @@ -129,7 +129,9 @@ void ConfigManager::set_op_connector_size(int32_t connector_size) { op_connector uint32_t ConfigManager::seed() const { return seed_; } -void ConfigManager::set_rank_id(int32_t rank_id) { rank_id_ = rank_id; } +void ConfigManager::set_rank_id(int32_t rank_id) { + if (rank_id_ == kCfgDefaultRankId) rank_id_ = rank_id; +} void ConfigManager::set_numa_enable(bool numa_enable) { numa_enable_ = numa_enable; } diff --git a/mindspore/ccsrc/minddata/dataset/engine/perf/profiling.cc b/mindspore/ccsrc/minddata/dataset/engine/perf/profiling.cc index 2f5ee8e7eb..dd2e838bee 100644 --- a/mindspore/ccsrc/minddata/dataset/engine/perf/profiling.cc +++ b/mindspore/ccsrc/minddata/dataset/engine/perf/profiling.cc @@ -20,6 +20,10 @@ #include #include "utils/ms_utils.h" #include "minddata/dataset/util/path.h" +#ifdef ENABLE_GPUQUE +#include "minddata/dataset/core/config_manager.h" +#include "minddata/dataset/core/global_context.h" +#endif #include "minddata/dataset/engine/perf/monitor.h" #include "minddata/dataset/engine/perf/device_queue_tracing.h" #include "minddata/dataset/engine/perf/connector_size.h" @@ -59,11 +63,26 @@ Status ProfilingManager::Initialize() { #endif dir_path_ = real_path; +#ifdef ENABLE_GPUQUE + std::shared_ptr cfg = GlobalContext::config_manager(); + int32_t rank_id = cfg->rank_id(); // If DEVICE_ID is not set, default value is 0 + if (rank_id < 0) { + device_id_ = common::GetEnv("DEVICE_ID"); + // If DEVICE_ID is not set, default value is 0 + if (device_id_.empty()) { + device_id_ = "0"; + } + } else { + device_id_ = std::to_string(rank_id); + } +#else device_id_ = common::GetEnv("DEVICE_ID"); + // If DEVICE_ID is not set, default value is 0 if (device_id_.empty()) { device_id_ = "0"; } +#endif // Register all profiling node. // device_queue node is used for graph mode