[rocprofiler-system]: Enable UCX Communication API tracing (#2306)
## Motivation Enable UCX communication tracing and communication metadata ## Technical Details Implement UCX API wrappers to trace transport-layer communication. This adds communication data tracking and exposes “UCX Comm Send/Recv” timelines, enabling detailed analysis of MPI, OpenSHMEM, and other UCX-based runtime communication patterns. - Implements function interception for UCX functions across multiple categories using gotcha component. - Extended comm_data component to track UCX send/recv operations - Added ucx_send and ucx_recv labels for Perfetto counter tracks. Integrated UCX data tracking with existing MPI/RCCL tracking infrastructure. - Added ROCPROFSYS_USE_UCX configuration option (enabled by default). - Created FindUCX.cmake module for UCX header detection. Falls back to internal UCX headers if system headers not found. - Updated all Dockerfiles to include UCX dependencies.
This commit is contained in:
@@ -379,6 +379,10 @@ configure_settings(bool _init)
|
||||
"Enable support for MPI functions", true, "mpi", "backend",
|
||||
"parallelism");
|
||||
|
||||
ROCPROFSYS_CONFIG_SETTING(bool, "ROCPROFSYS_USE_UCX",
|
||||
"Enable support for UCX functions", true, "ucx", "backend",
|
||||
"parallelism");
|
||||
|
||||
ROCPROFSYS_CONFIG_SETTING(
|
||||
bool, "ROCPROFSYS_USE_RCCLP",
|
||||
"Enable support for ROCm Communication Collectives Library (RCCL) Performance",
|
||||
@@ -1943,6 +1947,13 @@ get_use_mpip()
|
||||
return static_cast<tim::tsettings<bool>&>(*_v->second).get();
|
||||
}
|
||||
|
||||
bool&
|
||||
get_use_ucx()
|
||||
{
|
||||
static auto _v = get_config()->find("ROCPROFSYS_USE_UCX");
|
||||
return static_cast<tim::tsettings<bool>&>(*_v->second).get();
|
||||
}
|
||||
|
||||
bool
|
||||
get_use_kokkosp()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user