diff --git a/mindspore/ccsrc/minddata/dataset/core/config_manager.cc b/mindspore/ccsrc/minddata/dataset/core/config_manager.cc index 995001328b4..80730302627 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 2f5ee8e7ebf..dd2e838beee 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