[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.
Este commit está contenido en:
@@ -55,6 +55,7 @@
|
||||
#include "library/components/mpi_gotcha.hpp"
|
||||
#include "library/components/numa_gotcha.hpp"
|
||||
#include "library/components/pthread_gotcha.hpp"
|
||||
#include "library/components/ucx_gotcha.hpp"
|
||||
#include "library/components/vaapi_gotcha.hpp"
|
||||
#include "library/coverage.hpp"
|
||||
#include "library/process_sampler.hpp"
|
||||
@@ -609,6 +610,12 @@ rocprofsys_init_tooling_hidden(void)
|
||||
// start these gotchas once settings have been initialized
|
||||
if(get_init_bundle()) get_init_bundle()->start();
|
||||
|
||||
if(get_use_ucx())
|
||||
{
|
||||
LOG_DEBUG("Setting up UCX traces...\n");
|
||||
component::ucx_gotcha::start();
|
||||
}
|
||||
|
||||
if(get_use_vaapi_tracing())
|
||||
{
|
||||
LOG_DEBUG("Setting up VA-API traces...");
|
||||
@@ -900,6 +907,12 @@ rocprofsys_finalize_hidden(void)
|
||||
fini_bundle_t _finalization{};
|
||||
_finalization.start();
|
||||
|
||||
if(get_use_ucx())
|
||||
{
|
||||
LOG_DEBUG("Shutting down UCX tracing...\n");
|
||||
component::ucx_gotcha::shutdown();
|
||||
}
|
||||
|
||||
if(get_use_vaapi_tracing())
|
||||
{
|
||||
LOG_DEBUG("Shutting down VA-API tracing...");
|
||||
|
||||
Referencia en una nueva incidencia
Block a user