Skip to content

SWDEV-549518 - Enable logging dynamically through HIP APIS.#1079

Merged
kjayapra-amd merged 12 commits into
developfrom
amd/dev/kjayapra/SWDEV-549518_Init
Jan 19, 2026
Merged

SWDEV-549518 - Enable logging dynamically through HIP APIS.#1079
kjayapra-amd merged 12 commits into
developfrom
amd/dev/kjayapra/SWDEV-549518_Init

Conversation

@kjayapra-amd

@kjayapra-amd kjayapra-amd commented Sep 22, 2025

Copy link
Copy Markdown
Contributor

Motivation

https://ontrack-internal.amd.com/browse/SWDEV-549518
This PR introduces dynamic logging APIs for the HIP runtime, allowing applications to programmatically enable, disable, and configure logging at runtime without requiring environment variable changes or application restarts. This provides more granular control over diagnostic output, which is useful for debugging specific code sections or reducing log noise during performance-critical operations.

Technical Details

Added 3 APIs, Enable, disable & set logging level.

Test Plan

Unit_hipDynamicLogging_Positive_Basic: Validates logging is disabled by default, captured when enabled, and stops when disabled
Unit_hipDynamicLogging_Positive_MultipleEnableDisable: Validates multiple enable/disable cycles work correctly

Test Result

All unit tests pass. Logging output is correctly captured during enabled periods and no output is produced when disabled.

Submission Checklist

@kjayapra-amd kjayapra-amd force-pushed the amd/dev/kjayapra/SWDEV-549518_Init branch from 8fb48cd to cdc706e Compare September 22, 2025 15:13
@kjayapra-amd kjayapra-amd force-pushed the amd/dev/kjayapra/SWDEV-549518_Init branch 17 times, most recently from 74b5811 to 4b6cf8e Compare September 24, 2025 15:32
@kjayapra-amd kjayapra-amd force-pushed the amd/dev/kjayapra/SWDEV-549518_Init branch from 4b6cf8e to 9547b54 Compare September 24, 2025 18:29
@kjayapra-amd kjayapra-amd force-pushed the amd/dev/kjayapra/SWDEV-549518_Init branch from 38e9ecf to e31887e Compare November 13, 2025 12:08
@kjayapra-amd kjayapra-amd marked this pull request as ready for review November 13, 2025 12:17
@kjayapra-amd kjayapra-amd requested review from a team as code owners December 22, 2025 20:56
Comment thread projects/hip-tests/catch/unit/errorHandling/OutCapture.hh Outdated
Comment thread projects/hip-tests/catch/unit/errorHandling/OutCapture.hh
Comment thread projects/hip/include/hip/hip_runtime_api.h
@kjayapra-amd kjayapra-amd force-pushed the amd/dev/kjayapra/SWDEV-549518_Init branch 6 times, most recently from 9c3807a to e3a5b3a Compare January 14, 2026 20:46
@kjayapra-amd kjayapra-amd force-pushed the amd/dev/kjayapra/SWDEV-549518_Init branch from 5ec64e5 to bf81a3c Compare January 15, 2026 18:38

@venkat1361 venkat1361 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rocprofiler-sdk changes look good.

