Use rocprofiler-sdk for RCCL-API tracing (#126)

- Add support for RCCL API tracing through rocprofiler-sdk.
- Refactored the comm_data code to use the SDK RCCL_API callbacks.
- Add a runtime version check for SDK to gate callback enablement, rather than just the compile-time check.
- Fixed: SAMPLING_TIMEOUT was not being handled correctly in add_test.
This commit is contained in:
David Galiffi
2025-06-06 11:36:17 -04:00
committed by GitHub
parent c5507e3740
commit af77d93f75
31 changed files with 350 additions and 1252 deletions
-4
View File
@@ -834,10 +834,6 @@ parse_args(int argc, char** argv, std::vector<char*>& _env,
(defined(ROCPROFSYS_USE_MPI_HEADERS) && ROCPROFSYS_USE_MPI_HEADERS > 0)
add_default_env(_env, "ROCPROFSYS_USE_MPIP", true);
#endif
#if defined(ROCPROFSYS_USE_RCCL) && ROCPROFSYS_USE_RCCL > 0
add_default_env(_env, "ROCPROFSYS_USE_RCCLP", true);
#endif
}
_fill("ROCPROFSYS_CAUSAL_BINARY_EXCLUDE", _binary_excludes, _generate_configs);
+5 -10
View File
@@ -730,11 +730,10 @@ parse_args(int argc, char** argv, std::vector<char*>& _env)
}
});
std::set<std::string> _backend_choices = {
"all", "kokkosp", "mpip", "ompt",
"rcclp", "amd-smi", "mutex-locks", "spin-locks",
"rw-locks", "rocprofiler-sdk", "rocm"
};
std::set<std::string> _backend_choices = { "all", "kokkosp", "mpip",
"ompt", "rcclp", "amd-smi",
"mutex-locks", "spin-locks", "rw-locks",
"rocm" };
#if !defined(ROCPROFSYS_USE_MPI) && !defined(ROCPROFSYS_USE_MPI_HEADERS)
_backend_choices.erase("mpip");
@@ -744,14 +743,10 @@ parse_args(int argc, char** argv, std::vector<char*>& _env)
_backend_choices.erase("ompt");
#endif
#if !defined(ROCPROFSYS_USE_RCCL)
_backend_choices.erase("rcclp");
#endif
#if !defined(ROCPROFSYS_USE_ROCM)
_backend_choices.erase("rocm");
_backend_choices.erase("amd-smi");
_backend_choices.erase("rocprofiler-sdk");
_backend_choices.erase("rcclp");
#endif
parser.start_group("BACKEND OPTIONS",