Reverting PR-154 Changes since VCN data not seen on Perfetto file (#191)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
0f16d45445
Коммит
ff109912c2
@@ -122,7 +122,7 @@ rocprofsys_init_library(void)
|
||||
extern "C" void
|
||||
rocprofsys_init_tooling(void)
|
||||
{
|
||||
rocprofsys_init_tooling_hidden();
|
||||
rocprofsys_init_tooling_hidden(true);
|
||||
}
|
||||
|
||||
extern "C" void
|
||||
|
||||
@@ -95,7 +95,7 @@ extern "C"
|
||||
|
||||
// these are the real implementations for internal calling convention
|
||||
void rocprofsys_init_library_hidden(void) ROCPROFSYS_HIDDEN_API;
|
||||
bool rocprofsys_init_tooling_hidden(void) ROCPROFSYS_HIDDEN_API;
|
||||
bool rocprofsys_init_tooling_hidden(bool postinit = false) ROCPROFSYS_HIDDEN_API;
|
||||
void rocprofsys_init_hidden(const char*, bool, const char*) ROCPROFSYS_HIDDEN_API;
|
||||
void rocprofsys_finalize_hidden(void) ROCPROFSYS_HIDDEN_API;
|
||||
void rocprofsys_reset_preload_hidden(void) ROCPROFSYS_HIDDEN_API;
|
||||
|
||||
@@ -404,16 +404,42 @@ rocprofsys_init_library_hidden()
|
||||
ROCPROFSYS_CONDITIONAL_BASIC_PRINT_F(_debug_init, "\n");
|
||||
}
|
||||
|
||||
// Initialize RCCL if:
|
||||
// - postinit=true - so the code doesn't hang at the initialization stage
|
||||
// - get_state() >= State::Init - so the code doesn't throw an exception
|
||||
// - rccl_initialized=false - so we don't try to initialize RCCL twice
|
||||
// - get_use_rcclp()=true - only if the environment is configured to use RCCL
|
||||
static void
|
||||
rccl_setup(bool postinit)
|
||||
{
|
||||
// Flag used to avoid initializing RCCL twice
|
||||
static bool rccl_initialized = false;
|
||||
|
||||
if(postinit && (get_state() >= State::Init) && !rccl_initialized && get_use_rcclp())
|
||||
{
|
||||
ROCPROFSYS_VERBOSE_F(1, "Setting up RCCLP...\n");
|
||||
rcclp::setup();
|
||||
rccl_initialized = true;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
rocprofsys_init_library_hidden_with_rccl(bool postinit)
|
||||
{
|
||||
rocprofsys_init_library_hidden();
|
||||
rccl_setup(postinit);
|
||||
}
|
||||
|
||||
//======================================================================================//
|
||||
|
||||
extern "C" bool
|
||||
rocprofsys_init_tooling_hidden()
|
||||
rocprofsys_init_tooling_hidden(bool postinit)
|
||||
{
|
||||
if(get_env("ROCPROFSYS_MONOCHROME", false, false)) tim::log::monochrome() = true;
|
||||
|
||||
if(!tim::get_env("ROCPROFSYS_INIT_TOOLING", true))
|
||||
{
|
||||
rocprofsys_init_library_hidden();
|
||||
rocprofsys_init_library_hidden_with_rccl(postinit);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -430,7 +456,11 @@ rocprofsys_init_tooling_hidden()
|
||||
ROCPROFSYS_CONDITIONAL_BASIC_PRINT_F(_debug_init, "State is %s...\n",
|
||||
std::to_string(get_state()).c_str());
|
||||
|
||||
if(get_state() != State::PreInit || get_state() == State::Init || _once) return false;
|
||||
if(get_state() != State::PreInit || get_state() == State::Init || _once)
|
||||
{
|
||||
rccl_setup(postinit);
|
||||
return false;
|
||||
}
|
||||
_once = true;
|
||||
|
||||
ROCPROFSYS_SCOPED_THREAD_STATE(ThreadState::Internal);
|
||||
@@ -451,7 +481,7 @@ rocprofsys_init_tooling_hidden()
|
||||
ROCPROFSYS_CONDITIONAL_BASIC_PRINT_F(_debug_init,
|
||||
"Calling rocprofsys_init_library()...\n");
|
||||
|
||||
rocprofsys_init_library_hidden();
|
||||
rocprofsys_init_library_hidden_with_rccl(postinit);
|
||||
|
||||
ROCPROFSYS_DEBUG_F("\n");
|
||||
|
||||
@@ -549,23 +579,6 @@ rocprofsys_init_tooling_hidden()
|
||||
ompt::setup();
|
||||
}
|
||||
|
||||
#if defined(ROCPROFSYS_USE_ROCM) && ROCPROFSYS_USE_ROCM > 0
|
||||
// Force rocprofiler_configure if it hasn't been called through __hip_module_ctor.
|
||||
// rocprofiler_configure needs to be called before rcclp::setup to decide
|
||||
// whether we want to use gotcha wrappers for rccl or rocpofiler based tracing.
|
||||
if(get_use_rocm())
|
||||
{
|
||||
ROCPROFSYS_VERBOSE_F(1, "Setting up ROCm...\n");
|
||||
rocprofiler_sdk::setup();
|
||||
}
|
||||
#endif
|
||||
|
||||
if(get_use_rcclp())
|
||||
{
|
||||
ROCPROFSYS_VERBOSE_F(1, "Setting up RCCLP...\n");
|
||||
rcclp::setup();
|
||||
}
|
||||
|
||||
if(get_use_perfetto())
|
||||
{
|
||||
ROCPROFSYS_VERBOSE_F(1, "Starting Perfetto...\n");
|
||||
|
||||
@@ -1301,15 +1301,13 @@ rocprofiler_configure(uint32_t version, const char* runtime_version, uint32_t pr
|
||||
_first = false;
|
||||
}
|
||||
|
||||
// If ROCPROFSYS_PRELOAD or ROCPROFSYS_INIT_TOOLING is not set,
|
||||
// the tooling will not be initialized so we cannot enable
|
||||
// profiling with rocprofiler
|
||||
if(!tim::get_env("ROCPROFSYS_PRELOAD", true) ||
|
||||
!tim::get_env("ROCPROFSYS_INIT_TOOLING", true))
|
||||
return nullptr;
|
||||
|
||||
if(!tim::get_env("ROCPROFSYS_INIT_TOOLING", true)) return nullptr;
|
||||
if(!tim::settings::enabled()) return nullptr;
|
||||
|
||||
if(!rocprofsys::config::settings_are_configured() &&
|
||||
rocprofsys::get_state() < rocprofsys::State::Active)
|
||||
rocprofsys_init_tooling_hidden();
|
||||
|
||||
if(!rocprofsys::config::get_use_rocm())
|
||||
{
|
||||
return nullptr;
|
||||
|
||||
Ссылка в новой задаче
Block a user