@kjayapra-amd kjayapra-amd merged commit 99c3a06 into develop Jan 19, 2026
32 of 49 checks passed
@kjayapra-amd kjayapra-amd deleted the amd/dev/kjayapra/SWDEV-549518_Init branch January 19, 2026 21:16
systems-assistant Bot pushed a commit to ROCm/clr that referenced this pull request Jan 19, 2026
 (#1079)

* SWDEV-549518 - Enable logging dynamically through HIP APIS.

* SWDEV-549518 - Adding ROCProfiler related new API changes.

* rocprofiler-sdk changes for hip api additions.
[rocm-systems] ROCm/rocm-systems#1079 (commit 99c3a06)
systems-assistant Bot pushed a commit to ROCm/hip that referenced this pull request Jan 19, 2026
 (#1079)

* SWDEV-549518 - Enable logging dynamically through HIP APIS.

* SWDEV-549518 - Adding ROCProfiler related new API changes.

* rocprofiler-sdk changes for hip api additions.
[rocm-systems] ROCm/rocm-systems#1079 (commit 99c3a06)
systems-assistant Bot pushed a commit to ROCm/hip-tests that referenced this pull request Jan 19, 2026
 (#1079)

* SWDEV-549518 - Enable logging dynamically through HIP APIS.

* SWDEV-549518 - Adding ROCProfiler related new API changes.

* rocprofiler-sdk changes for hip api additions.
[rocm-systems] ROCm/rocm-systems#1079 (commit 99c3a06)
systems-assistant Bot pushed a commit to ROCm/rocprofiler-sdk that referenced this pull request Jan 19, 2026
 (#1079)

* SWDEV-549518 - Enable logging dynamically through HIP APIS.

* SWDEV-549518 - Adding ROCProfiler related new API changes.

* rocprofiler-sdk changes for hip api additions.
[rocm-systems] ROCm/rocm-systems#1079 (commit 99c3a06)
dayatsin-amd pushed a commit that referenced this pull request Apr 7, 2026
…nal-merge-new-729 (#459)

* SWDEV-549518 - Enable logging dynamically through HIP APIS. (#1079)

* SWDEV-549518 - Enable logging dynamically through HIP APIS.

* SWDEV-549518 - Adding ROCProfiler related new API changes.

* rocprofiler-sdk changes for hip api additions.

---------

Co-authored-by: Venkateshwar Reddy Kandula <venkateshwar.kandula1306@gmail.com>
Co-authored-by: jainprad <92369414+jainprad@users.noreply.github.com>

* [rocprof-compute] Pin ruff version for consistent formatting (#2680)

* pin ruff versions each to current latest

* Update rocprofiler-compute-formatting.yml

* Downgrade .pre-commit-config.yaml to match develop

* Fix Python Formatting (#2679)

Updated version of black to 26.1.0 updated some formatting rules

Signed-off-by: David Galiffi <David.Galiffi@amd.com>

* Add automatic PyTorch library discovery for Python applications (#2623)

* Add automatic PyTorch library discovery for Python applications (#2623)

* Add notice for the newly deprecated env variables (#2690)

* [rocprofiler-compute] Use TheRock nightly builds in testing container (#2661)

* Use TheRock nightly builds in testing container

* Add HIP_DEVICE_LIB_PATH env var for hipcc to work

* Add HIP_PLATFORM env var for cmake hip package

* Add tarball placeholder

* Add -f to curl command to fail on HTTP error

* [rocprofiler-compute] Fix kernel/dispatch filtering (#2479)

* Fix kernel/dispatch fitlering in GUI

* Disallow --kernel and --dispatch filtering in analyze --gui mode since
  GUI frontend offers dropdown menu for kernel and dispatch filtering
    * Update CHANGELOG and documentation

* Gracefully handle N/A values

* Ensure workload path is valid before using it in GUI

* Ignore kernel filters if dispatch filters provided

* Add documentation for dispatch filtering overriding kernel filtering

* Fix typo

* Fix documentation

* remove unnecessary whitespace

* Address review comments

* Allow kernel/dispatch filtering with --gui

* Address review comments

* Address review comments

* Update CHANGELOG

* Fix formatting

* [rocprofiler-systems] Add build option for "examples" to specify gfx-arch (#2626)

## Motivation
 - Added `check_rocminfo` function that returns true if the provided regex was found, false otherwise. Can also use `GET_OUTPUT` to get the raw output filtered with or without a regex.
 - Moved `rocprofiler_systems_get_gfx_archs()` to `MacroUtilities.cmake` 
 - Added `rocprofiler_systems_lookup_gfx()`, which detects whether a given `gfx` is from the `instinct`, `radeon` or `apu` family.
 - Added `ROCPROFSYS_GFX_TARGETS` as a build argument. Used to specify the offloading architectures that GPU examples should compile for. If empty, defaults to whatever your system has.
 - GPU examples now check if the given `gfx` targets (from `ROCPROFSYS_GFX_TARGETS`) are supported.
 - OMPVV offload tests now only compile if `amdflang` version is `>= 20`
 - Improve link time by reducing the number of GFX targets that binaries need to support.
   - RCCL is now passed a `GPU_TARGETS` var specifying the architectures to build/link against.

* Reset HIP_VERSION_PATCH to 0 (#2590)

* [SWDEV-559965] Update Changelog for power cap type (#2647)

* [SWDEV-559965] Update Changelog for amd-smi set --power-cap

Updated Changelog to mention flexible argument
ordering for power cap type in amdsmi power cap set.
Corrected Changelog documentation on PPT1 reset
power_cap command.

Signed-off-by: Bindhiya Kanangot Balakrishnan <Bindhiya.KanangotBalakrishnan@amd.com>
Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
Co-authored-by: Maisam Arif <Maisam.Arif@amd.com>

* [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.

* hip-issue-3876 : Take into account thread-local capture mode in checks for valid capture (#2177)

* Revert "rocr: Switch back to legacy IPC (#1744)" (#2676)

This reverts commit 7e4b622.

* SWDEV-558849 - Add support for static linking with ROCR (#2659)

* [rocprofiler-systems] Fix MPI recv_data calculation (#2694)

Fix incorrect `mpi_recv` calculation. It was using `_send_size` instead of `_recv_size` for `mpi_recv`.

* [ROCmInfo] docs: mono-repo changes and style edits (#2584)

* initial edits

* mono repo related updates

* standardize component name

* style edits

* more edits

* Update CODEOWNERS (#2705): add /project/amdsmi owner

* Use size_t datatype for global dimensions. (#2604)

* rocrtst: set HSA_ENABLE_INTERRUPT after TestExample creation (#2687)

Signed-off-by: Horatio Zhang <Hongkun.Zhang@amd.com>
Co-authored-by: cfreeamd <166262151+cfreeamd@users.noreply.github.com>

* Rework clock based unit tests (#2646)

* Update hip_api_trace.cpp for HIP_RUNTIME_API_TABLE_STEP_VERSION 22

* Update hip_api_trace.hpp for HIP_RUNTIME_API_TABLE_STEP_VERSION 22

---------

Signed-off-by: David Galiffi <David.Galiffi@amd.com>
Signed-off-by: Bindhiya Kanangot Balakrishnan <Bindhiya.KanangotBalakrishnan@amd.com>
Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
Signed-off-by: Horatio Zhang <Hongkun.Zhang@amd.com>
Co-authored-by: Karthik Jayaprakash <54370791+kjayapra-amd@users.noreply.github.com>
Co-authored-by: Venkateshwar Reddy Kandula <venkateshwar.kandula1306@gmail.com>
Co-authored-by: jainprad <92369414+jainprad@users.noreply.github.com>
Co-authored-by: jamessiddeley-amd <James.Siddeley@amd.com>
Co-authored-by: David Galiffi <David.Galiffi@amd.com>
Co-authored-by: Milan Radosavljevic <milan.radosavljevic@amd.com>
Co-authored-by: marantic-amd <marantic@amd.com>
Co-authored-by: vedithal-amd <Vignesh.Edithal@amd.com>
Co-authored-by: Kian Cossettini <Kian.Cossettini@amd.com>
Co-authored-by: Rakesh Roy <137397847+rakesroy@users.noreply.github.com>
Co-authored-by: Bindhiya Kanangot Balakrishnan <Bindhiya.KanangotBalakrishnan@amd.com>
Co-authored-by: Maisam Arif <Maisam.Arif@amd.com>
Co-authored-by: Sajina PK <sputhala@amd.com>
Co-authored-by: Ioannis Assiouras <38722728+iassiour@users.noreply.github.com>
Co-authored-by: Alysa Liu <Alysa.Liu@amd.com>
Co-authored-by: German Andryeyev <56892148+gandryey@users.noreply.github.com>
Co-authored-by: yugang-amd <yugang.wang@amd.com>
Co-authored-by: JeniferC99 <150404595+JeniferC99@users.noreply.github.com>
Co-authored-by: hongkzha-amd <Hongkun.Zhang@amd.com>
Co-authored-by: cfreeamd <166262151+cfreeamd@users.noreply.github.com>
Co-authored-by: Jatin Chaudhary <51944368+cjatin@users.noreply.github.com>
Co-authored-by: kjayapra-amd <karthik.jayaprakash@amd.com>
Co-authored-by: hsivasun_amdeng <haresh.sivasuntharampillai@amd.com>
Co-authored-by: Kandula, Venkateshwar reddy <Venkateshwarreddy.Kandula@amd.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants