Repository navigation
Conversation
systems-assistant Bot
pushed a commit
that referenced
this pull request
Aug 5, 2025
Adding Public Sync to ROCTracer Co-authored-by: Ammar ELWazir <aelwazir@amd.com>
systems-assistant Bot
pushed a commit
that referenced
this pull request
Aug 5, 2025
* Provide rocprofiler_register_iterate_registration_info function - stores the runtime arguments for later reference * Fix compilation error * Removed unused variable * Store api tables in vector * Update license * Replace global_mutex usage with scoped_count - in rocp_invoke_registrations * Formatting --------- Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
systems-assistant Bot
pushed a commit
that referenced
this pull request
Aug 5, 2025
* Obey CMAKE_BUILD_TYPE Obey CMAKE_BUILD_TYPE when it is passed on the command line. Previous behavior remains: Debug by default ROCRTST_BLD_TYPE can set build type * External CI: change trigger from amd-master to amd-mainline * Added gfx94x and gfx11xx IDs to enumerator (#5) * Use idomatic approach to extending CMAKE_MODULE_PATH. (#7) There are many reasons why there may already be a CMAKE_MODULE_PATH defined. The idiomatic way to extend it in a project is via list(APPEND). ROCm/rocminfo#97 submitted by @stellaraccident Co-authored-by: Stella Laurenzo <Stella.Laurenzo@amd.com> * Added release trigger for further releases * Fix for typo in ISA_TO_ID table (#6) Change-Id: Id0720988fb01079a3ca6f3287dc743d93db4fd0f * Remove WSL checks for displaying UUID and BDFID Signed-off-by: lyndonli <Lyndon.Li@amd.com> * Added KWS check for amd-mainline (#9) --------- Signed-off-by: lyndonli <Lyndon.Li@amd.com> Co-authored-by: benrichard-amd <ben.richard@amd.com> Co-authored-by: Su, Daniel <Daniel.Su@amd.com> Co-authored-by: Stella Laurenzo <Stella.Laurenzo@amd.com> Co-authored-by: Mallya, Ameya Keshava <AmeyaKeshava.Mallya@amd.com> Co-authored-by: Yat Sin, David <David.YatSin@amd.com> Co-authored-by: lyndonli <Lyndon.Li@amd.com>
jayhawk-commits
pushed a commit
that referenced
this pull request
Aug 5, 2025
* Provide rocprofiler_register_iterate_registration_info function - stores the runtime arguments for later reference * Fix compilation error * Removed unused variable * Store api tables in vector * Update license * Replace global_mutex usage with scoped_count - in rocp_invoke_registrations * Formatting --------- Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com> [ROCm/rocprofiler-register commit: fc71235]
jayhawk-commits
pushed a commit
that referenced
this pull request
Aug 5, 2025
Adding Public Sync to ROCTracer Co-authored-by: Ammar ELWazir <aelwazir@amd.com> [ROCm/roctracer commit: 5d6d089]
ammallya
pushed a commit
that referenced
this pull request
Aug 6, 2025
[ROCm/rocprofiler-systems commit: c16f578]
systems-assistant Bot
pushed a commit
that referenced
this pull request
Aug 10, 2025
Change-Id: Ieda106374eb066cd22ddd1194a9f9b1352c26d16
xuchen-amd
pushed a commit
that referenced
this pull request
Aug 10, 2025
fix typo in hipBatchMemOpParamsTocudaBatchMemOpParams
jayhawk-commits
pushed a commit
that referenced
this pull request
Aug 11, 2025
Change-Id: Id0720988fb01079a3ca6f3287dc743d93db4fd0f [ROCm/rocminfo commit: ac6000d]
jayhawk-commits
pushed a commit
that referenced
this pull request
Aug 11, 2025
* Obey CMAKE_BUILD_TYPE Obey CMAKE_BUILD_TYPE when it is passed on the command line. Previous behavior remains: Debug by default ROCRTST_BLD_TYPE can set build type * External CI: change trigger from amd-master to amd-mainline * Added gfx94x and gfx11xx IDs to enumerator (#5) * Use idomatic approach to extending CMAKE_MODULE_PATH. (#7) There are many reasons why there may already be a CMAKE_MODULE_PATH defined. The idiomatic way to extend it in a project is via list(APPEND). ROCm/rocminfo#97 submitted by @stellaraccident Co-authored-by: Stella Laurenzo <Stella.Laurenzo@amd.com> * Added release trigger for further releases * Fix for typo in ISA_TO_ID table (#6) Change-Id: Id0720988fb01079a3ca6f3287dc743d93db4fd0f * Remove WSL checks for displaying UUID and BDFID Signed-off-by: lyndonli <Lyndon.Li@amd.com> * Added KWS check for amd-mainline (#9) --------- Signed-off-by: lyndonli <Lyndon.Li@amd.com> Co-authored-by: benrichard-amd <ben.richard@amd.com> Co-authored-by: Su, Daniel <Daniel.Su@amd.com> Co-authored-by: Stella Laurenzo <Stella.Laurenzo@amd.com> Co-authored-by: Mallya, Ameya Keshava <AmeyaKeshava.Mallya@amd.com> Co-authored-by: Yat Sin, David <David.YatSin@amd.com> Co-authored-by: lyndonli <Lyndon.Li@amd.com> [ROCm/rocminfo commit: aec5d6f]
jayhawk-commits
pushed a commit
that referenced
this pull request
Aug 11, 2025
[ROCm/rocm-core commit: b793b7a]
jayhawk-commits
pushed a commit
that referenced
this pull request
Aug 18, 2025
Change-Id: Ieda106374eb066cd22ddd1194a9f9b1352c26d16 [ROCm/hip-tests commit: 7bc6eda]
ApoKalipse-V
added a commit
that referenced
this pull request
Apr 23, 2026
commit b3aabb45064e63ec721f13a48146c0fe76d76c02
Author: alexxu-amd <159800977+alexxu-amd@users.noreply.github.com>
Date: Thu Apr 23 10:23:25 2026 -0400
[rocr-debug-agent] Correct .readthedocs path for monorepo migration (#5340)
## Motivation
.readthedocs.yml contains outdated path.
## Technical Details
Correct the path to match monorepo setup.
## JIRA ID
<!-- If applicable, mention the JIRA ID resolved by this PR (Example:
Resolves SWDEV-12345). -->
<!-- Do not post any JIRA links here. -->
## Test Plan
<!-- Explain any relevant testing done to verify this PR. -->
## Test Result
<!-- Briefly summarize test outcomes. -->
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit b5cd2c0530096f57e56cf2bebdfe2b7a7d09c060
Author: jamessiddeley-amd <James.Siddeley@amd.com>
Date: Thu Apr 23 10:10:59 2026 -0400
[rocprof-compute] Removed --exit-zero from ruff formatting workflow (#5308)
## Motivation
The formatting workflow uses`ruff check . --fix --exit-zero`.
This PR drops `--exit-zero` from the ruff CI step so the workflow
actually fails on lint errors that aren't auto fixable instead of
silently passing them
## Technical Details
N/A
## JIRA ID
N/A
## Test Plan
N/A
## Test Result
N/A
## Submission Checklist
- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
---------
Co-authored-by: Vignesh Edithal <Vignesh.Edithal@amd.com>
commit 8508fd9b5e9a42a39929eabfc5d4b5e12c90f92a
Author: Ammar ELWazir <ammar.elwazir@amd.com>
Date: Thu Apr 23 09:04:20 2026 -0500
feat(perfxpert): consolidate agentic redesign and validation stack (#4576)
## Summary
This PR is the consolidation point for the current
`experimental/python/perfxpert` stack. It is no longer just the original
rename branch: it now carries the agentic redesign, provider/runtime
hardening, launcher/backend integration, parity/regression coverage, and
the docs/media refresh on top of the `ROCInsight` -> `PerfXpert` rename.
## Scope
In scope:
- `experimental/python/perfxpert/**`
Explicitly out of scope for this PR:
- `.github/**`
- CI/workflow-only changes (handled separately)
## Design / Feature Areas
### 1. Rename + package surface
- rename from `rocinsight` to `perfxpert`
- updated package/import/CLI/env-var/doc branding
- preserved the Python and CLI entry surfaces under the new package name
### 2. Agentic analysis stack
- layered agent hierarchy with Root, Analysis, Recommendation,
Correctness, and specialist agents
- shared agent brain across batch `perfxpert analyze`, Python API, MCP,
and interactive launcher flows
- fence-sliced prompt layering retained across the hierarchy
### 3. Provider + runtime hardening
- provider registry/config loading and public provider surface fixes
- typed provider error taxonomy and provider routing cleanup
- fallback-chain support in the runtime session layer
- recursion-guard and gate-cascade fixes carried forward into the
consolidated branch
### 4. Launcher + backend integration
- multi-backend `perfxpert-code` surface (`opencode`, `claude`, `codex`,
`gemini`)
- MCP registration + staged prompt wiring for backend adapters
- source-checkout preference for the locally built patched `opencode`
binary before bundled/PATH fallbacks
- bundled build script now tolerates Bun lockfile-format churn by
retrying without `--frozen-lockfile`
### 5. CLI + user workflows
- top-level `init`, `diff`, `ci`, `doctor`, `providers`, and analyze
flows present on the consolidated branch
- source-only, trace-only, and combined analyze paths preserved
- diff/CI/reporting surfaces merged into the same branch state
### 6. Validation / safety stack
- parity fixtures and parity harness added to the branch
- red-team and regression-gate coverage retained
- exit-dashboard and audit-gate docs/tests carried into the consolidated
branch
- MCP registry/tool exposure checks preserved
### 7. Docs / schemas / media
- guide and architecture docs updated to reflect the live product
surface
- refreshed guide GIF set carried on the branch
- schema/version docs updated with the additive JSON formatter evolution
- stale unsupported examples removed or rewritten to match the actual
CLI/runtime surface
## Current Validation On Branch
Focused validation completed on the live branch state:
- `214 passed` on the shared runtime / CLI / MCP / setup / docs /
launcher slice
- `25 passed` on the launcher + setup-build + docs-links slice
- local patched `opencode` build completed successfully from the pinned
submodule
- source-checkout launcher resolution now prefers the locally built
patched binary:
-
`/tmp/rocm-systems-pr4576-consolidated/experimental/python/perfxpert/opencode/packages/opencode/dist/opencode-linux-x64/bin/opencode`
Representative commands run on this branch state:
```bash
PYTHONPATH=experimental/python/perfxpert pytest -q \
experimental/python/perfxpert/tests/test_agents/test_runtime.py \
experimental/python/perfxpert/tests/test_agents/test_framework.py \
experimental/python/perfxpert/tests/test_cli/test_analyze_args.py \
experimental/python/perfxpert/tests/test_cli/test_provider_error_surface.py \
experimental/python/perfxpert/tests/test_cli/test_backend_dispatch.py \
experimental/python/perfxpert/tests/test_cli/test_launcher_subcommands.py \
experimental/python/perfxpert/tests/test_tools/test_agents/test_mcp_registry_has_agent_tools.py \
experimental/python/perfxpert/tests/test_integration/test_cli_dispatch.py \
experimental/python/perfxpert/tests/test_setup/test_setup_build.py \
experimental/python/perfxpert/tests/test_integration/test_docs_links.py \
experimental/python/perfxpert/tests/test_tools/test_opencode_launcher.py
```
```bash
PYTHONPATH=experimental/python/perfxpert pytest -q \
experimental/python/perfxpert/tests/test_tools/test_opencode_launcher.py \
experimental/python/perfxpert/tests/test_setup/test_setup_build.py \
experimental/python/perfxpert/tests/test_integration/test_docs_links.py
```
## Notes
- This PR description is intentionally scoped to the consolidated
`perfxpert` branch state, not the original rename-only PR.
- `.github` changes are intentionally excluded from this PR.
- Final ROCm/manual parity validation and the remaining doc/spec
closeout continue on top of this branch.
commit e7d104593dabd87674c40e5fc2f6cb0d87e46d8f
Author: Aurelien Bouteiller <abouteil@amd.com>
Date: Thu Apr 23 09:53:32 2026 -0400
[rocshmem] rocgdb debugging scripts (#5122)
## Motivation
Improve debugability of deadlocked rocshmem application by providing
rocgdb scripting that analyzes live deadlocked processes and summarizes
and groups wavefront backtraces and highlight wavefronts that are stuck
in a rocshmem api.
## Technical Details
Use python scripting to drive rocgdb, add a small script to ease
attaching and summarizing for multiprocesses.
## JIRA ID
AIROCSHMEM-377
## Test Plan
* [x] Ran the debug script on the pr-provided deadlock example
* [x] Ran the debug script on a modified functional test that deadlocks
intentionally, witnessed wg groupings
* [x] Ran the debug script on modified deepep that deadlocks
intentionally, witnessed wg groupings in a useful way
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
---------
Signed-off-by: Aurelien Bouteiller <abouteil@amd.com>
Signed-off-by: Aurelien Bouteiller <aurelien.bouteiller@amd.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
commit d192aa1e21d1f220d0c3eb06c5730a3d75f0b81f
Author: marantic-amd <marantic@amd.com>
Date: Thu Apr 23 15:16:09 2026 +0200
[rocprofiler-systems] Adapt CPU metrics to PMC collector approach (#4612)
## Motivation
- Add CPU metrics collector with policy-based PMC architecture
- Replace the legacy cpu_freq module with a new CPU collector that
follows the same policy-based design as the GPU and NIC collectors. The
CPU collector integrates into the unified PMC sampler via
collector_slice, sampling per-CPU frequency, load, and process-level
metrics.
## Technical Details
- New components:
- procfs driver: reads /proc/stat, /proc/cpuinfo, getrusage() with
persistent FDs and zero-copy parsing for minimal overhead
- procfs provider: lightweight wrapper with factory pattern for DI
- CPU device: manages per-CPU state with delta-based load computation
- CPU traits: adapts base::collector for single-device multi-core model
- CPU cache/perfetto policies: trace cache and Perfetto output
- Mock driver and 17 unit tests covering init, freq, load, process
metrics, filtered CPU sets, and repeated sampling
- Integration:
- Added to g_collector_slices alongside GPU/NIC in pmc::sampler
- New ROCPROFSYS_CATEGORY_CPU_LOAD category for Perfetto traces
- Renamed cpu_freq_sample to cpu_pmc_sample in trace cache (0x0007)
- Updated perfetto_processor and rocpd_processor to handle CPU load
deserialization and emit per-CPU counter tracks
- Pause support: cache_policy emits zero entries for all monitored CPUs
when metrics are empty (pause path)
- Removed:
- library/cpu_freq.cpp, cpu_freq.hpp
- library/components/cpu_freq.cpp, cpu_freq.hpp
- cpu_freq instance block from process_sampler.cpp
## JIRA ID
- AIPROFSYST-224
- AIPROFSYST-79
## Test Plan
- Added additional unit tests to the feature
- Tested with existing test suite
## Test Result
- All test passed
## Submission Checklist
- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit 34bef1e6accfef4c5a3e01542b638229a09eb7a1
Author: accauble <accauble@users.noreply.github.com>
Date: Thu Apr 23 09:03:54 2026 -0400
[rocjitsu] Add pre-commit hook to check for clang-format in rocjitsu files (#5311)
## Motivation
I keep forgetting to run the clang_format.sh script so I'm adding a
pre-commit hook that rocjitsu developers can install to check if they
need to run the script.
## Technical Details
Heavily commented because I used claude and I have never written a
git-hook. Adding two basic scripts:
-- A script to "install" the hook in rocm-systems. Only need to do this
once per clone.
-- The hook: checks staged files to see if they are formatted correctly.
If not, halts the commit and tells the user what went wrong.
## JIRA ID
None
## Test Plan
Tested:
1. Installation script works as expected
2. Checked that a poorly-formatted staged file was caught by the hook
3. Checked that a well-formatted staged file is allowed
4. Checked that a poorly-formatted cpp file outside the rocjitsu
directory doesn't get caught by the hook
## Test Result
They work!
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Rosa, Ada <arosa@amd.com>
commit 35534db977d5e5cbdd5ec88b7bd8b586ea2077a1
Author: Milan Radosavljevic <milan.radosavljevic@amd.com>
Date: Thu Apr 23 13:09:43 2026 +0200
[rocprofiler-systems] Restructure unit tests to improve test isolation (#4853)
## Motivation
Unit tests hang under Thread Sanitizer (TSan) due to a deadlock during
atexit static destruction. The thread_deleter calls
rocprofsys_finalize_hidden() which logs via spdlog, triggering a TSan
race report whose symbolizer deadlocks on its own slot lock while
closing a file descriptor. This causes the sanitizer CI workflow to time
out.
## Technical Details
Root cause: unit test executable was including
`rocprofsys-object-library` which pulled `library.cpp`. with
`library.cpp` static variables were included which should trigger
`ensure_finalization(true)`. `ensure_finalization(true)` was calling
`thread_deleter`. Unit test should include only isolated code, where
this is breaking this rule.
## JIRA ID
<!-- If applicable, mention the JIRA ID resolved by this PR (Example:
Resolves SWDEV-12345). -->
<!-- Do not post any JIRA links here. -->
## Test Plan
<!-- Explain any relevant testing done to verify this PR. -->
- Run full unit test suite: ./bin/rocprof-sys-unit-tests — all 480 tests
pass
- Run logger fork/stress tests under TSan — no deadlock
- Verify rocprofiler-systems-object-library is not linked into the test
binary-
## Test Result
All unit tests pass under TSan without hanging during atexit. The test
binary no longer links library.cpp's static initializers, preventing
thread_data instantiation and thread_deleter finalization entirely.
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit 783707e8cb0a210e78d1723542c42b61eb95f63d
Author: Jonathan L'Work <113400649+Jonathan03ant@users.noreply.github.com>
Date: Thu Apr 23 06:17:30 2026 -0400
[rocprofiler-sdk]: Fix crash on iGPUs without PMC support #148 (#5294)
commit f89f4135b732c7bb83b6d25363160a847762e000
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed Apr 22 17:22:29 2026 +0000
Bump cryptography in /projects/rocr-debug-agent/docs/sphinx
Bumps [cryptography](https://github.com/pyca/cryptography) from 46.0.6 to 46.0.7.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.6...46.0.7)
---
updated-dependencies:
- dependency-name: cryptography
dependency-version: 46.0.7
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
commit 7321d441181f08e8c53f48e7b580f8dd2434a73d
Author: cfallows-amd <Carrie.Fallows@amd.com>
Date: Wed Apr 22 22:12:49 2026 -0400
[rocprofiler-compute] Bugfix for memchart Matrix Ops value (#5310)
## Motivation
Fix Matrix Ops value pickup in memcharts- was trying to read for MFMA
but recent roof updates have converted it to general matrix operations
label which forced it to N/A value.
## Technical Details
Change MFMA metric title to Matrix Ops to reflect db entry.
Only affects CDNA memcharts
## JIRA ID
AIPROFCOMP-559
## Test Plan
Manual testing on MI350 system - profiled rocflop and occupancy samples
to test for workload that captures # of MFMA ops, and workload that has
0 MFMA ops, respectively.
Also regenerated hashes.
## Test Result
CLI analysis for block 3 shows Matrix Ops reflecting accurate MFMA
values:
<img width="1485" height="653" alt="Screenshot 2026-04-22 165029"
src="https://github.com/user-attachments/assets/2b3d8d59-e038-4a1a-bdac-0db98bd94da1"
/>
<img width="1448" height="645" alt="Screenshot 2026-04-22 165104"
src="https://github.com/user-attachments/assets/1c8423e0-4af8-44c8-b9d7-3a3203f39900"
/>
GUI mode also reflects these changes to the value outputs, no N/A.
## Submission Checklist
- [X] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
---------
Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
commit 4a65e8d0efcdcd584778d8b5d86d25563891afad
Author: Dmitrii <dmitrii.galantsev@amd.com>
Date: Wed Apr 22 20:01:57 2026 -0500
[RDC] Fix embedded profiler by loading librdc_rocp.so with RTLD_GLOBAL (#3922)
rocprofiler-sdk discovers tools by searching for rocprofiler_configure
in the global symbol namespace during hsa_init(). librdc_rocp.so was
loaded with RTLD_LAZY (implicit RTLD_LOCAL), hiding the symbol and
silently preventing profiler counter collection in embedded mode.
commit cbfa12fb0ea9a8c39b9e0f3232f3e821e2ce239f
Author: marandje <marko.arandjelovic@amd.com>
Date: Thu Apr 23 01:28:40 2026 +0200
Fix false queue-idle detection for first unsignaled packet (#5073)
## Motivation
- `Unit_hipGetProcAddress_MemoryApisMemset` is failing because
`hipStreamSynchronize` may return before `hipMemset*Async` operation has
actually completed when it is the only operation enqueued on the stream.
## Technical Details
- If a single command is enqueued on a stream without an attached
completion signal, `IsQueueIdle()` can incorrectly report the queue as
idle. In the original logic, the write index starts at `0`, so an empty
queue and a queue containing exactly one command at index `0` are
indistinguishable.
- When `hipStreamSynchronize` is called on stream A, the finish path may
call `ReleaseAllHwQueues()`, which can release an idle hardware queue
belonging to stream B. If stream B has only a single enqueued command
without a completion signal, that queue can be released prematurely. A
later synchronization on stream B may then reacquire a different queue
that is already idle, causing `hipStreamSynchronize` to return too
early.
- `last_write_index_` and `last_packet_with_signal_index_` still starts
counting from zero but are preinitialized with an invalid queue index.
## JIRA ID
ROCM-20999
## Test Plan
Run hip-tests.
## Test Result
All hip-tests passed.
## Submission Checklist
- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit 4a47fe94289240c48cd005cf0499c71221d29a0c
Author: akolliasAMD <99202231+akolliasAMD@users.noreply.github.com>
Date: Wed Apr 22 16:28:06 2026 -0600
removed akolliasAMD from codeowners on rocSHMEM repo (#5250)
## Motivation
Removing akolliasAMD from CODEOWNERS for team changes
## Test Plan
No test needed
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit c08c171dbb0d974eee4c42dc9e7709e2cb13cf56
Author: marandje <marko.arandjelovic@amd.com>
Date: Thu Apr 23 00:18:39 2026 +0200
Remove the queue from a set of active queues only when last enqueued command is cleared (#5193)
## Motivation
Unit_hipMultiThreadStreams1_AsyncAsync fails when GPU_ENABLE_PAL=0. In
HostQueue::finish(), lastEnqueueCommand_ is preserved, but the queue is
still removed from activeQueues. When the next command is enqueued, the
queue is not added back to activeQueues because lastEnqueueCommand_ is
still non-null, which prevents the null stream from implicitly
synchronizing with that queue.
## Technical Details
This change removes the queue from the set of active queues only when
last enqueued command is cleared.
## JIRA ID
ROCM-20999
## Test Plan
Run Unit_hipMultiThreadStreams1_AsyncAsync 100x.
## Test Result
All iterations passed.
## Submission Checklist
- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit c74978d8d5f3c7f8732da86659f08acf71b9427f
Author: Sajina PK <sputhala@amd.com>
Date: Wed Apr 22 18:14:48 2026 -0400
[rocprof-systems]: Fix makeinfo build failures on systems without texinfo (#5131)
## Motivation
Bundled `binutils` bfd build can invoke `makeinfo` to refresh GNU Info
manuals. On images without `Texinfo`, that fails with `makeinfo: not
found` even though we only need static libraries (libbfd, libiberty,
etc.).
## Technical Details
- Set `MAKEINFO` to a no-op (true, via `find_program`) in the configure
environment for the timemory `binutils-external` and rocprofiler-systems
`rocprofiler-systems-libiberty-build` ExternalProjects.
- Pass `MAKEINFO=…` on the make command line so existing build trees and
`CONFIGURE_HANDLED_BY_BUILD` flows still override the value baked into
generated Makefiles.
- [x] Merge the timemory update:
https://github.com/ROCm/timemory/pull/30
- [x] Once the timemory PR is merged update the submodule pointer to
head of rocprofiler-systems branch
## JIRA ID
## Test Plan
Manual test building `rocprofiler-systems` project.
## Test Result
Pass
## Submission Checklist
- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit 4c8dc1a07aaec317ed9bf7da1f7854cac74da62a
Author: spolifroni-amd <Sandra.Polifroni@amd.com>
Date: Wed Apr 22 16:55:44 2026 -0400
[rocdecode, rocjpeg] added env var doc (#5247)
## Motivation
rocdecode and rocjpeg both needed a list of env vars that affected their
runtimes
commit 08cec46e16354c0b34a404acb5c3e94d8035695d
Author: Dmitrii <dmitrii.galantsev@amd.com>
Date: Wed Apr 22 15:42:26 2026 -0500
[ci] Use github-script instead of curl (#3424)
## Motivation
Trying to manually sanitize PR strings is painful.
Use github-script to handle it all for us.
This should prevent issues like
https://github.com/ROCm/rocm-systems/pull/3418#issuecomment-3937597408
where double quotes broke the script.
## Test Plan
- [ ] Make a PR with double quotes in the name and see if script breaks.
- [x] Run the workflow via act to test syntax
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
commit ef7520eccdbe4658a2864ac2ff78bfdb7a1a529c
Author: Scott Tsai <scottt.tw@gmail.com>
Date: Thu Apr 23 04:32:28 2026 +0800
Fix rocprofiler-sdk build on gcc 15 (#934)
This PR fixes building rocprofiler-sdk on gcc 15 by updating two of its
external submodules:
* rocprofiler-sdk/external/yaml-cpp
* rocprofiler-sdk//external/elfio
to include `cstdint.h` where it needs them instead of implicitly through
other C++ standard headers.
commit fc3df3bf950cc16c6bbddd95735e9b9ee4758835
Merge: 1c40b0c84e b5210bf473
Author: Zach Byrne <zbyrne@amd.com>
Date: Wed Apr 22 14:07:44 2026 -0600
[hipfile] Add io size, bandwidth, and latency stats broken down by gpu to ais-stats (#4991)
[AIHIPFILE-159]
HipFile stats stores counters in a series of buckets broken up by
backend, IO operation, and IO size. This lets ais-stats show histograms
for different IO sizes. Also enables stats collection by default.
commit 1c40b0c84e60006d154ec08710fd8e0c54fb3a09
Merge: eb5dee8755 5412a62035
Author: James Newling <james.newling@gmail.com>
Date: Wed Apr 22 12:43:21 2026 -0700
[RocJitsu] Basic CI workflow (#5216)
Add basic CI that runs on free github runners.
Builds in ~10 mins.
Tests run in ~5 seconds.
See 'Checks' to see what tests ran.
commit eb5dee875516bf2fd001a3781938036947fbdb66
Author: Adam Pryor <61172547+adam360x@users.noreply.github.com>
Date: Wed Apr 22 13:38:00 2026 -0500
[RDC] Use longer sampling window when using SIMD rocprof metric (#5251)
## Motivation
SIMD util from rocprof needs a longer sampling window to give meaningful
results
## Test
Verified rocprof metrics behavior correctly with longer sampling window
Signed-off-by: Adam360x <Adam.pryor@amd.com>
commit 8d566d526860fea2822d57e5084ffd14c65ac031
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sat Mar 28 15:30:54 2026 +0000
Bump cryptography in /projects/rocr-debug-agent/docs/sphinx
Bumps [cryptography](https://github.com/pyca/cryptography) from 43.0.0 to 46.0.6.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/43.0.0...46.0.6)
---
updated-dependencies:
- dependency-name: cryptography
dependency-version: 46.0.6
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
commit 07a818e54c4a7f1fd24dd851c98b51730627edf2
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri Apr 3 03:38:20 2026 +0000
build(deps): bump pygments in /projects/rocr-debug-agent/docs/sphinx
Bumps [pygments](https://github.com/pygments/pygments) from 2.18.0 to 2.20.0.
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.18.0...2.20.0)
---
updated-dependencies:
- dependency-name: pygments
dependency-version: 2.20.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
commit fb4aa4aac81f5f0099480ad35cf8b330ac8547b1
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue Apr 7 07:38:17 2026 +0000
Bump tornado in /projects/rocr-debug-agent/docs/sphinx
Bumps [tornado](https://github.com/tornadoweb/tornado) from 6.4.2 to 6.5.5.
- [Changelog](https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst)
- [Commits](https://github.com/tornadoweb/tornado/compare/v6.4.2...v6.5.5)
---
updated-dependencies:
- dependency-name: tornado
dependency-version: 6.5.5
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
commit f3cabf66b29ae140410bd432841d1a8833f50202
Author: Lancelot SIX <lancelot.six@amd.com>
Date: Fri Apr 17 16:23:11 2026 +0100
Cleanup unused arch.
commit cdbf9cb8ba938b1990afbd929170291df73b5856
Author: Lancelot SIX <lancelot.six@amd.com>
Date: Fri Apr 17 16:20:15 2026 +0100
gfx12: Fix writing to pseudo_state_priv
I noticed that the debugger can't write the $state_priv register, writes
are eventually skipped.
It turns out this is because gfx12_architecture_t::write_pseudo_register
fails to memcpy the value to the register.
Fix this.
commit 1dd1c995a1181ecf8356d04846c35dccccbdb9d5
Author: Yiltan <ytemucin@amd.com>
Date: Wed Apr 22 11:59:22 2026 -0400
[rocshmem] Remove warnings: local memory global used by non-kernel function (#4948)
## Motivation
In an effort to cleanup rocSHMEM, we are fixing the warnings. The
specific warning this PR fixes is
```
warning: <unknown>:0:0: in function xyz: local memory global used by non-kernel function
```
## Technical Details
`__shared__` cannot be declared with in a `__device__` function
## JIRA ID
AIROCSHMEM-332
commit c6708bf70c9a47954916551644ff38992c622010
Author: Siwei He <siweihe.eng@gmail.com>
Date: Wed Apr 22 11:03:34 2026 -0400
kfdtest: Use CopyDwordIsa in Ptrace test (#5233)
Fix: Switch to CopyDwordIsa, which is simpler and appropriate for this
test's purpose (testing ptrace access to invisible VRAM, not scratch
memory). This avoids the scratch space conversion logic entirely.
## Motivation
PtraceAccessInvisibleVram test failure due to change in
ScratchCopyDwordIsa. This test is better using CopyDwordIsa
## Technical Details
## JIRA ID
ROCM-23360
ROCM-20237
## Test Plan
Able to compile the test and pass the PtraceAccessInvisibleVram test.
## Test Result
Test passed. Since this change only affects PtraceAccessInvisibleVram
test. It's safe to test only this sub test case.
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit 8821e322291b57fe68aa64891ccb836a77f9da77
Author: Edgar Gabriel <edgargabriel@users.noreply.github.com>
Date: Wed Apr 22 09:51:45 2026 -0500
[rocSHMEM] remove static amdsmi-loader instance (#5236)
## Motivation
the constructor in a static amdsmi-loader instance tried to open the
amdsmi lib and dlsym the functions used even if we do not compile with
pod-detection. The static instance however not actually required.
## Test Result
<!-- Briefly summarize test outcomes. -->
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit 0b6b84f76d0e69c311b49a25b48bff0a8c3aa7ff
Author: Shadi Dashmiz <94885391+shadidashmiz@users.noreply.github.com>
Date: Wed Apr 22 09:11:21 2026 -0400
ROCM-20929 - fix hiptests issues (#5159)
- check for proper peer enablement
- remove constexpr evalution
## Motivation
2 tests are failing due to error in the test code
## Technical Details
Constexpr caused the block of code to not run so that p2p check was
incomplete.
Check if P2P is supported before testing the error code. If P2P isn't
supported at all, skip the test.
## JIRA ID
ROCM-20929
## Test Plan
Hip test in the ticket
## Test Result
PSDB - passed
## Submission Checklist
- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
commit 00238f6c365df815d616fa9c6928fe5d58a48cc6
Author: Aurelien Bouteiller <abouteil@amd.com>
Date: Tue Apr 21 22:21:16 2026 -0400
Workaround for the DIEExpression failure to build with Debug (#5205)
RelWithDebInfo and Debug configurations fail to build with DIEExpression
error on certain versions of hip/clang.
THis is a workaround, a complete solution is pending on the compiler
side of the house we should reconsider when this is deployed.
## Motivation
Being able to debug is critical.
## Technical Details
Disable expanded dwarf decorators, rely on normal dwarf.
Also reenable -O0 in debug since that now also compiles.
This disables some debug info but that cannot be avoided until the
compiler gets updated.
## JIRA ID
AIROCSHMEM-227
## Test Plan
* [x] Build with debug
* [x] can rocgdb the code without crashing rocgdb
* [x] some debug info avail (not all, its not possible)
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit 2ea2e50ea976340213f399bc7f6a7f6df0ff59d4
Author: jamessiddeley-amd <James.Siddeley@amd.com>
Date: Tue Apr 21 21:57:42 2026 -0400
[rocprof-compute] Move intermediate csv deprecation warning to 7.13 upcoming changes (#5255)
## Motivation
Move deprecation warning out of 'Unreleased' section and move to changes
to ROCm 7.13 upcoming changes section instead
## Technical Details
No functional changes
## JIRA ID
N/A
## Test Plan
N/A
## Test Result
N/A
## Submission Checklist
- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit 1140233ffee37996820dcfaa710273fd2061a331
Author: Mark Meserve <mark.meserve@amd.com>
Date: Tue Apr 21 17:48:00 2026 -0500
rocprofiler-sdk: attach: multiprocess support (#4804)
- Adds the ability to attach to a process and all of its descendant
processes in a single call
- Adds rocattach_attach_tree and rocattach_detach_tree to rocattach
- Adds --attach-children option to rocprofv3
- Defaults to True
- Adds test to verify attach tool loading through a process tree
- Adds test to verify tool data through rocprofv3
- Some logging and documentation cleanup
commit e4029c3fed5478c48a3f5c4c36924b19a8c093cd
Author: Aryan Salmanpour <aryan.salmanpour@amd.com>
Date: Tue Apr 21 14:22:06 2026 -0700
[rocjpeg][samples] - Add total wall time for jpeg decoding (#5206)
## Motivation
This PR adds overall wall time for the jpegDecodePerf sample.
## Technical Details
<!-- Explain the changes along with any relevant GitHub links. -->
## JIRA ID
<!-- If applicable, mention the JIRA ID resolved by this PR (Example:
Resolves SWDEV-12345). -->
<!-- Do not post any JIRA links here. -->
## Test Plan
<!-- Explain any relevant testing done to verify this PR. -->
## Test Result
<!-- Briefly summarize test outcomes. -->
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit bd00380ee6b9d90e17a7282b763ee7af22f18682
Author: Aryan Salmanpour <aryan.salmanpour@amd.com>
Date: Tue Apr 21 14:17:51 2026 -0700
[rocdecode][ctest] - Add option to enable extended ctest tests (#5004)
## Motivation
Add a CMake option `ENABLE_EXTENDED_TESTS` to enable extended ctest
tests for rcodecode.
## Technical Details
<!-- Explain the changes along with any relevant GitHub links. -->
## JIRA ID
<!-- If applicable, mention the JIRA ID resolved by this PR (Example:
Resolves SWDEV-12345). -->
<!-- Do not post any JIRA links here. -->
## Test Plan
<!-- Explain any relevant testing done to verify this PR. -->
## Test Result
<!-- Briefly summarize test outcomes. -->
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
---------
Co-authored-by: kiritigowda <kiritigowda@gmail.com>
commit c5245d48f55fbca612be4fc6fc1c5813ae559da4
Author: Benjamin Welton <Benjamin.Welton@amd.com>
Date: Tue Apr 21 13:32:08 2026 -0700
[rocprofiler-sdk] Add runtime guards to ROCP_* log macros (#5222)
## Summary
- Add runtime log level checks to `ROCP_INFO`, `ROCP_WARNING`,
`ROCP_ERROR` and their `_IF` variants
- Prevents evaluation of stream arguments (including `fmt::format`
calls) when the severity is below the configured minimum log level
- Uses abseil's `LOG_IF` which internally short-circuits via a ternary
pattern, ensuring zero argument evaluation overhead when logging is
suppressed
- `ROCP_TRACE` already guards via `VLOG_IS_ON`;
`ROCP_FATAL`/`ROCP_DFATAL` are never suppressed
## Test plan
- [ ] CI builds pass across all OS variants
- [ ] Verify log output is unchanged at default log level (WARNING)
- [ ] Verify no output from `ROCP_INFO`/`ROCP_WARNING` when
`ROCP_LOG_LEVEL=error`
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 4 <noreply@anthropic.com>
commit 5412a620359b09593cfd3e0b0959c7a1a443c56e
Author: James Newling <james.newling@gmail.com>
Date: Mon Apr 20 21:37:22 2026 +0000
add libdrm-dev dep in CI
commit 8a03fbe617fa1f2441a08f772471824c2a0f9ffb
Author: James Newling <james.newling@gmail.com>
Date: Mon Apr 20 21:32:11 2026 +0000
add most basic of vanilla CIs
commit 58d180e1f39538c7bf724cf225aca18bef944297
Author: Maisam Arif <Maisam.Arif@amd.com>
Date: Tue Apr 21 14:52:48 2026 -0500
[AMD-SMI] Upgrade precommit workflow to have diff highlighting (#4534)
Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
commit d9b2e09246116d69de08e8108df838b8f7f67324
Author: Darren Lao <Darren.Lao@amd.com>
Date: Tue Apr 21 15:52:01 2026 -0400
Fix amdsmi_pcie_info_t speed unit (#5245)
Fixes https://github.com/ROCm/rocm-systems/issues/5200
This is purely a documentation change, and corrects the units for
`max_pcie_speed` to be in MT/s, which I confirmed is returned from:
Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
commit 9fb1dff90e1d4bf73777d4eb93059a270a40a13d
Author: Avinash Kethineedi <avinash.kethineedi@amd.com>
Date: Tue Apr 21 13:43:45 2026 -0500
[rocSHMEM] Implement ROCSHMEM_TEAM_SHARED in all the backends (#4914)
## Motivation
Implement the `ROCSHMEM_TEAM_SHARED` predefined team per the OpenSHMEM
specification. TEAM_SHARED comprises all PEs sharing a common memory
domain (same node), enabling node-scoped collective and point-to-point
operations.
## Technical Details
- Declare and define `ROCSHMEM_TEAM_SHARED` in host/device namespaces
with device symbol copy support.
- Add team_shared_ to TeamTracker with `NUM_RESERVED_TEAMS` so
predefined teams don't consume user-creatable team slots.
- Protect TEAM_SHARED from destruction in `rocshmem_team_destroy()`.
- Implement `setup_team_shared()` in all three backends (IPC, RO, GDA).
In RO and GDA, TEAM_SHARED is only created when IPC is enabled at
compile-time and runtime; otherwise set to `ROCSHMEM_TEAM_INVALID`.
- Update `team_ctx_infra_tester` to use runtime `ROCSHMEM_MAX_NUM_TEAMS`
with dynamic sizing.
- Add `TeamCtxSharedInfraTestType` (test 94) to validate
`ROCSHMEM_TEAM_SHARED` PE identity, team size, and context creation on
device. Gracefully skips when IPC is disabled.
## JIRA ID
- AIROCSHMEM-355
## Test Plan
- Run teamctxsharedinfra (test 94) with 2 ranks on the same node.
- Run hipmodule_init test to verify symbol copy.
- Verify graceful skip when IPC is disabled.
## Test Result
- [x] Tested with IPC backend
- [x] Tested with RO backend (IPC enabled)
- [x] Tested with RO backend (IPC disabled, verifies graceful skip)
- [x] Tested with GDA backend (IPC enabled)
- [x] Tested with GDA backend (IPC disabled, verifies graceful skip)
commit a8eef4083e76a2b8a78221510023da85b88af144
Author: Jason Bonnell <166553723+jbonnell-amd@users.noreply.github.com>
Date: Tue Apr 21 13:47:16 2026 -0400
Update rocprofiler workflows to use latest actions with node 24 (#5231)
## Motivation
<!-- Explain the purpose of this PR and the goals it aims to achieve.
-->
Noticed that older versions of Docker actions used Node 20, and Node 20
actions are being deprecated in June.
## Technical Details
<!-- Explain the changes along with any relevant GitHub links. -->
- Update `rocprofiler-*` workflow files to use the latest versions of
Docker and GitHub actions (moved to Node 24)
- `docker/login-action` -> v4.1.0
- `docker/metadata-action` -> v6.0.0
- `docker/build-push-action` -> v7.1.0
- `docker/setup-buildx-action` -> v4.0.0
- `actions/checkout` -> v6
- `actions/upload-artifact` -> v7
- `nick-fields/retry` -> v4
## JIRA ID
<!-- If applicable, mention the JIRA ID resolved by this PR (Example:
Resolves SWDEV-12345). -->
<!-- Do not post any JIRA links here. -->
## Test Plan
<!-- Explain any relevant testing done to verify this PR. -->
Ensure no regression issues with action updates, workflows pass
## Test Result
<!-- Briefly summarize test outcomes. -->
TBA
## Submission Checklist
- [X] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit 774ff6e7eec8fb0e79aaab408191635857c8367e
Author: Victor Zhang <111778801+victzhan@users.noreply.github.com>
Date: Tue Apr 21 13:06:25 2026 -0400
[AIRUNTIME-1929] HIP memory stress test fixes and improvements (#4069)
## Motivation
Fix instability and build issues in HIP memory stress tests.
## Technical Details
- Fix grid-stride loop in `KrnlWth2MemTypes` kernel in
`hipMallocManagedStress.cc`.
- Fix resource leaks (`hipFree`, `hipStreamDestroy`) in `LaunchKrnl4`.
- Re-initialize managed memory between prefetch iterations in
`hipMemPrftchAsyncStressTst.cc`.
- Fix `hold_memory` build: correct include and add missing link library.
- Simplify `stress_test` custom target.
- Add `hipMallocConcurrency.cc` to the build.
## JIRA ID
AIRUNTIME-1929
## Test Plan
Build and run `stress_test` target. Verify stress tests pass
consistently.
## Test Result
Pending
## Submission Checklist
- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit 9deaac2945c4ef2cb9ab787b40619f96849d41e5
Author: Victor Zhang <111778801+victzhan@users.noreply.github.com>
Date: Tue Apr 21 13:05:17 2026 -0400
ROCM-2903 - Default DEBUG_HIP_MEM_POOL_VMHEAP to IS_LINUX (#5139)
## Motivation
rocBLAS graph tests hang on Windows 11 after sustained stream-ordered
allocation / free / trim cycles (~500-1000 cycles in). The hang is in
the VM heap path: awaitCompletion on the synchronous VirtualMapCommand
blocks indefinitely with the GPU event never signaling, leaving the
command stuck in CL_SUBMITTED.
## Technical Details
Default DEBUG_HIP_MEM_POOL_VMHEAP to IS_LINUX so that allocations on
Windows are routed through SvmBuffer::malloc / free instead of
VirtualMapCommand. This is a temporary workaround until the ROCR/HSA
backend becomes the default on Windows, which brings direct dispatch and
avoids this path entirely.
## JIRA ID
ROCM-2903
## Test Plan
Run rocblas-test *graph* filter on Navi3x / Windows 11; verify the hang
is resolved.
## Test Result
Confirmed on W7900 (gfx1100) + Windows 11: PAL previously hung at
trmv_graph_test_f32_r_U_N_N_128_2_1; with this change all 1637 graph
tests pass.
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
---------
Co-authored-by: FirstName LastName (Public) <your_public_email@example.com>
commit 2ecbb87a314b60d7b992cb4f275714e8b09a6c9b
Author: Kian Cossettini <Kian.Cossettini@amd.com>
Date: Tue Apr 21 13:01:22 2026 -0400
[rocprofiler-systems] Install python dependencies at the Dockerfile level (#5197)
## Motivation
<!-- Explain the purpose of this PR and the goals it aims to achieve.
-->
Part of https://github.com/ROCm/rocm-systems/pull/3962
Make the dockerfiles install the requirements.txt.
Drop support for python 3.6 and 3.7 (test suite requires python 3.8 and
above)
## Technical Details
<!-- Explain the changes along with any relevant GitHub links. -->
Remove 3.6 and 3.7 from Dockerfiles and workflows.
Install requirements.txt in Dockerfiles
## JIRA ID
<!-- If applicable, mention the JIRA ID resolved by this PR (Example:
Resolves SWDEV-12345). -->
<!-- Do not post any JIRA links here. -->
## Test Plan
<!-- Explain any relevant testing done to verify this PR. -->
## Test Result
<!-- Briefly summarize test outcomes. -->
## Submission Checklist
- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit c54a0e85fa6727ce1ffdc5ccc3695af0950365d8
Author: Dmitrii <dmitrii.galantsev@amd.com>
Date: Tue Apr 21 11:54:10 2026 -0500
[RDC][AMD-SMI][ROCM-SMI] Drop POST_BUILD strip on shared libs (#5237)
Defer stripping to packagers and TheRock's THEROCK_SPLIT_DEBUG_INFO.
Fixes
SONAME-symlink corruption under llvm-strip
(https://github.com/ROCm/TheRock/issues/4640)
commit e22df2da076973fb0a347c868edd2beea7f1fb7d
Author: Venkateshwar Reddy Kandula <Venkateshwarreddy.Kandula@amd.com>
Date: Tue Apr 21 11:17:29 2026 -0500
[rocprofiler-sdk] Add reusable composite action rocprofiler-sdk CI (#5095)
## Motivation
This PR introduces a reusable local composite GitHub Action to
consolidate repeated “install ROCm + build dependencies” logic across
rocprofiler-sdk workflows, aiming to reduce duplication and simplify
maintenance.
## Technical Details
- Added a new composite action: .github/actions/rocprofiler-sdk-util.
- Updated rocprofiler-sdk workflows (docs, CI, CodeQL, code coverage) to
call the composite action instead of inlining dependency build steps.
- Added workflow env toggles to enable/disable building specific
dependencies (ROCR, HIP/CLR, rocprofiler-register, aqlprofile,
rocDecode, rocJPEG) and to control nightly ROCm installation.
## JIRA ID
<!-- If applicable, mention the JIRA ID resolved by this PR (Example:
Resolves SWDEV-12345). -->
<!-- Do not post any JIRA links here. -->
## Test Plan
CI checks
## Test Result
Passing
## Submission Checklist
- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
commit 7a234bbaf6ba32af3b64aacdbe27eaaac8348823
Author: Aurelien Bouteiller <abouteil@amd.com>
Date: Tue Apr 21 11:01:40 2026 -0400
[rocSHMEM] Fix a warning when building config gda_ionic (#5218)
## Motivation
Fix warnings
## Technical Details
missing a [[maybe-unused]] in gda_ionic configuration.
## JIRA ID
AIROCSHMEM-300
commit b44f6c789daaf102492bb3572005318599abd656
Author: German Andryeyev <56892148+gandryey@users.noreply.github.com>
Date: Tue Apr 21 10:59:12 2026 -0400
clr: Expose some HSA interfaces in hip dll (#4748)
## Motivation
These calls are required to enable AQL profiler functionality on
Windows.
## Technical Details
Currently AQL profiler requires direct calls to ROCR interfaces
## JIRA ID
OCM-1667
## Test Plan
Aql profiler tests
## Test Result
Passed
## Submission Checklist
N/A
commit 1f21d5b1a5273a9237ab3594bb56ebf2e64f2fc4
Author: Jason Bonnell <166553723+jbonnell-amd@users.noreply.github.com>
Date: Tue Apr 21 09:28:51 2026 -0400
[rocprofiler-compute] Update git version in Ubuntu GHCR CI images (#5208)
## Motivation
<!-- Explain the purpose of this PR and the goals it aims to achieve.
-->
#5144 adds some new submodules, and the current CI image is failing to
clone the repo with the submodules due to 22.04 using an older version
of git.
## Technical Details
<!-- Explain the changes along with any relevant GitHub links. -->
- Update `Dockerfile.ubuntu.ci` to include the git-core ppa repository
so we can grab the latest version of git
- Previous version installed was 2.34.1, which was the latest version
available with default ubuntu 22.04 repos
## JIRA ID
<!-- If applicable, mention the JIRA ID resolved by this PR (Example:
Resolves SWDEV-12345). -->
<!-- Do not post any JIRA links here. -->
## Test Plan
<!-- Explain any relevant testing done to verify this PR. -->
- Ensure Dockers build properly
- Once merged, verify that the updated images are able to pass the
checkout step in #5144 checks
## Test Result
<!-- Briefly summarize test outcomes. -->
TBA
## Submission Checklist
- [X] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit 4753424bc943669bb2a67c29783717042b457f9c
Author: Alexey Sachkov <alexey.sachkov@amd.com>
Date: Tue Apr 21 14:30:51 2026 +0200
[CLR][NFC] Optimize tracking of active queues (#4945)
## Motivation
Performance optimization of the runtime.
## Technical Details
`std::unordered_set::[insert|erase]` allocate/deallocate memory which is
an unnecessary action considerng that a list of all command queues which
are present throughout an application lifetime is mostly stable, i.e.
the assumption is made that HIP streams are not short-lived, but instead
mostly span the whole application lifetime.
## JIRA ID
N/A
## Test Plan
N/A, this change is non-functional
## Test Result
N/A, this change is non-functional
## Submission Checklist
- [X] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit 019054fdb5070b663ba741b6f3c8e715d4816a87
Author: Aleksandar Djordjevic <aleksandar.djordjevic@amd.com>
Date: Tue Apr 21 14:06:28 2026 +0200
[rocprofiler-systems] filter VCN/JPEG sentinel values during metric collection (#5145)
## Motivation
When only some VCN/JPEG engines are present on a GPU, the AMD SMI
`vcn_activity`/`jpeg_activity` arrays contain `0xFFFF` sentinel values
for absent engines. These sentinel values were being passed through to
Perfetto and RocPD output as `65535`, appearing as bogus
`device_vcn_activity_1`, `_2`, `_3` metrics.
commit b6285c0a549a85c825d5e00fd51b3fb79f42c71d
Author: Pedro Alves <pedro@palves.net>
Date: Fri Apr 17 16:06:55 2026 +0100
Add missing AMD_DBGAPI_EXPORT_DECORATOR fallback
The AMD_DBGAPI_EXPORT_DECORATOR definition block is missing the
fallback case. Fix that.
Change-Id: Idcc785b59a48b5cc17c64d4b70e534ba6e912eaf
commit-id:8ab06a04
commit b1ac485c994985b67f1dd712693c81b614d0bf12
Author: Pedro Alves <pedro@palves.net>
Date: Fri Apr 17 16:06:55 2026 +0100
Fix building dbgapi as a static library
Since 4bfddf5494 ("dbgapi/win32: __declspec(dllexport) instead of
--version-script"), building dbgapi as a static library on Windows
fails with errors such as:
.../rocm-dbgapi/src/initialization.cpp:41:1: error: function 'amd_dbgapi_status_t amd_dbgapi_initialize(amd_dbgapi_callbacks_s*)' definition is marked dllimport
41 | amd_dbgapi_initialize (struct amd_dbgapi_callbacks_s *callbacks)
| ^~~~~~~~~~~~~~~~~~~~~
The symbols end up "marked dllimport" because with:
set_target_properties(amd-dbgapi PROPERTIES
...
DEFINE_SYMBOL "AMD_DBGAPI_EXPORTS"
...
... DEFINE_SYMBOL is a CMake convenience that only applies when (and
while) building a shared library. When BUILD_SHARED_LIBS is OFF,
DEFINE_SYMBOL does nothing. So AMD_DBGAPI_EXPORTS ends up not defined
in amd-dbgapi.h, which results in AMD_DBGAPI mapping to
AMD_DBGAPI_IMPORT, here, in amd-dbgapi.h.in:
#define AMD_DBGAPI AMD_DBGAPI_IMPORT
AMD_DBGAPI_IMPORT in turn is unconditionally defined to
__declspec(dllimport) on Windows.
So there are two issues:
- The dbgapi build itself is treated as importing symbols (as a
consumer) instead of exporting them (as a producer).
- The import/export decorations are applied even when dbgapi is built
as a static library, where they should not be used at all.
Fix this by teaching amd-dbgapi.h about whether dbgapi was built as a
static or shared library. Since the header is generated, define
AMD_DBGAPI_STATIC_LIB (0 or 1) at configure time and use it to skip
using import/export decorations.
This also ensures that clients, including those which do not use CMake
(e.g. GDB), automatically see consistent definitions without needing
to know how dbgapi was built.
Change-Id: I31c8c947791551cc4e20218826561c1d242f298d
commit-id:12deacf2
commit e42ed4ca16c7713233161740b0a22d9c50fd2fba
Author: Luis Machado <luis.machado@amd.com>
Date: Mon Apr 13 09:50:10 2026 -0500
Add Python executable paths to all TheRock builds
Configure shared and dist Python executables (3.10-3.14) for all build
configurations to ensure consistent Python environment across CI builds.
Also update the manylinux container hash to the latest.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
commit da8621629e24cabc4c92d43e2cbeb6cebc751c1c
Author: vstojilj <vstojilj@amd.com>
Date: Tue Apr 21 10:56:59 2026 +0200
Accept only valid device allocations for hipTexObjectCreate (#4814)
## Motivation
Unit_TexObjectCreate_TypePitch2D_EdgeCases is failing on APUs when host
pointer is passed to hipTexObjectCreate and it should fail with
hipErrorInvalidValue.
## Technical Details
Check if buffer retrieved by devptr is a valid allocation before
creating tex object.
## JIRA ID
Resolves AIRUNTIME-72.
## Test Plan
Retest with Unit_TexObjectCreate_TypePitch2D_EdgeCases.
## Test Result
test passes.
## Submission Checklist
- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit d4570465bfb80c34171815318ec822f1dbcc07be
Author: systems-assistant[bot] <221163467+systems-assistant[bot]@users.noreply.github.com>
Date: Mon Apr 20 22:31:38 2026 -0700
Update TheRock reference to (702d158) (#5117)
Updated TheRock ref to `702d158` due to submodule bump
update - Rename ccache presets as per therock pr
https://github.com/ROCm/TheRock/pull/4402
---------
Co-authored-by: therockbot <therockbot@amd.com>
Co-authored-by: rahulc-gh <rahul.choudhary@amd.com>
Co-authored-by: RahulC <168588218+rahulc-gh@users.noreply.github.com>
commit e5a46360d85ac27fc2d028a1f094eb0c9292ec59
Author: Shweta Khatri <shweta.khatri@amd.com>
Date: Thu Apr 2 14:56:05 2026 -0400
rocr: PC Sampling : Add reserved_wg field to PC sampling structs
Add missing reserved_wg field to perf_sample_hosttrap_v1_t and
perf_sample_snapshot_v1_t. This aligns with the profiler which
expects chiplet at bits [10:8].
commit b768f127de8c219e1604615293aa68d6d2220e85
Author: Jeff Jiang <142832361+jeffqjiangNew@users.noreply.github.com>
Date: Mon Apr 20 22:21:55 2026 -0400
[rocDecode] Merge debug logging into the new logging mechanism. (#5210)
## Motivation
This PR merges debug logging into the new logging mechanism.
## Technical Details
- rocDecode debug message was a compile option.
- Now debug logging can be enabled by setting env var ROCDEC_LOG_LEVEL
to 4 . This helps issue triage on the release builds.
## JIRA ID
<!-- If applicable, mention the JIRA ID resolved by this PR (Example:
Resolves SWDEV-12345). -->
<!-- Do not post any JIRA links here. -->
## Test Plan
Run CTests and decode conformance tests to catch any regressions.
Run rocdecdecode samples to verify user set output.
## Test Result
All CTests and conformance tests pass. Example summary of the test
results:
CTests:
Start 1: video_decodeRaw-HEVC
1/6 Test #1: video_decodeRaw-HEVC ............. Passed 2.10 sec
Start 2: video_decodeRaw-AVC
2/6 Test #2: video_decodeRaw-AVC .............. Passed 1.96 sec
Start 3: video_decodeRaw-AV1
3/6 Test #3: video_decodeRaw-AV1 .............. Passed 2.03 sec
Start 4: video_decodeRaw-VP9
4/6 Test #4: video_decodeRaw-VP9 .............. Passed 2.05 sec
Start 5: rocdec_Decode-HEVC
5/6 Test #5: rocdec_Decode-HEVC ............... Passed 0.91 sec
Start 6: rocDecode_Negative_API_Tests
6/6 Test #6: rocDecode_Negative_API_Tests ..... Passed 0.73 sec
Conformance tests:
AVC conformance test:
Conformance test completed on the 127 streams:
The number of passing streams is 127
The number of failing streams is 0
The number of streams that did not finish decoding is 0
HEVC conformance test:
Conformance test completed on the 135 streams:
The number of passing streams is 135
The number of failing streams is 0
The number of streams that did not finish decoding is 0
AV1 conformance test:
Conformance test completed on the 162 streams:
The number of passing streams is 162
The number of failing streams is 0
The number of streams that did not finish decoding is 0
VP9 conformance test:
Conformance test completed on the 108 streams:
The number of passing streams is 108
The number of failing streams is 0
The number of streams that did not finish decoding is 0
<!-- Briefly summarize test outcomes. -->
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit ff1db549b2d5061ff0026ee9933c0e83b5533fef
Author: koushikbillakanti-amd <koushik.billakanti@amd.com>
Date: Mon Apr 20 21:06:48 2026 -0500
Add NPU device type support (#4952)
## Motivation
Add NPU device support to CUID so RyzenAI/amdxdna devices are
discoverable and assigned unique identifiers.
## Technical Details
Introduce CuidNpu class with discovery via accel, primary/derived CUID
generation, PCI config space fingerprinting, and wire NPU through the
daemon, CLI, device manager, and file serialization paths.
Co-authored-by: Koushik Billakanti <kbillaka@amd.com>
commit 4e965940280c5b567d4ad36dc41418f6b2da8593
Author: Kian Cossettini <Kian.Cossettini@amd.com>
Date: Mon Apr 20 18:12:14 2026 -0400
[rocprofiler-systems] Improve troubleshooting messages for Dyninst errors (#4947)
## Motivation
<!-- Explain the purpose of this PR and the goals it aims to achieve.
-->
During instrumentation, it is possible for Dyninst to fail to process
certain sequences of instructions in a function. When this occurs, a
vague error message would be printed.
This PR adds more details to the error message and adds information to
`instrumenting-rewriting-binary-applications.rst` to inform the user to
exclude the problematic function/module/object in subsequent runs (which
may prevent errors).
With this PR:
```
# Before
Failed to transform trace 9105
# After
Failed to transform trace 9105 in function 'llvm::msgpack::Reader::read' in module '/opt/rocm-7.1.1/lib/llvm/lib/libomptarget.so.20.0git' in object 'libomptarget.so.20.0git' at address 0x7f4c3f179120
```
## Technical Details
<!-- Explain the changes along with any relevant GitHub links. -->
See the original issue: https://github.com/dyninst/dyninst/issues/2203
Merge https://github.com/ROCm/dyninst/pull/13.
Update submodule pointer to
https://github.com/ROCm/dyninst/commit/77203e0b4f917aec534ac2717643c17838fded7e.
Added `Failed to transform trace error` section to
`projects/rocprofiler-systems/docs/how-to/instrumenting-rewriting-binary-application.rst`.
## JIRA ID
<!-- If applicable, mention the JIRA ID resolved by this PR (Example:
Resolves SWDEV-12345). -->
<!-- Do not post any JIRA links here. -->
ROCM-21219
## Test Plan
<!-- Explain any relevant testing done to verify this PR. -->
N/A
## Test Result
<!-- Briefly summarize test outcomes. -->
N/A
## Submission Checklist
- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit e0fa30b1465526e3255df950df5edc8dfd83b631
Author: Bindhiya Kanangot Balakrishnan <Bindhiya.KanangotBalakrishnan@amd.com>
Date: Mon Apr 20 16:56:59 2026 -0500
[ROCM-1553] GPU metrics v1.9 support with new attributes (#5125)
[ROCM-1553] GPU metrics v1.9 support with new attributes
Added support for updated dynamic GPU metrics version 1.9 by introducing
new metric attributes based on latest amdgpu header.
Updated python interface and CLI outputs for new gpu_metric fields.
Unified CLI output for amdsmi metric. Updated Changelog.
Signed-off-by: Bindhiya Kanangot Balakrishnan <Bindhiya.KanangotBalakrishnan@amd.com>
commit 6c571bb686712f9366fa8ee8646e48fdf25222c5
Author: Jeff Jiang <142832361+jeffqjiangNew@users.noreply.github.com>
Date: Mon Apr 20 14:43:02 2026 -0400
[rocDecode] Logging format in utility classes now matches RocDecLogger format. (#4997)
## Motivation
Unify logging format in utility classes with core library logging
format.
## Technical Details
This PR unifies logging format in utility classes with core library
logging format.
- Logs from utility classes are now more informative.
## JIRA ID
<!-- If applicable, mention the JIRA ID resolved by this PR (Example:
Resolves SWDEV-12345). -->
<!-- Do not post any JIRA links here. -->
## Test Plan
Run CTests and decode conformance tests to catch any regressions.
Run rocdecdecode samples to verify user set output.
## Test Result
All CTests and conformance tests pass. Example summary of the test
results:
CTests:
Start 1: video_decodeRaw-HEVC
1/6 Test https://github.com/ROCm/rocm-systems/pull/1:
video_decodeRaw-HEVC ............. Passed 1.96 sec
Start 2: video_decodeRaw-AVC
2/6 Test https://github.com/ROCm/rocm-systems/pull/2:
video_decodeRaw-AVC .............. Passed 1.84 sec
Start 3: video_decodeRaw-AV1
3/6 Test https://github.com/ROCm/rocm-systems/pull/3:
video_decodeRaw-AV1 .............. Passed 1.88 sec
Start 4: video_decodeRaw-VP9
4/6 Test https://github.com/ROCm/rocm-systems/pull/4:
video_decodeRaw-VP9 .............. Passed 1.93 sec
Start 5: rocdec_Decode-HEVC
5/6 Test https://github.com/ROCm/rocm-systems/pull/5: rocdec_Decode-HEVC
............... Passed 0.85 sec
Start 6: rocDecode_Negative_API_Tests
6/6 Test https://github.com/ROCm/rocm-systems/pull/6:
rocDecode_Negative_API_Tests ..... Passed 0.72 sec
100% tests passed, 0 tests failed out of 6
AVC conformance test:
Conformance test completed on the 127 streams:
The number of passing streams is 127
The number of failing streams is 0
The number of streams that did not finish decoding is 0
HEVC conformance test:
Conformance test completed on the 135 streams:
The number of passing streams is 135
The number of failing streams is 0
The number of streams that did not finish decoding is 0
AV1 conformance test:
Conformance test completed on the 162 streams:
The number of passing streams is 162
The number of failing streams is 0
The number of streams that did not finish decoding is 0
VP9 conformance test:
Conformance test completed on the 108 streams:
The number of passing streams is 108
The number of failing streams is 0
The number of streams that did not finish decoding is 0
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
commit 2e1eb97edb6d9b0545c2ce3f5e900131540da0c7
Author: Avinash Kethineedi <avinash.kethineedi@amd.com>
Date: Mon Apr 20 13:27:03 2026 -0500
[rocSHMEM] Add library metadata constants, version/name query APIs, and documentation (#5151)
## Motivation
Add library metadata constants and version/name query APIs to rocSHMEM,
aligning with the OpenSHMEM specification.
## Technical Details
- Replace version parsing from the C++ header with a direct CMake
variable and add backend/vendor string construction to CMakeLists.txt
- Add vendor version, vendor string, and backend metadata to
rocshmem_config.h and surface them in rocshmem_info output
- Add ROCSHMEM_MAJOR_VERSION, ROCSHMEM_MINOR_VERSION,
ROCSHMEM_MAX_NAME_LEN to rocshmem.hpp
- Add host APIs: rocshmem_info_get_version, rocshmem_info_get_name,
rocshmem_vendor_get_version_info
- Update rocshmem_init_attr_test example to use the new query APIs
- Add Sphinx documentation for library constants and query APIs
- Templatize print_entry in build_info.cpp to support int arguments
- Update docs/conf.py to read version from CMakeLists.txt
- Add Linux build instructions and custom output directory usage to docs
README
## JIRA ID
- AIROCSHMEM-359
## Test Plan
- Build with all backend configurations (GDA with IONIC/BNXT/MLX5, RO,
IPC, and combinations) and verify rocshmem_info output shows the correct
vendor string, version, and backend for each configuration
- Run rocshmem_init_attr_test and verify version/name output on rank 0
- Build the Sphinx documentation and verify the new library constants
and query API pages render correctly
## Test Result
- All backend configurations produce the expected vendor strings (e.g.
`rocSHMEM_v3.3.0_GDA(IONIC/BNXT/MLX5)+RO+IPC` when compiled with all
backends and NICs enabled)
- rocshmem_info output displays correct version, vendor string, and
backend metadata for all tested configurations
- Sphinx documentation builds without warnings in the newly added
sections; library constants and query API pages render correctly
commit b87cea434d77e56499835c54c01db8a5fa51f13b
Author: Sumanth Gavini <sumanth.gavini@amd.com>
Date:…
ApoKalipse-V
added a commit
that referenced
this pull request
Apr 28, 2026
commit b3aabb45064e63ec721f13a48146c0fe76d76c02
Author: alexxu-amd <159800977+alexxu-amd@users.noreply.github.com>
Date: Thu Apr 23 10:23:25 2026 -0400
[rocr-debug-agent] Correct .readthedocs path for monorepo migration (#5340)
## Motivation
.readthedocs.yml contains outdated path.
## Technical Details
Correct the path to match monorepo setup.
## JIRA ID
<!-- If applicable, mention the JIRA ID resolved by this PR (Example:
Resolves SWDEV-12345). -->
<!-- Do not post any JIRA links here. -->
## Test Plan
<!-- Explain any relevant testing done to verify this PR. -->
## Test Result
<!-- Briefly summarize test outcomes. -->
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit b5cd2c0530096f57e56cf2bebdfe2b7a7d09c060
Author: jamessiddeley-amd <James.Siddeley@amd.com>
Date: Thu Apr 23 10:10:59 2026 -0400
[rocprof-compute] Removed --exit-zero from ruff formatting workflow (#5308)
## Motivation
The formatting workflow uses`ruff check . --fix --exit-zero`.
This PR drops `--exit-zero` from the ruff CI step so the workflow
actually fails on lint errors that aren't auto fixable instead of
silently passing them
## Technical Details
N/A
## JIRA ID
N/A
## Test Plan
N/A
## Test Result
N/A
## Submission Checklist
- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
---------
Co-authored-by: Vignesh Edithal <Vignesh.Edithal@amd.com>
commit 8508fd9b5e9a42a39929eabfc5d4b5e12c90f92a
Author: Ammar ELWazir <ammar.elwazir@amd.com>
Date: Thu Apr 23 09:04:20 2026 -0500
feat(perfxpert): consolidate agentic redesign and validation stack (#4576)
## Summary
This PR is the consolidation point for the current
`experimental/python/perfxpert` stack. It is no longer just the original
rename branch: it now carries the agentic redesign, provider/runtime
hardening, launcher/backend integration, parity/regression coverage, and
the docs/media refresh on top of the `ROCInsight` -> `PerfXpert` rename.
## Scope
In scope:
- `experimental/python/perfxpert/**`
Explicitly out of scope for this PR:
- `.github/**`
- CI/workflow-only changes (handled separately)
## Design / Feature Areas
### 1. Rename + package surface
- rename from `rocinsight` to `perfxpert`
- updated package/import/CLI/env-var/doc branding
- preserved the Python and CLI entry surfaces under the new package name
### 2. Agentic analysis stack
- layered agent hierarchy with Root, Analysis, Recommendation,
Correctness, and specialist agents
- shared agent brain across batch `perfxpert analyze`, Python API, MCP,
and interactive launcher flows
- fence-sliced prompt layering retained across the hierarchy
### 3. Provider + runtime hardening
- provider registry/config loading and public provider surface fixes
- typed provider error taxonomy and provider routing cleanup
- fallback-chain support in the runtime session layer
- recursion-guard and gate-cascade fixes carried forward into the
consolidated branch
### 4. Launcher + backend integration
- multi-backend `perfxpert-code` surface (`opencode`, `claude`, `codex`,
`gemini`)
- MCP registration + staged prompt wiring for backend adapters
- source-checkout preference for the locally built patched `opencode`
binary before bundled/PATH fallbacks
- bundled build script now tolerates Bun lockfile-format churn by
retrying without `--frozen-lockfile`
### 5. CLI + user workflows
- top-level `init`, `diff`, `ci`, `doctor`, `providers`, and analyze
flows present on the consolidated branch
- source-only, trace-only, and combined analyze paths preserved
- diff/CI/reporting surfaces merged into the same branch state
### 6. Validation / safety stack
- parity fixtures and parity harness added to the branch
- red-team and regression-gate coverage retained
- exit-dashboard and audit-gate docs/tests carried into the consolidated
branch
- MCP registry/tool exposure checks preserved
### 7. Docs / schemas / media
- guide and architecture docs updated to reflect the live product
surface
- refreshed guide GIF set carried on the branch
- schema/version docs updated with the additive JSON formatter evolution
- stale unsupported examples removed or rewritten to match the actual
CLI/runtime surface
## Current Validation On Branch
Focused validation completed on the live branch state:
- `214 passed` on the shared runtime / CLI / MCP / setup / docs /
launcher slice
- `25 passed` on the launcher + setup-build + docs-links slice
- local patched `opencode` build completed successfully from the pinned
submodule
- source-checkout launcher resolution now prefers the locally built
patched binary:
-
`/tmp/rocm-systems-pr4576-consolidated/experimental/python/perfxpert/opencode/packages/opencode/dist/opencode-linux-x64/bin/opencode`
Representative commands run on this branch state:
```bash
PYTHONPATH=experimental/python/perfxpert pytest -q \
experimental/python/perfxpert/tests/test_agents/test_runtime.py \
experimental/python/perfxpert/tests/test_agents/test_framework.py \
experimental/python/perfxpert/tests/test_cli/test_analyze_args.py \
experimental/python/perfxpert/tests/test_cli/test_provider_error_surface.py \
experimental/python/perfxpert/tests/test_cli/test_backend_dispatch.py \
experimental/python/perfxpert/tests/test_cli/test_launcher_subcommands.py \
experimental/python/perfxpert/tests/test_tools/test_agents/test_mcp_registry_has_agent_tools.py \
experimental/python/perfxpert/tests/test_integration/test_cli_dispatch.py \
experimental/python/perfxpert/tests/test_setup/test_setup_build.py \
experimental/python/perfxpert/tests/test_integration/test_docs_links.py \
experimental/python/perfxpert/tests/test_tools/test_opencode_launcher.py
```
```bash
PYTHONPATH=experimental/python/perfxpert pytest -q \
experimental/python/perfxpert/tests/test_tools/test_opencode_launcher.py \
experimental/python/perfxpert/tests/test_setup/test_setup_build.py \
experimental/python/perfxpert/tests/test_integration/test_docs_links.py
```
## Notes
- This PR description is intentionally scoped to the consolidated
`perfxpert` branch state, not the original rename-only PR.
- `.github` changes are intentionally excluded from this PR.
- Final ROCm/manual parity validation and the remaining doc/spec
closeout continue on top of this branch.
commit e7d104593dabd87674c40e5fc2f6cb0d87e46d8f
Author: Aurelien Bouteiller <abouteil@amd.com>
Date: Thu Apr 23 09:53:32 2026 -0400
[rocshmem] rocgdb debugging scripts (#5122)
## Motivation
Improve debugability of deadlocked rocshmem application by providing
rocgdb scripting that analyzes live deadlocked processes and summarizes
and groups wavefront backtraces and highlight wavefronts that are stuck
in a rocshmem api.
## Technical Details
Use python scripting to drive rocgdb, add a small script to ease
attaching and summarizing for multiprocesses.
## JIRA ID
AIROCSHMEM-377
## Test Plan
* [x] Ran the debug script on the pr-provided deadlock example
* [x] Ran the debug script on a modified functional test that deadlocks
intentionally, witnessed wg groupings
* [x] Ran the debug script on modified deepep that deadlocks
intentionally, witnessed wg groupings in a useful way
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
---------
Signed-off-by: Aurelien Bouteiller <abouteil@amd.com>
Signed-off-by: Aurelien Bouteiller <aurelien.bouteiller@amd.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
commit d192aa1e21d1f220d0c3eb06c5730a3d75f0b81f
Author: marantic-amd <marantic@amd.com>
Date: Thu Apr 23 15:16:09 2026 +0200
[rocprofiler-systems] Adapt CPU metrics to PMC collector approach (#4612)
## Motivation
- Add CPU metrics collector with policy-based PMC architecture
- Replace the legacy cpu_freq module with a new CPU collector that
follows the same policy-based design as the GPU and NIC collectors. The
CPU collector integrates into the unified PMC sampler via
collector_slice, sampling per-CPU frequency, load, and process-level
metrics.
## Technical Details
- New components:
- procfs driver: reads /proc/stat, /proc/cpuinfo, getrusage() with
persistent FDs and zero-copy parsing for minimal overhead
- procfs provider: lightweight wrapper with factory pattern for DI
- CPU device: manages per-CPU state with delta-based load computation
- CPU traits: adapts base::collector for single-device multi-core model
- CPU cache/perfetto policies: trace cache and Perfetto output
- Mock driver and 17 unit tests covering init, freq, load, process
metrics, filtered CPU sets, and repeated sampling
- Integration:
- Added to g_collector_slices alongside GPU/NIC in pmc::sampler
- New ROCPROFSYS_CATEGORY_CPU_LOAD category for Perfetto traces
- Renamed cpu_freq_sample to cpu_pmc_sample in trace cache (0x0007)
- Updated perfetto_processor and rocpd_processor to handle CPU load
deserialization and emit per-CPU counter tracks
- Pause support: cache_policy emits zero entries for all monitored CPUs
when metrics are empty (pause path)
- Removed:
- library/cpu_freq.cpp, cpu_freq.hpp
- library/components/cpu_freq.cpp, cpu_freq.hpp
- cpu_freq instance block from process_sampler.cpp
## JIRA ID
- AIPROFSYST-224
- AIPROFSYST-79
## Test Plan
- Added additional unit tests to the feature
- Tested with existing test suite
## Test Result
- All test passed
## Submission Checklist
- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit 34bef1e6accfef4c5a3e01542b638229a09eb7a1
Author: accauble <accauble@users.noreply.github.com>
Date: Thu Apr 23 09:03:54 2026 -0400
[rocjitsu] Add pre-commit hook to check for clang-format in rocjitsu files (#5311)
## Motivation
I keep forgetting to run the clang_format.sh script so I'm adding a
pre-commit hook that rocjitsu developers can install to check if they
need to run the script.
## Technical Details
Heavily commented because I used claude and I have never written a
git-hook. Adding two basic scripts:
-- A script to "install" the hook in rocm-systems. Only need to do this
once per clone.
-- The hook: checks staged files to see if they are formatted correctly.
If not, halts the commit and tells the user what went wrong.
## JIRA ID
None
## Test Plan
Tested:
1. Installation script works as expected
2. Checked that a poorly-formatted staged file was caught by the hook
3. Checked that a well-formatted staged file is allowed
4. Checked that a poorly-formatted cpp file outside the rocjitsu
directory doesn't get caught by the hook
## Test Result
They work!
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Rosa, Ada <arosa@amd.com>
commit 35534db977d5e5cbdd5ec88b7bd8b586ea2077a1
Author: Milan Radosavljevic <milan.radosavljevic@amd.com>
Date: Thu Apr 23 13:09:43 2026 +0200
[rocprofiler-systems] Restructure unit tests to improve test isolation (#4853)
## Motivation
Unit tests hang under Thread Sanitizer (TSan) due to a deadlock during
atexit static destruction. The thread_deleter calls
rocprofsys_finalize_hidden() which logs via spdlog, triggering a TSan
race report whose symbolizer deadlocks on its own slot lock while
closing a file descriptor. This causes the sanitizer CI workflow to time
out.
## Technical Details
Root cause: unit test executable was including
`rocprofsys-object-library` which pulled `library.cpp`. with
`library.cpp` static variables were included which should trigger
`ensure_finalization(true)`. `ensure_finalization(true)` was calling
`thread_deleter`. Unit test should include only isolated code, where
this is breaking this rule.
## JIRA ID
<!-- If applicable, mention the JIRA ID resolved by this PR (Example:
Resolves SWDEV-12345). -->
<!-- Do not post any JIRA links here. -->
## Test Plan
<!-- Explain any relevant testing done to verify this PR. -->
- Run full unit test suite: ./bin/rocprof-sys-unit-tests — all 480 tests
pass
- Run logger fork/stress tests under TSan — no deadlock
- Verify rocprofiler-systems-object-library is not linked into the test
binary-
## Test Result
All unit tests pass under TSan without hanging during atexit. The test
binary no longer links library.cpp's static initializers, preventing
thread_data instantiation and thread_deleter finalization entirely.
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit 783707e8cb0a210e78d1723542c42b61eb95f63d
Author: Jonathan L'Work <113400649+Jonathan03ant@users.noreply.github.com>
Date: Thu Apr 23 06:17:30 2026 -0400
[rocprofiler-sdk]: Fix crash on iGPUs without PMC support #148 (#5294)
commit f89f4135b732c7bb83b6d25363160a847762e000
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed Apr 22 17:22:29 2026 +0000
Bump cryptography in /projects/rocr-debug-agent/docs/sphinx
Bumps [cryptography](https://github.com/pyca/cryptography) from 46.0.6 to 46.0.7.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.6...46.0.7)
---
updated-dependencies:
- dependency-name: cryptography
dependency-version: 46.0.7
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
commit 7321d441181f08e8c53f48e7b580f8dd2434a73d
Author: cfallows-amd <Carrie.Fallows@amd.com>
Date: Wed Apr 22 22:12:49 2026 -0400
[rocprofiler-compute] Bugfix for memchart Matrix Ops value (#5310)
## Motivation
Fix Matrix Ops value pickup in memcharts- was trying to read for MFMA
but recent roof updates have converted it to general matrix operations
label which forced it to N/A value.
## Technical Details
Change MFMA metric title to Matrix Ops to reflect db entry.
Only affects CDNA memcharts
## JIRA ID
AIPROFCOMP-559
## Test Plan
Manual testing on MI350 system - profiled rocflop and occupancy samples
to test for workload that captures # of MFMA ops, and workload that has
0 MFMA ops, respectively.
Also regenerated hashes.
## Test Result
CLI analysis for block 3 shows Matrix Ops reflecting accurate MFMA
values:
<img width="1485" height="653" alt="Screenshot 2026-04-22 165029"
src="https://github.com/user-attachments/assets/2b3d8d59-e038-4a1a-bdac-0db98bd94da1"
/>
<img width="1448" height="645" alt="Screenshot 2026-04-22 165104"
src="https://github.com/user-attachments/assets/1c8423e0-4af8-44c8-b9d7-3a3203f39900"
/>
GUI mode also reflects these changes to the value outputs, no N/A.
## Submission Checklist
- [X] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
---------
Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
commit 4a65e8d0efcdcd584778d8b5d86d25563891afad
Author: Dmitrii <dmitrii.galantsev@amd.com>
Date: Wed Apr 22 20:01:57 2026 -0500
[RDC] Fix embedded profiler by loading librdc_rocp.so with RTLD_GLOBAL (#3922)
rocprofiler-sdk discovers tools by searching for rocprofiler_configure
in the global symbol namespace during hsa_init(). librdc_rocp.so was
loaded with RTLD_LAZY (implicit RTLD_LOCAL), hiding the symbol and
silently preventing profiler counter collection in embedded mode.
commit cbfa12fb0ea9a8c39b9e0f3232f3e821e2ce239f
Author: marandje <marko.arandjelovic@amd.com>
Date: Thu Apr 23 01:28:40 2026 +0200
Fix false queue-idle detection for first unsignaled packet (#5073)
## Motivation
- `Unit_hipGetProcAddress_MemoryApisMemset` is failing because
`hipStreamSynchronize` may return before `hipMemset*Async` operation has
actually completed when it is the only operation enqueued on the stream.
## Technical Details
- If a single command is enqueued on a stream without an attached
completion signal, `IsQueueIdle()` can incorrectly report the queue as
idle. In the original logic, the write index starts at `0`, so an empty
queue and a queue containing exactly one command at index `0` are
indistinguishable.
- When `hipStreamSynchronize` is called on stream A, the finish path may
call `ReleaseAllHwQueues()`, which can release an idle hardware queue
belonging to stream B. If stream B has only a single enqueued command
without a completion signal, that queue can be released prematurely. A
later synchronization on stream B may then reacquire a different queue
that is already idle, causing `hipStreamSynchronize` to return too
early.
- `last_write_index_` and `last_packet_with_signal_index_` still starts
counting from zero but are preinitialized with an invalid queue index.
## JIRA ID
ROCM-20999
## Test Plan
Run hip-tests.
## Test Result
All hip-tests passed.
## Submission Checklist
- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit 4a47fe94289240c48cd005cf0499c71221d29a0c
Author: akolliasAMD <99202231+akolliasAMD@users.noreply.github.com>
Date: Wed Apr 22 16:28:06 2026 -0600
removed akolliasAMD from codeowners on rocSHMEM repo (#5250)
## Motivation
Removing akolliasAMD from CODEOWNERS for team changes
## Test Plan
No test needed
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit c08c171dbb0d974eee4c42dc9e7709e2cb13cf56
Author: marandje <marko.arandjelovic@amd.com>
Date: Thu Apr 23 00:18:39 2026 +0200
Remove the queue from a set of active queues only when last enqueued command is cleared (#5193)
## Motivation
Unit_hipMultiThreadStreams1_AsyncAsync fails when GPU_ENABLE_PAL=0. In
HostQueue::finish(), lastEnqueueCommand_ is preserved, but the queue is
still removed from activeQueues. When the next command is enqueued, the
queue is not added back to activeQueues because lastEnqueueCommand_ is
still non-null, which prevents the null stream from implicitly
synchronizing with that queue.
## Technical Details
This change removes the queue from the set of active queues only when
last enqueued command is cleared.
## JIRA ID
ROCM-20999
## Test Plan
Run Unit_hipMultiThreadStreams1_AsyncAsync 100x.
## Test Result
All iterations passed.
## Submission Checklist
- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit c74978d8d5f3c7f8732da86659f08acf71b9427f
Author: Sajina PK <sputhala@amd.com>
Date: Wed Apr 22 18:14:48 2026 -0400
[rocprof-systems]: Fix makeinfo build failures on systems without texinfo (#5131)
## Motivation
Bundled `binutils` bfd build can invoke `makeinfo` to refresh GNU Info
manuals. On images without `Texinfo`, that fails with `makeinfo: not
found` even though we only need static libraries (libbfd, libiberty,
etc.).
## Technical Details
- Set `MAKEINFO` to a no-op (true, via `find_program`) in the configure
environment for the timemory `binutils-external` and rocprofiler-systems
`rocprofiler-systems-libiberty-build` ExternalProjects.
- Pass `MAKEINFO=…` on the make command line so existing build trees and
`CONFIGURE_HANDLED_BY_BUILD` flows still override the value baked into
generated Makefiles.
- [x] Merge the timemory update:
https://github.com/ROCm/timemory/pull/30
- [x] Once the timemory PR is merged update the submodule pointer to
head of rocprofiler-systems branch
## JIRA ID
## Test Plan
Manual test building `rocprofiler-systems` project.
## Test Result
Pass
## Submission Checklist
- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit 4c8dc1a07aaec317ed9bf7da1f7854cac74da62a
Author: spolifroni-amd <Sandra.Polifroni@amd.com>
Date: Wed Apr 22 16:55:44 2026 -0400
[rocdecode, rocjpeg] added env var doc (#5247)
## Motivation
rocdecode and rocjpeg both needed a list of env vars that affected their
runtimes
commit 08cec46e16354c0b34a404acb5c3e94d8035695d
Author: Dmitrii <dmitrii.galantsev@amd.com>
Date: Wed Apr 22 15:42:26 2026 -0500
[ci] Use github-script instead of curl (#3424)
## Motivation
Trying to manually sanitize PR strings is painful.
Use github-script to handle it all for us.
This should prevent issues like
https://github.com/ROCm/rocm-systems/pull/3418#issuecomment-3937597408
where double quotes broke the script.
## Test Plan
- [ ] Make a PR with double quotes in the name and see if script breaks.
- [x] Run the workflow via act to test syntax
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
commit ef7520eccdbe4658a2864ac2ff78bfdb7a1a529c
Author: Scott Tsai <scottt.tw@gmail.com>
Date: Thu Apr 23 04:32:28 2026 +0800
Fix rocprofiler-sdk build on gcc 15 (#934)
This PR fixes building rocprofiler-sdk on gcc 15 by updating two of its
external submodules:
* rocprofiler-sdk/external/yaml-cpp
* rocprofiler-sdk//external/elfio
to include `cstdint.h` where it needs them instead of implicitly through
other C++ standard headers.
commit fc3df3bf950cc16c6bbddd95735e9b9ee4758835
Merge: 1c40b0c84e b5210bf473
Author: Zach Byrne <zbyrne@amd.com>
Date: Wed Apr 22 14:07:44 2026 -0600
[hipfile] Add io size, bandwidth, and latency stats broken down by gpu to ais-stats (#4991)
[AIHIPFILE-159]
HipFile stats stores counters in a series of buckets broken up by
backend, IO operation, and IO size. This lets ais-stats show histograms
for different IO sizes. Also enables stats collection by default.
commit 1c40b0c84e60006d154ec08710fd8e0c54fb3a09
Merge: eb5dee8755 5412a62035
Author: James Newling <james.newling@gmail.com>
Date: Wed Apr 22 12:43:21 2026 -0700
[RocJitsu] Basic CI workflow (#5216)
Add basic CI that runs on free github runners.
Builds in ~10 mins.
Tests run in ~5 seconds.
See 'Checks' to see what tests ran.
commit eb5dee875516bf2fd001a3781938036947fbdb66
Author: Adam Pryor <61172547+adam360x@users.noreply.github.com>
Date: Wed Apr 22 13:38:00 2026 -0500
[RDC] Use longer sampling window when using SIMD rocprof metric (#5251)
## Motivation
SIMD util from rocprof needs a longer sampling window to give meaningful
results
## Test
Verified rocprof metrics behavior correctly with longer sampling window
Signed-off-by: Adam360x <Adam.pryor@amd.com>
commit 8d566d526860fea2822d57e5084ffd14c65ac031
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sat Mar 28 15:30:54 2026 +0000
Bump cryptography in /projects/rocr-debug-agent/docs/sphinx
Bumps [cryptography](https://github.com/pyca/cryptography) from 43.0.0 to 46.0.6.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/43.0.0...46.0.6)
---
updated-dependencies:
- dependency-name: cryptography
dependency-version: 46.0.6
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
commit 07a818e54c4a7f1fd24dd851c98b51730627edf2
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri Apr 3 03:38:20 2026 +0000
build(deps): bump pygments in /projects/rocr-debug-agent/docs/sphinx
Bumps [pygments](https://github.com/pygments/pygments) from 2.18.0 to 2.20.0.
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.18.0...2.20.0)
---
updated-dependencies:
- dependency-name: pygments
dependency-version: 2.20.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
commit fb4aa4aac81f5f0099480ad35cf8b330ac8547b1
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue Apr 7 07:38:17 2026 +0000
Bump tornado in /projects/rocr-debug-agent/docs/sphinx
Bumps [tornado](https://github.com/tornadoweb/tornado) from 6.4.2 to 6.5.5.
- [Changelog](https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst)
- [Commits](https://github.com/tornadoweb/tornado/compare/v6.4.2...v6.5.5)
---
updated-dependencies:
- dependency-name: tornado
dependency-version: 6.5.5
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
commit f3cabf66b29ae140410bd432841d1a8833f50202
Author: Lancelot SIX <lancelot.six@amd.com>
Date: Fri Apr 17 16:23:11 2026 +0100
Cleanup unused arch.
commit cdbf9cb8ba938b1990afbd929170291df73b5856
Author: Lancelot SIX <lancelot.six@amd.com>
Date: Fri Apr 17 16:20:15 2026 +0100
gfx12: Fix writing to pseudo_state_priv
I noticed that the debugger can't write the $state_priv register, writes
are eventually skipped.
It turns out this is because gfx12_architecture_t::write_pseudo_register
fails to memcpy the value to the register.
Fix this.
commit 1dd1c995a1181ecf8356d04846c35dccccbdb9d5
Author: Yiltan <ytemucin@amd.com>
Date: Wed Apr 22 11:59:22 2026 -0400
[rocshmem] Remove warnings: local memory global used by non-kernel function (#4948)
## Motivation
In an effort to cleanup rocSHMEM, we are fixing the warnings. The
specific warning this PR fixes is
```
warning: <unknown>:0:0: in function xyz: local memory global used by non-kernel function
```
## Technical Details
`__shared__` cannot be declared with in a `__device__` function
## JIRA ID
AIROCSHMEM-332
commit c6708bf70c9a47954916551644ff38992c622010
Author: Siwei He <siweihe.eng@gmail.com>
Date: Wed Apr 22 11:03:34 2026 -0400
kfdtest: Use CopyDwordIsa in Ptrace test (#5233)
Fix: Switch to CopyDwordIsa, which is simpler and appropriate for this
test's purpose (testing ptrace access to invisible VRAM, not scratch
memory). This avoids the scratch space conversion logic entirely.
## Motivation
PtraceAccessInvisibleVram test failure due to change in
ScratchCopyDwordIsa. This test is better using CopyDwordIsa
## Technical Details
## JIRA ID
ROCM-23360
ROCM-20237
## Test Plan
Able to compile the test and pass the PtraceAccessInvisibleVram test.
## Test Result
Test passed. Since this change only affects PtraceAccessInvisibleVram
test. It's safe to test only this sub test case.
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit 8821e322291b57fe68aa64891ccb836a77f9da77
Author: Edgar Gabriel <edgargabriel@users.noreply.github.com>
Date: Wed Apr 22 09:51:45 2026 -0500
[rocSHMEM] remove static amdsmi-loader instance (#5236)
## Motivation
the constructor in a static amdsmi-loader instance tried to open the
amdsmi lib and dlsym the functions used even if we do not compile with
pod-detection. The static instance however not actually required.
## Test Result
<!-- Briefly summarize test outcomes. -->
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit 0b6b84f76d0e69c311b49a25b48bff0a8c3aa7ff
Author: Shadi Dashmiz <94885391+shadidashmiz@users.noreply.github.com>
Date: Wed Apr 22 09:11:21 2026 -0400
ROCM-20929 - fix hiptests issues (#5159)
- check for proper peer enablement
- remove constexpr evalution
## Motivation
2 tests are failing due to error in the test code
## Technical Details
Constexpr caused the block of code to not run so that p2p check was
incomplete.
Check if P2P is supported before testing the error code. If P2P isn't
supported at all, skip the test.
## JIRA ID
ROCM-20929
## Test Plan
Hip test in the ticket
## Test Result
PSDB - passed
## Submission Checklist
- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
commit 00238f6c365df815d616fa9c6928fe5d58a48cc6
Author: Aurelien Bouteiller <abouteil@amd.com>
Date: Tue Apr 21 22:21:16 2026 -0400
Workaround for the DIEExpression failure to build with Debug (#5205)
RelWithDebInfo and Debug configurations fail to build with DIEExpression
error on certain versions of hip/clang.
THis is a workaround, a complete solution is pending on the compiler
side of the house we should reconsider when this is deployed.
## Motivation
Being able to debug is critical.
## Technical Details
Disable expanded dwarf decorators, rely on normal dwarf.
Also reenable -O0 in debug since that now also compiles.
This disables some debug info but that cannot be avoided until the
compiler gets updated.
## JIRA ID
AIROCSHMEM-227
## Test Plan
* [x] Build with debug
* [x] can rocgdb the code without crashing rocgdb
* [x] some debug info avail (not all, its not possible)
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit 2ea2e50ea976340213f399bc7f6a7f6df0ff59d4
Author: jamessiddeley-amd <James.Siddeley@amd.com>
Date: Tue Apr 21 21:57:42 2026 -0400
[rocprof-compute] Move intermediate csv deprecation warning to 7.13 upcoming changes (#5255)
## Motivation
Move deprecation warning out of 'Unreleased' section and move to changes
to ROCm 7.13 upcoming changes section instead
## Technical Details
No functional changes
## JIRA ID
N/A
## Test Plan
N/A
## Test Result
N/A
## Submission Checklist
- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit 1140233ffee37996820dcfaa710273fd2061a331
Author: Mark Meserve <mark.meserve@amd.com>
Date: Tue Apr 21 17:48:00 2026 -0500
rocprofiler-sdk: attach: multiprocess support (#4804)
- Adds the ability to attach to a process and all of its descendant
processes in a single call
- Adds rocattach_attach_tree and rocattach_detach_tree to rocattach
- Adds --attach-children option to rocprofv3
- Defaults to True
- Adds test to verify attach tool loading through a process tree
- Adds test to verify tool data through rocprofv3
- Some logging and documentation cleanup
commit e4029c3fed5478c48a3f5c4c36924b19a8c093cd
Author: Aryan Salmanpour <aryan.salmanpour@amd.com>
Date: Tue Apr 21 14:22:06 2026 -0700
[rocjpeg][samples] - Add total wall time for jpeg decoding (#5206)
## Motivation
This PR adds overall wall time for the jpegDecodePerf sample.
## Technical Details
<!-- Explain the changes along with any relevant GitHub links. -->
## JIRA ID
<!-- If applicable, mention the JIRA ID resolved by this PR (Example:
Resolves SWDEV-12345). -->
<!-- Do not post any JIRA links here. -->
## Test Plan
<!-- Explain any relevant testing done to verify this PR. -->
## Test Result
<!-- Briefly summarize test outcomes. -->
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit bd00380ee6b9d90e17a7282b763ee7af22f18682
Author: Aryan Salmanpour <aryan.salmanpour@amd.com>
Date: Tue Apr 21 14:17:51 2026 -0700
[rocdecode][ctest] - Add option to enable extended ctest tests (#5004)
## Motivation
Add a CMake option `ENABLE_EXTENDED_TESTS` to enable extended ctest
tests for rcodecode.
## Technical Details
<!-- Explain the changes along with any relevant GitHub links. -->
## JIRA ID
<!-- If applicable, mention the JIRA ID resolved by this PR (Example:
Resolves SWDEV-12345). -->
<!-- Do not post any JIRA links here. -->
## Test Plan
<!-- Explain any relevant testing done to verify this PR. -->
## Test Result
<!-- Briefly summarize test outcomes. -->
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
---------
Co-authored-by: kiritigowda <kiritigowda@gmail.com>
commit c5245d48f55fbca612be4fc6fc1c5813ae559da4
Author: Benjamin Welton <Benjamin.Welton@amd.com>
Date: Tue Apr 21 13:32:08 2026 -0700
[rocprofiler-sdk] Add runtime guards to ROCP_* log macros (#5222)
## Summary
- Add runtime log level checks to `ROCP_INFO`, `ROCP_WARNING`,
`ROCP_ERROR` and their `_IF` variants
- Prevents evaluation of stream arguments (including `fmt::format`
calls) when the severity is below the configured minimum log level
- Uses abseil's `LOG_IF` which internally short-circuits via a ternary
pattern, ensuring zero argument evaluation overhead when logging is
suppressed
- `ROCP_TRACE` already guards via `VLOG_IS_ON`;
`ROCP_FATAL`/`ROCP_DFATAL` are never suppressed
## Test plan
- [ ] CI builds pass across all OS variants
- [ ] Verify log output is unchanged at default log level (WARNING)
- [ ] Verify no output from `ROCP_INFO`/`ROCP_WARNING` when
`ROCP_LOG_LEVEL=error`
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 4 <noreply@anthropic.com>
commit 5412a620359b09593cfd3e0b0959c7a1a443c56e
Author: James Newling <james.newling@gmail.com>
Date: Mon Apr 20 21:37:22 2026 +0000
add libdrm-dev dep in CI
commit 8a03fbe617fa1f2441a08f772471824c2a0f9ffb
Author: James Newling <james.newling@gmail.com>
Date: Mon Apr 20 21:32:11 2026 +0000
add most basic of vanilla CIs
commit 58d180e1f39538c7bf724cf225aca18bef944297
Author: Maisam Arif <Maisam.Arif@amd.com>
Date: Tue Apr 21 14:52:48 2026 -0500
[AMD-SMI] Upgrade precommit workflow to have diff highlighting (#4534)
Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
commit d9b2e09246116d69de08e8108df838b8f7f67324
Author: Darren Lao <Darren.Lao@amd.com>
Date: Tue Apr 21 15:52:01 2026 -0400
Fix amdsmi_pcie_info_t speed unit (#5245)
Fixes https://github.com/ROCm/rocm-systems/issues/5200
This is purely a documentation change, and corrects the units for
`max_pcie_speed` to be in MT/s, which I confirmed is returned from:
Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
commit 9fb1dff90e1d4bf73777d4eb93059a270a40a13d
Author: Avinash Kethineedi <avinash.kethineedi@amd.com>
Date: Tue Apr 21 13:43:45 2026 -0500
[rocSHMEM] Implement ROCSHMEM_TEAM_SHARED in all the backends (#4914)
## Motivation
Implement the `ROCSHMEM_TEAM_SHARED` predefined team per the OpenSHMEM
specification. TEAM_SHARED comprises all PEs sharing a common memory
domain (same node), enabling node-scoped collective and point-to-point
operations.
## Technical Details
- Declare and define `ROCSHMEM_TEAM_SHARED` in host/device namespaces
with device symbol copy support.
- Add team_shared_ to TeamTracker with `NUM_RESERVED_TEAMS` so
predefined teams don't consume user-creatable team slots.
- Protect TEAM_SHARED from destruction in `rocshmem_team_destroy()`.
- Implement `setup_team_shared()` in all three backends (IPC, RO, GDA).
In RO and GDA, TEAM_SHARED is only created when IPC is enabled at
compile-time and runtime; otherwise set to `ROCSHMEM_TEAM_INVALID`.
- Update `team_ctx_infra_tester` to use runtime `ROCSHMEM_MAX_NUM_TEAMS`
with dynamic sizing.
- Add `TeamCtxSharedInfraTestType` (test 94) to validate
`ROCSHMEM_TEAM_SHARED` PE identity, team size, and context creation on
device. Gracefully skips when IPC is disabled.
## JIRA ID
- AIROCSHMEM-355
## Test Plan
- Run teamctxsharedinfra (test 94) with 2 ranks on the same node.
- Run hipmodule_init test to verify symbol copy.
- Verify graceful skip when IPC is disabled.
## Test Result
- [x] Tested with IPC backend
- [x] Tested with RO backend (IPC enabled)
- [x] Tested with RO backend (IPC disabled, verifies graceful skip)
- [x] Tested with GDA backend (IPC enabled)
- [x] Tested with GDA backend (IPC disabled, verifies graceful skip)
commit a8eef4083e76a2b8a78221510023da85b88af144
Author: Jason Bonnell <166553723+jbonnell-amd@users.noreply.github.com>
Date: Tue Apr 21 13:47:16 2026 -0400
Update rocprofiler workflows to use latest actions with node 24 (#5231)
## Motivation
<!-- Explain the purpose of this PR and the goals it aims to achieve.
-->
Noticed that older versions of Docker actions used Node 20, and Node 20
actions are being deprecated in June.
## Technical Details
<!-- Explain the changes along with any relevant GitHub links. -->
- Update `rocprofiler-*` workflow files to use the latest versions of
Docker and GitHub actions (moved to Node 24)
- `docker/login-action` -> v4.1.0
- `docker/metadata-action` -> v6.0.0
- `docker/build-push-action` -> v7.1.0
- `docker/setup-buildx-action` -> v4.0.0
- `actions/checkout` -> v6
- `actions/upload-artifact` -> v7
- `nick-fields/retry` -> v4
## JIRA ID
<!-- If applicable, mention the JIRA ID resolved by this PR (Example:
Resolves SWDEV-12345). -->
<!-- Do not post any JIRA links here. -->
## Test Plan
<!-- Explain any relevant testing done to verify this PR. -->
Ensure no regression issues with action updates, workflows pass
## Test Result
<!-- Briefly summarize test outcomes. -->
TBA
## Submission Checklist
- [X] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit 774ff6e7eec8fb0e79aaab408191635857c8367e
Author: Victor Zhang <111778801+victzhan@users.noreply.github.com>
Date: Tue Apr 21 13:06:25 2026 -0400
[AIRUNTIME-1929] HIP memory stress test fixes and improvements (#4069)
## Motivation
Fix instability and build issues in HIP memory stress tests.
## Technical Details
- Fix grid-stride loop in `KrnlWth2MemTypes` kernel in
`hipMallocManagedStress.cc`.
- Fix resource leaks (`hipFree`, `hipStreamDestroy`) in `LaunchKrnl4`.
- Re-initialize managed memory between prefetch iterations in
`hipMemPrftchAsyncStressTst.cc`.
- Fix `hold_memory` build: correct include and add missing link library.
- Simplify `stress_test` custom target.
- Add `hipMallocConcurrency.cc` to the build.
## JIRA ID
AIRUNTIME-1929
## Test Plan
Build and run `stress_test` target. Verify stress tests pass
consistently.
## Test Result
Pending
## Submission Checklist
- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit 9deaac2945c4ef2cb9ab787b40619f96849d41e5
Author: Victor Zhang <111778801+victzhan@users.noreply.github.com>
Date: Tue Apr 21 13:05:17 2026 -0400
ROCM-2903 - Default DEBUG_HIP_MEM_POOL_VMHEAP to IS_LINUX (#5139)
## Motivation
rocBLAS graph tests hang on Windows 11 after sustained stream-ordered
allocation / free / trim cycles (~500-1000 cycles in). The hang is in
the VM heap path: awaitCompletion on the synchronous VirtualMapCommand
blocks indefinitely with the GPU event never signaling, leaving the
command stuck in CL_SUBMITTED.
## Technical Details
Default DEBUG_HIP_MEM_POOL_VMHEAP to IS_LINUX so that allocations on
Windows are routed through SvmBuffer::malloc / free instead of
VirtualMapCommand. This is a temporary workaround until the ROCR/HSA
backend becomes the default on Windows, which brings direct dispatch and
avoids this path entirely.
## JIRA ID
ROCM-2903
## Test Plan
Run rocblas-test *graph* filter on Navi3x / Windows 11; verify the hang
is resolved.
## Test Result
Confirmed on W7900 (gfx1100) + Windows 11: PAL previously hung at
trmv_graph_test_f32_r_U_N_N_128_2_1; with this change all 1637 graph
tests pass.
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
---------
Co-authored-by: FirstName LastName (Public) <your_public_email@example.com>
commit 2ecbb87a314b60d7b992cb4f275714e8b09a6c9b
Author: Kian Cossettini <Kian.Cossettini@amd.com>
Date: Tue Apr 21 13:01:22 2026 -0400
[rocprofiler-systems] Install python dependencies at the Dockerfile level (#5197)
## Motivation
<!-- Explain the purpose of this PR and the goals it aims to achieve.
-->
Part of https://github.com/ROCm/rocm-systems/pull/3962
Make the dockerfiles install the requirements.txt.
Drop support for python 3.6 and 3.7 (test suite requires python 3.8 and
above)
## Technical Details
<!-- Explain the changes along with any relevant GitHub links. -->
Remove 3.6 and 3.7 from Dockerfiles and workflows.
Install requirements.txt in Dockerfiles
## JIRA ID
<!-- If applicable, mention the JIRA ID resolved by this PR (Example:
Resolves SWDEV-12345). -->
<!-- Do not post any JIRA links here. -->
## Test Plan
<!-- Explain any relevant testing done to verify this PR. -->
## Test Result
<!-- Briefly summarize test outcomes. -->
## Submission Checklist
- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit c54a0e85fa6727ce1ffdc5ccc3695af0950365d8
Author: Dmitrii <dmitrii.galantsev@amd.com>
Date: Tue Apr 21 11:54:10 2026 -0500
[RDC][AMD-SMI][ROCM-SMI] Drop POST_BUILD strip on shared libs (#5237)
Defer stripping to packagers and TheRock's THEROCK_SPLIT_DEBUG_INFO.
Fixes
SONAME-symlink corruption under llvm-strip
(https://github.com/ROCm/TheRock/issues/4640)
commit e22df2da076973fb0a347c868edd2beea7f1fb7d
Author: Venkateshwar Reddy Kandula <Venkateshwarreddy.Kandula@amd.com>
Date: Tue Apr 21 11:17:29 2026 -0500
[rocprofiler-sdk] Add reusable composite action rocprofiler-sdk CI (#5095)
## Motivation
This PR introduces a reusable local composite GitHub Action to
consolidate repeated “install ROCm + build dependencies” logic across
rocprofiler-sdk workflows, aiming to reduce duplication and simplify
maintenance.
## Technical Details
- Added a new composite action: .github/actions/rocprofiler-sdk-util.
- Updated rocprofiler-sdk workflows (docs, CI, CodeQL, code coverage) to
call the composite action instead of inlining dependency build steps.
- Added workflow env toggles to enable/disable building specific
dependencies (ROCR, HIP/CLR, rocprofiler-register, aqlprofile,
rocDecode, rocJPEG) and to control nightly ROCm installation.
## JIRA ID
<!-- If applicable, mention the JIRA ID resolved by this PR (Example:
Resolves SWDEV-12345). -->
<!-- Do not post any JIRA links here. -->
## Test Plan
CI checks
## Test Result
Passing
## Submission Checklist
- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
commit 7a234bbaf6ba32af3b64aacdbe27eaaac8348823
Author: Aurelien Bouteiller <abouteil@amd.com>
Date: Tue Apr 21 11:01:40 2026 -0400
[rocSHMEM] Fix a warning when building config gda_ionic (#5218)
## Motivation
Fix warnings
## Technical Details
missing a [[maybe-unused]] in gda_ionic configuration.
## JIRA ID
AIROCSHMEM-300
commit b44f6c789daaf102492bb3572005318599abd656
Author: German Andryeyev <56892148+gandryey@users.noreply.github.com>
Date: Tue Apr 21 10:59:12 2026 -0400
clr: Expose some HSA interfaces in hip dll (#4748)
## Motivation
These calls are required to enable AQL profiler functionality on
Windows.
## Technical Details
Currently AQL profiler requires direct calls to ROCR interfaces
## JIRA ID
OCM-1667
## Test Plan
Aql profiler tests
## Test Result
Passed
## Submission Checklist
N/A
commit 1f21d5b1a5273a9237ab3594bb56ebf2e64f2fc4
Author: Jason Bonnell <166553723+jbonnell-amd@users.noreply.github.com>
Date: Tue Apr 21 09:28:51 2026 -0400
[rocprofiler-compute] Update git version in Ubuntu GHCR CI images (#5208)
## Motivation
<!-- Explain the purpose of this PR and the goals it aims to achieve.
-->
#5144 adds some new submodules, and the current CI image is failing to
clone the repo with the submodules due to 22.04 using an older version
of git.
## Technical Details
<!-- Explain the changes along with any relevant GitHub links. -->
- Update `Dockerfile.ubuntu.ci` to include the git-core ppa repository
so we can grab the latest version of git
- Previous version installed was 2.34.1, which was the latest version
available with default ubuntu 22.04 repos
## JIRA ID
<!-- If applicable, mention the JIRA ID resolved by this PR (Example:
Resolves SWDEV-12345). -->
<!-- Do not post any JIRA links here. -->
## Test Plan
<!-- Explain any relevant testing done to verify this PR. -->
- Ensure Dockers build properly
- Once merged, verify that the updated images are able to pass the
checkout step in #5144 checks
## Test Result
<!-- Briefly summarize test outcomes. -->
TBA
## Submission Checklist
- [X] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit 4753424bc943669bb2a67c29783717042b457f9c
Author: Alexey Sachkov <alexey.sachkov@amd.com>
Date: Tue Apr 21 14:30:51 2026 +0200
[CLR][NFC] Optimize tracking of active queues (#4945)
## Motivation
Performance optimization of the runtime.
## Technical Details
`std::unordered_set::[insert|erase]` allocate/deallocate memory which is
an unnecessary action considerng that a list of all command queues which
are present throughout an application lifetime is mostly stable, i.e.
the assumption is made that HIP streams are not short-lived, but instead
mostly span the whole application lifetime.
## JIRA ID
N/A
## Test Plan
N/A, this change is non-functional
## Test Result
N/A, this change is non-functional
## Submission Checklist
- [X] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit 019054fdb5070b663ba741b6f3c8e715d4816a87
Author: Aleksandar Djordjevic <aleksandar.djordjevic@amd.com>
Date: Tue Apr 21 14:06:28 2026 +0200
[rocprofiler-systems] filter VCN/JPEG sentinel values during metric collection (#5145)
## Motivation
When only some VCN/JPEG engines are present on a GPU, the AMD SMI
`vcn_activity`/`jpeg_activity` arrays contain `0xFFFF` sentinel values
for absent engines. These sentinel values were being passed through to
Perfetto and RocPD output as `65535`, appearing as bogus
`device_vcn_activity_1`, `_2`, `_3` metrics.
commit b6285c0a549a85c825d5e00fd51b3fb79f42c71d
Author: Pedro Alves <pedro@palves.net>
Date: Fri Apr 17 16:06:55 2026 +0100
Add missing AMD_DBGAPI_EXPORT_DECORATOR fallback
The AMD_DBGAPI_EXPORT_DECORATOR definition block is missing the
fallback case. Fix that.
Change-Id: Idcc785b59a48b5cc17c64d4b70e534ba6e912eaf
commit-id:8ab06a04
commit b1ac485c994985b67f1dd712693c81b614d0bf12
Author: Pedro Alves <pedro@palves.net>
Date: Fri Apr 17 16:06:55 2026 +0100
Fix building dbgapi as a static library
Since 4bfddf5494 ("dbgapi/win32: __declspec(dllexport) instead of
--version-script"), building dbgapi as a static library on Windows
fails with errors such as:
.../rocm-dbgapi/src/initialization.cpp:41:1: error: function 'amd_dbgapi_status_t amd_dbgapi_initialize(amd_dbgapi_callbacks_s*)' definition is marked dllimport
41 | amd_dbgapi_initialize (struct amd_dbgapi_callbacks_s *callbacks)
| ^~~~~~~~~~~~~~~~~~~~~
The symbols end up "marked dllimport" because with:
set_target_properties(amd-dbgapi PROPERTIES
...
DEFINE_SYMBOL "AMD_DBGAPI_EXPORTS"
...
... DEFINE_SYMBOL is a CMake convenience that only applies when (and
while) building a shared library. When BUILD_SHARED_LIBS is OFF,
DEFINE_SYMBOL does nothing. So AMD_DBGAPI_EXPORTS ends up not defined
in amd-dbgapi.h, which results in AMD_DBGAPI mapping to
AMD_DBGAPI_IMPORT, here, in amd-dbgapi.h.in:
#define AMD_DBGAPI AMD_DBGAPI_IMPORT
AMD_DBGAPI_IMPORT in turn is unconditionally defined to
__declspec(dllimport) on Windows.
So there are two issues:
- The dbgapi build itself is treated as importing symbols (as a
consumer) instead of exporting them (as a producer).
- The import/export decorations are applied even when dbgapi is built
as a static library, where they should not be used at all.
Fix this by teaching amd-dbgapi.h about whether dbgapi was built as a
static or shared library. Since the header is generated, define
AMD_DBGAPI_STATIC_LIB (0 or 1) at configure time and use it to skip
using import/export decorations.
This also ensures that clients, including those which do not use CMake
(e.g. GDB), automatically see consistent definitions without needing
to know how dbgapi was built.
Change-Id: I31c8c947791551cc4e20218826561c1d242f298d
commit-id:12deacf2
commit e42ed4ca16c7713233161740b0a22d9c50fd2fba
Author: Luis Machado <luis.machado@amd.com>
Date: Mon Apr 13 09:50:10 2026 -0500
Add Python executable paths to all TheRock builds
Configure shared and dist Python executables (3.10-3.14) for all build
configurations to ensure consistent Python environment across CI builds.
Also update the manylinux container hash to the latest.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
commit da8621629e24cabc4c92d43e2cbeb6cebc751c1c
Author: vstojilj <vstojilj@amd.com>
Date: Tue Apr 21 10:56:59 2026 +0200
Accept only valid device allocations for hipTexObjectCreate (#4814)
## Motivation
Unit_TexObjectCreate_TypePitch2D_EdgeCases is failing on APUs when host
pointer is passed to hipTexObjectCreate and it should fail with
hipErrorInvalidValue.
## Technical Details
Check if buffer retrieved by devptr is a valid allocation before
creating tex object.
## JIRA ID
Resolves AIRUNTIME-72.
## Test Plan
Retest with Unit_TexObjectCreate_TypePitch2D_EdgeCases.
## Test Result
test passes.
## Submission Checklist
- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit d4570465bfb80c34171815318ec822f1dbcc07be
Author: systems-assistant[bot] <221163467+systems-assistant[bot]@users.noreply.github.com>
Date: Mon Apr 20 22:31:38 2026 -0700
Update TheRock reference to (702d158) (#5117)
Updated TheRock ref to `702d158` due to submodule bump
update - Rename ccache presets as per therock pr
https://github.com/ROCm/TheRock/pull/4402
---------
Co-authored-by: therockbot <therockbot@amd.com>
Co-authored-by: rahulc-gh <rahul.choudhary@amd.com>
Co-authored-by: RahulC <168588218+rahulc-gh@users.noreply.github.com>
commit e5a46360d85ac27fc2d028a1f094eb0c9292ec59
Author: Shweta Khatri <shweta.khatri@amd.com>
Date: Thu Apr 2 14:56:05 2026 -0400
rocr: PC Sampling : Add reserved_wg field to PC sampling structs
Add missing reserved_wg field to perf_sample_hosttrap_v1_t and
perf_sample_snapshot_v1_t. This aligns with the profiler which
expects chiplet at bits [10:8].
commit b768f127de8c219e1604615293aa68d6d2220e85
Author: Jeff Jiang <142832361+jeffqjiangNew@users.noreply.github.com>
Date: Mon Apr 20 22:21:55 2026 -0400
[rocDecode] Merge debug logging into the new logging mechanism. (#5210)
## Motivation
This PR merges debug logging into the new logging mechanism.
## Technical Details
- rocDecode debug message was a compile option.
- Now debug logging can be enabled by setting env var ROCDEC_LOG_LEVEL
to 4 . This helps issue triage on the release builds.
## JIRA ID
<!-- If applicable, mention the JIRA ID resolved by this PR (Example:
Resolves SWDEV-12345). -->
<!-- Do not post any JIRA links here. -->
## Test Plan
Run CTests and decode conformance tests to catch any regressions.
Run rocdecdecode samples to verify user set output.
## Test Result
All CTests and conformance tests pass. Example summary of the test
results:
CTests:
Start 1: video_decodeRaw-HEVC
1/6 Test #1: video_decodeRaw-HEVC ............. Passed 2.10 sec
Start 2: video_decodeRaw-AVC
2/6 Test #2: video_decodeRaw-AVC .............. Passed 1.96 sec
Start 3: video_decodeRaw-AV1
3/6 Test #3: video_decodeRaw-AV1 .............. Passed 2.03 sec
Start 4: video_decodeRaw-VP9
4/6 Test #4: video_decodeRaw-VP9 .............. Passed 2.05 sec
Start 5: rocdec_Decode-HEVC
5/6 Test #5: rocdec_Decode-HEVC ............... Passed 0.91 sec
Start 6: rocDecode_Negative_API_Tests
6/6 Test #6: rocDecode_Negative_API_Tests ..... Passed 0.73 sec
Conformance tests:
AVC conformance test:
Conformance test completed on the 127 streams:
The number of passing streams is 127
The number of failing streams is 0
The number of streams that did not finish decoding is 0
HEVC conformance test:
Conformance test completed on the 135 streams:
The number of passing streams is 135
The number of failing streams is 0
The number of streams that did not finish decoding is 0
AV1 conformance test:
Conformance test completed on the 162 streams:
The number of passing streams is 162
The number of failing streams is 0
The number of streams that did not finish decoding is 0
VP9 conformance test:
Conformance test completed on the 108 streams:
The number of passing streams is 108
The number of failing streams is 0
The number of streams that did not finish decoding is 0
<!-- Briefly summarize test outcomes. -->
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit ff1db549b2d5061ff0026ee9933c0e83b5533fef
Author: koushikbillakanti-amd <koushik.billakanti@amd.com>
Date: Mon Apr 20 21:06:48 2026 -0500
Add NPU device type support (#4952)
## Motivation
Add NPU device support to CUID so RyzenAI/amdxdna devices are
discoverable and assigned unique identifiers.
## Technical Details
Introduce CuidNpu class with discovery via accel, primary/derived CUID
generation, PCI config space fingerprinting, and wire NPU through the
daemon, CLI, device manager, and file serialization paths.
Co-authored-by: Koushik Billakanti <kbillaka@amd.com>
commit 4e965940280c5b567d4ad36dc41418f6b2da8593
Author: Kian Cossettini <Kian.Cossettini@amd.com>
Date: Mon Apr 20 18:12:14 2026 -0400
[rocprofiler-systems] Improve troubleshooting messages for Dyninst errors (#4947)
## Motivation
<!-- Explain the purpose of this PR and the goals it aims to achieve.
-->
During instrumentation, it is possible for Dyninst to fail to process
certain sequences of instructions in a function. When this occurs, a
vague error message would be printed.
This PR adds more details to the error message and adds information to
`instrumenting-rewriting-binary-applications.rst` to inform the user to
exclude the problematic function/module/object in subsequent runs (which
may prevent errors).
With this PR:
```
# Before
Failed to transform trace 9105
# After
Failed to transform trace 9105 in function 'llvm::msgpack::Reader::read' in module '/opt/rocm-7.1.1/lib/llvm/lib/libomptarget.so.20.0git' in object 'libomptarget.so.20.0git' at address 0x7f4c3f179120
```
## Technical Details
<!-- Explain the changes along with any relevant GitHub links. -->
See the original issue: https://github.com/dyninst/dyninst/issues/2203
Merge https://github.com/ROCm/dyninst/pull/13.
Update submodule pointer to
https://github.com/ROCm/dyninst/commit/77203e0b4f917aec534ac2717643c17838fded7e.
Added `Failed to transform trace error` section to
`projects/rocprofiler-systems/docs/how-to/instrumenting-rewriting-binary-application.rst`.
## JIRA ID
<!-- If applicable, mention the JIRA ID resolved by this PR (Example:
Resolves SWDEV-12345). -->
<!-- Do not post any JIRA links here. -->
ROCM-21219
## Test Plan
<!-- Explain any relevant testing done to verify this PR. -->
N/A
## Test Result
<!-- Briefly summarize test outcomes. -->
N/A
## Submission Checklist
- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
commit e0fa30b1465526e3255df950df5edc8dfd83b631
Author: Bindhiya Kanangot Balakrishnan <Bindhiya.KanangotBalakrishnan@amd.com>
Date: Mon Apr 20 16:56:59 2026 -0500
[ROCM-1553] GPU metrics v1.9 support with new attributes (#5125)
[ROCM-1553] GPU metrics v1.9 support with new attributes
Added support for updated dynamic GPU metrics version 1.9 by introducing
new metric attributes based on latest amdgpu header.
Updated python interface and CLI outputs for new gpu_metric fields.
Unified CLI output for amdsmi metric. Updated Changelog.
Signed-off-by: Bindhiya Kanangot Balakrishnan <Bindhiya.KanangotBalakrishnan@amd.com>
commit 6c571bb686712f9366fa8ee8646e48fdf25222c5
Author: Jeff Jiang <142832361+jeffqjiangNew@users.noreply.github.com>
Date: Mon Apr 20 14:43:02 2026 -0400
[rocDecode] Logging format in utility classes now matches RocDecLogger format. (#4997)
## Motivation
Unify logging format in utility classes with core library logging
format.
## Technical Details
This PR unifies logging format in utility classes with core library
logging format.
- Logs from utility classes are now more informative.
## JIRA ID
<!-- If applicable, mention the JIRA ID resolved by this PR (Example:
Resolves SWDEV-12345). -->
<!-- Do not post any JIRA links here. -->
## Test Plan
Run CTests and decode conformance tests to catch any regressions.
Run rocdecdecode samples to verify user set output.
## Test Result
All CTests and conformance tests pass. Example summary of the test
results:
CTests:
Start 1: video_decodeRaw-HEVC
1/6 Test https://github.com/ROCm/rocm-systems/pull/1:
video_decodeRaw-HEVC ............. Passed 1.96 sec
Start 2: video_decodeRaw-AVC
2/6 Test https://github.com/ROCm/rocm-systems/pull/2:
video_decodeRaw-AVC .............. Passed 1.84 sec
Start 3: video_decodeRaw-AV1
3/6 Test https://github.com/ROCm/rocm-systems/pull/3:
video_decodeRaw-AV1 .............. Passed 1.88 sec
Start 4: video_decodeRaw-VP9
4/6 Test https://github.com/ROCm/rocm-systems/pull/4:
video_decodeRaw-VP9 .............. Passed 1.93 sec
Start 5: rocdec_Decode-HEVC
5/6 Test https://github.com/ROCm/rocm-systems/pull/5: rocdec_Decode-HEVC
............... Passed 0.85 sec
Start 6: rocDecode_Negative_API_Tests
6/6 Test https://github.com/ROCm/rocm-systems/pull/6:
rocDecode_Negative_API_Tests ..... Passed 0.72 sec
100% tests passed, 0 tests failed out of 6
AVC conformance test:
Conformance test completed on the 127 streams:
The number of passing streams is 127
The number of failing streams is 0
The number of streams that did not finish decoding is 0
HEVC conformance test:
Conformance test completed on the 135 streams:
The number of passing streams is 135
The number of failing streams is 0
The number of streams that did not finish decoding is 0
AV1 conformance test:
Conformance test completed on the 162 streams:
The number of passing streams is 162
The number of failing streams is 0
The number of streams that did not finish decoding is 0
VP9 conformance test:
Conformance test completed on the 108 streams:
The number of passing streams is 108
The number of failing streams is 0
The number of streams that did not finish decoding is 0
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
commit 2e1eb97edb6d9b0545c2ce3f5e900131540da0c7
Author: Avinash Kethineedi <avinash.kethineedi@amd.com>
Date: Mon Apr 20 13:27:03 2026 -0500
[rocSHMEM] Add library metadata constants, version/name query APIs, and documentation (#5151)
## Motivation
Add library metadata constants and version/name query APIs to rocSHMEM,
aligning with the OpenSHMEM specification.
## Technical Details
- Replace version parsing from the C++ header with a direct CMake
variable and add backend/vendor string construction to CMakeLists.txt
- Add vendor version, vendor string, and backend metadata to
rocshmem_config.h and surface them in rocshmem_info output
- Add ROCSHMEM_MAJOR_VERSION, ROCSHMEM_MINOR_VERSION,
ROCSHMEM_MAX_NAME_LEN to rocshmem.hpp
- Add host APIs: rocshmem_info_get_version, rocshmem_info_get_name,
rocshmem_vendor_get_version_info
- Update rocshmem_init_attr_test example to use the new query APIs
- Add Sphinx documentation for library constants and query APIs
- Templatize print_entry in build_info.cpp to support int arguments
- Update docs/conf.py to read version from CMakeLists.txt
- Add Linux build instructions and custom output directory usage to docs
README
## JIRA ID
- AIROCSHMEM-359
## Test Plan
- Build with all backend configurations (GDA with IONIC/BNXT/MLX5, RO,
IPC, and combinations) and verify rocshmem_info output shows the correct
vendor string, version, and backend for each configuration
- Run rocshmem_init_attr_test and verify version/name output on rank 0
- Build the Sphinx documentation and verify the new library constants
and query API pages render correctly
## Test Result
- All backend configurations produce the expected vendor strings (e.g.
`rocSHMEM_v3.3.0_GDA(IONIC/BNXT/MLX5)+RO+IPC` when compiled with all
backends and NICs enabled)
- rocshmem_info output displays correct version, vendor string, and
backend metadata for all tested configurations
- Sphinx documentation builds without warnings in the newly added
sections; library constants and query API pages render correctly
commit b87cea434d77e56499835c54c01db8a5fa51f13b
Author: Sumanth Gavini <sumanth.gavini@amd.com>
Date:…
1 task
rrawther
added a commit
that referenced
this pull request
May 13, 2026
…#6076) ## Motivation Some of the comments were not correct ## Technical Details Will be more clear for the user ## JIRA ID <!-- If applicable, mention the JIRA ID resolved by this PR (Example: Resolves SWDEV-12345). --> <!-- Do not post any JIRA links here. --> ## Test Plan CTest should pass ## Test Result Test project /home/rajy/work/rocm-systems/projects/rocdecode/build Start 1: video_decodeRaw-HEVC 1/6 Test #1: video_decodeRaw-HEVC ............. Passed 2.67 sec Start 2: video_decodeRaw-AVC 2/6 Test #2: video_decodeRaw-AVC .............. Passed 1.68 sec Start 3: video_decodeRaw-AV1 3/6 Test #3: video_decodeRaw-AV1 .............. Passed 1.77 sec Start 4: video_decodeRaw-VP9 4/6 Test #4: video_decodeRaw-VP9 .............. Passed 1.82 sec Start 5: rocdec_Decode-HEVC 5/6 Test #5: rocdec_Decode-HEVC ............... Passed 0.72 sec Start 6: rocDecode_Negative_API_Tests 6/6 Test #6: rocDecode_Negative_API_Tests ..... Passed 0.53 sec 100% tests passed, 0 tests failed out of 6 ## Submission Checklist - [ ] Look over the contributing guidelines at https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
vlaindic
added a commit
that referenced
this pull request
May 18, 2026
Translation parser (#3, #6): Replace the residual ROCP_FATAL on wave_id mismatch in the GFX1250 V2/V4 and stochastic copySample paths with ROCP_ERROR + returning a value-initialized record so it is filtered by is_invalid_sample() instead of aborting the process. Drop the redundant std::memset() that followed value-initialization of the invalid-sample sentinel in the GFX9/GFX12/GFX1250 V2 and GFX1250 V4 paths, and document the timestamp-zero invariant. query_agent_configurations_v2 (#5): Replace the dead "sort preferred-method configs first" pass with the same PREFER semantics already implemented by configure_v2: if any preferred-method config exists, return only those; otherwise fall back to returning all configs. REQUIRE remains a hard filter. Callback signature: Change rocprofiler_available_pc_sampling_configurations_v2_cb_t to deliver configurations as a const T** array of pointers, matching the convention used by rocprofiler_query_available_agents_cb_t. Update the only consumer (samples/pc_sampling_v2/pcs.cpp) accordingly. Documentation (#7, #8): Remove the V5 reference (only V0-V4 exist today); expand the api_flags doc with PREFER/REQUIRE behavior for both query and configure entry points and add per-enumerator @var blocks; add an Example 4 to configure_v2 showing conflicting flags being rejected; mark configuration_v2_t as output-only; add per-flag filtering rules and three usage examples to query_v2's doc; expand _get_parse_func_for_record_kind's docstring to specify when nullptr is returned. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
vlaindic
added a commit
that referenced
this pull request
May 27, 2026
Translation parser (#3, #6): Replace the residual ROCP_FATAL on wave_id mismatch in the GFX1250 V2/V4 and stochastic copySample paths with ROCP_ERROR + returning a value-initialized record so it is filtered by is_invalid_sample() instead of aborting the process. Drop the redundant std::memset() that followed value-initialization of the invalid-sample sentinel in the GFX9/GFX12/GFX1250 V2 and GFX1250 V4 paths, and document the timestamp-zero invariant. query_agent_configurations_v2 (#5): Replace the dead "sort preferred-method configs first" pass with the same PREFER semantics already implemented by configure_v2: if any preferred-method config exists, return only those; otherwise fall back to returning all configs. REQUIRE remains a hard filter. Callback signature: Change rocprofiler_available_pc_sampling_configurations_v2_cb_t to deliver configurations as a const T** array of pointers, matching the convention used by rocprofiler_query_available_agents_cb_t. Update the only consumer (samples/pc_sampling_v2/pcs.cpp) accordingly. Documentation (#7, #8): Remove the V5 reference (only V0-V4 exist today); expand the api_flags doc with PREFER/REQUIRE behavior for both query and configure entry points and add per-enumerator @var blocks; add an Example 4 to configure_v2 showing conflicting flags being rejected; mark configuration_v2_t as output-only; add per-flag filtering rules and three usage examples to query_v2's doc; expand _get_parse_func_for_record_kind's docstring to specify when nullptr is returned. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
AryanSalmanpour
added a commit
that referenced
this pull request
Jun 10, 2026
…error diagnostics in parser (#7010) ## Motivation This PR enhances rocJPEG logging by adding structured, offset-annotated debug logging for each major JPEG marker (SOF0, DQT, DHT, SOS, EOI), improves clarity of error messages for unsupported formats, and explicitly rejects progressive JPEGs (SOF2). sample output: ``` ROCJPEG_LOG_LEVEL=4 ./jpegdecode -i ~/install/share/rocjpeg/images/mug_420.jpg Reading images from disk, please wait! Using GPU device 0: AMD Radeon RX 7900 XT[gfx1100] on PCI bus 03:00.0 [3, Info] rocjpeg_api.cpp:123: 2274381572050 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] rocJpegCreate( 0, 0, 0x7fff0596b718 ): entry ... [3, Info] rocjpeg_decoder.cpp:81: 2274381572066 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] InitializeDecoder( ): entry ... [3, Info] rocjpeg_decoder.cpp:50: 2274381572069 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] InitHIP( 0 ): entry ... [3, Info] rocjpeg_decoder.cpp:50: 2274381592272 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] InitHIP( 0 ): exit (20203 us) ... [3, Info] rocjpeg_vaapi_decoder.cpp:416: 2274381592356 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] InitializeDecoder(): gpu_uuids_to_render_nodes_map_: {e0b64ad979bec1fd: 128} [3, Info] rocjpeg_vaapi_decoder.cpp:417: 2274381592362 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] InitializeDecoder(): Selected GPU UUID: e0b64ad979bec1fd [3, Info] rocjpeg_vaapi_decoder.cpp:475: 2274381592366 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] InitVAAPI(): Opening DRM node: /dev/dri/renderD128 [3, Info] rocjpeg_vaapi_decoder.cpp:500: 2274381593624 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] InitVAAPI(): VA-API version 1.22 [3, Info] rocjpeg_vaapi_decoder.cpp:502: 2274381593634 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] InitVAAPI(): VA-API vendor: Mesa Gallium driver 26.0.0-devel for AMD Radeon RX 7900 XT (radeonsi, navi31, , DRM 3.64, 6.17.0-23-generic) [3, Info] rocjpeg_vaapi_decoder.cpp:504: 2274381593638 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] InitVAAPI(): Trying to open /home/aryan/install/lib/rocm_sysdeps/lib/radeonsi_drv_video.so [3, Info] rocjpeg_decoder.cpp:81: 2274381593728 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] InitializeDecoder( ): exit (21662 us) ... [3, Info] rocjpeg_api.cpp:123: 2274381593732 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] rocJpegCreate( 0, 0, 0x7fff0596b718 ): exit (21682 us) ... [3, Info] rocjpeg_api.cpp:40: 2274381593735 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] rocJpegStreamCreate( 0x7fff0596b710 ): entry ... [3, Info] rocjpeg_api.cpp:40: 2274381593738 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] rocJpegStreamCreate( 0x7fff0596b710 ): exit (3 us) ... Input file name: /home/aryan/install/share/rocjpeg/images/mug_420.jpg [3, Info] rocjpeg_api.cpp:75: 2274381594731 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] rocJpegStreamParse( 0x70b1f41c4010, 2340067, 0x55f2ebfec840 ): entry ... [3, Info] rocjpeg_parser.cpp:48: 2274381594734 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] ParseJpegStream( 0x70b1f41c4010, 2340067 ): entry ... [4, Debug] rocjpeg_parser.cpp:408: 2274381594759 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] ParseDQT(): *** Marker: DQT (xFFDB) *** Define a Quantization Table. OFFSET: 0x00001296 Table length = 67 ---- Precision=8 bits Destination ID=0 (Luminance) DQT, Row #0: 1 1 1 1 1 1 1 1 DQT, Row #1: 1 1 1 1 1 1 1 1 DQT, Row #2: 1 1 1 1 1 1 1 1 DQT, Row #3: 1 1 1 1 1 1 1 1 DQT, Row #4: 1 1 1 1 1 1 1 1 DQT, Row #5: 1 1 1 1 1 1 1 1 DQT, Row #6: 1 1 1 1 1 1 1 1 DQT, Row #7: 1 1 1 1 1 1 1 1 Approx quality factor = 100.00 (scaling=2.99 variance=6.13) [4, Debug] rocjpeg_parser.cpp:408: 2274381594772 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] ParseDQT(): *** Marker: DQT (xFFDB) *** Define a Quantization Table. OFFSET: 0x000012DB Table length = 67 ---- Precision=8 bits Destination ID=1 (Chrominance) DQT, Row #0: 1 1 1 1 1 1 1 1 DQT, Row #1: 1 1 1 1 1 1 1 1 DQT, Row #2: 1 1 1 1 1 1 1 1 DQT, Row #3: 1 1 1 1 1 1 1 1 DQT, Row #4: 1 1 1 1 1 1 1 1 DQT, Row #5: 1 1 1 1 1 1 1 1 DQT, Row #6: 1 1 1 1 1 1 1 1 DQT, Row #7: 1 1 1 1 1 1 1 1 Approx quality factor = 100.00 (scaling=1.54 variance=1.58) [4, Debug] rocjpeg_parser.cpp:297: 2274381594790 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] ParseSOF(): *** Marker: SOF0 (Baseline DCT) (xFFC0) *** OFFSET: 0x00001320 Frame header length = 17 Precision = 8 Number of Lines = 2160 Samples per Line = 3840 Image Size = 3840 x 2160 Chroma subsampling: 4:2:0 Raw Image Orientation = Landscape Number of Img components = 3 Component[1]: ID=0x01, Samp Fac=0x22 (Subsamp 1 x 1), Quant Tbl Sel=0x00 (Lum: Y) Component[2]: ID=0x02, Samp Fac=0x11 (Subsamp 2 x 2), Quant Tbl Sel=0x01 (Chrom: Cb) Component[3]: ID=0x03, Samp Fac=0x11 (Subsamp 2 x 2), Quant Tbl Sel=0x01 (Chrom: Cr) [4, Debug] rocjpeg_parser.cpp:515: 2274381594802 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] ParseDHT(): *** Marker: DHT (Define Huffman Table) (xFFC4) *** OFFSET: 0x00001333 Huffman table length = 31 ---- Destination ID = 0 Class = 0 (DC / Lossless Table) Codes of length 01 bits (000 total): Codes of length 02 bits (002 total): 03 04 Codes of length 03 bits (002 total): 01 02 Codes of length 04 bits (003 total): 00 05 06 Codes of length 05 bits (001 total): 07 Codes of length 06 bits (001 total): 08 Codes of length 07 bits (001 total): 09 Codes of length 08 bits (001 total): 0A Codes of length 09 bits (001 total): 0B Codes of length 0A bits (000 total): Codes of length 11 bits (000 total): Codes of length 12 bits (000 total): Codes of length 13 bits (000 total): Codes of length 14 bits (000 total): Codes of length 15 bits (000 total): Codes of length 16 bits (000 total): Total number of codes: 012 [4, Debug] rocjpeg_parser.cpp:515: 2274381594816 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] ParseDHT(): *** Marker: DHT (Define Huffman Table) (xFFC4) *** OFFSET: 0x00001354 Huffman table length = 91 ---- Destination ID = 0 Class = 1 (AC Table) Codes of length 01 bits (000 total): Codes of length 02 bits (002 total): 01 02 Codes of length 03 bits (001 total): 11 Codes of length 04 bits (002 total): 03 21 Codes of length 05 bits (004 total): 00 04 12 31 Codes of length 06 bits (003 total): 05 41 51 Codes of length 07 bits (005 total): 06 13 22 61 71 Codes of length 08 bits (005 total): 32 81 91 A1 D1 Codes of length 09 bits (005 total): 07 52 B1 C1 F0 Codes of length 0A bits (005 total): 08 14 23 42 E1 Codes of length 0B bits (005 total): 62 72 92 A2 D2 Codes of length 0C bits (007 total): 09 15 33 53 82 E2 F1 Codes of length 0D bits (002 total): 24 B2 Codes of length 0E bits (001 total): C2 Codes of length 0F bits (002 total): 16 43 Codes of length 10 bits (023 total): 93 63 D3 0A 17 25 73 A3 34 54 83 18 19 B3 26 27 44 F2 35 64 C3 E3 46 Total number of codes: 072 [4, Debug] rocjpeg_parser.cpp:515: 2274381594829 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] ParseDHT(): *** Marker: DHT (Define Huffman Table) (xFFC4) *** OFFSET: 0x000013B1 Huffman table length = 29 ---- Destination ID = 1 Class = 0 (DC / Lossless Table) Codes of length 01 bits (001 total): 00 Codes of length 02 bits (000 total): Codes of length 03 bits (003 total): 01 02 03 Codes of length 04 bits (001 total): 04 Codes of length 05 bits (001 total): 05 Codes of length 06 bits (001 total): 06 Codes of length 07 bits (001 total): 07 Codes of length 08 bits (001 total): 08 Codes of length 09 bits (001 total): 09 Codes of length 0A bits (000 total): Codes of length 11 bits (000 total): Codes of length 12 bits (000 total): Codes of length 13 bits (000 total): Codes of length 14 bits (000 total): Codes of length 15 bits (000 total): Codes of length 16 bits (000 total): Total number of codes: 010 [4, Debug] rocjpeg_parser.cpp:515: 2274381594842 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] ParseDHT(): *** Marker: DHT (Define Huffman Table) (xFFC4) *** OFFSET: 0x000013D0 Huffman table length = 83 ---- Destination ID = 1 Class = 1 (AC Table) Codes of length 01 bits (000 total): Codes of length 02 bits (001 total): 01 Codes of length 03 bits (001 total): 11 Codes of length 04 bits (004 total): 00 02 21 61 Codes of length 05 bits (007 total): 03 31 41 51 71 91 F0 Codes of length 06 bits (006 total): 12 22 52 81 A1 D1 Codes of length 07 bits (004 total): 04 62 B1 E1 Codes of length 08 bits (005 total): 13 32 82 A2 C1 Codes of length 09 bits (004 total): 05 42 92 F1 Codes of length 0A bits (000 total): Codes of length 11 bits (004 total): 06 14 23 72 Codes of length 0C bits (004 total): 07 33 53 B2 Codes of length 0D bits (005 total): 15 43 C2 D2 E2 Codes of length 0E bits (001 total): 16 Codes of length 0F bits (001 total): 63 Codes of length 10 bits (017 total): 93 24 34 54 08 73 83 17 18 44 A3 35 F2 25 74 B3 D3 Total number of codes: 064 [4, Debug] rocjpeg_parser.cpp:606: 2274381594856 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] ParseSOS(): *** Marker: SOS (Start of Scan) (xFFDA) *** OFFSET: 0x00001425 Scan header length = 12 Number of img components = 3 Component[1]: selector=0x01, table=0(DC),0(AC) Component[2]: selector=0x02, table=1(DC),1(AC) Component[3]: selector=0x03, table=1(DC),1(AC) Spectral selection = 0 .. 63 Successive approximation = 0x00 [4, Debug] rocjpeg_parser.cpp:669: 2274381595378 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] ParseEOI(): *** Marker: EOI (End of Image) (xFFD9) *** OFFSET: 0x0023B4E1 [3, Info] rocjpeg_parser.cpp:48: 2274381595383 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] ParseJpegStream( 0x70b1f41c4010, 2340067 ): exit (649 us) ... [3, Info] rocjpeg_api.cpp:75: 2274381595386 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] rocJpegStreamParse( 0x70b1f41c4010, 2340067, 0x55f2ebfec840 ): exit (655 us) ... [3, Info] rocjpeg_api.cpp:188: 2274381595393 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] rocJpegGetImageInfo( 0x55f2ebf6dde0, 0x55f2ebfec840, 0x7fff0596b82a, 0x7fff0596b728, 0x7fff0596b810, 0x7fff0596b800 ): entry ... [3, Info] rocjpeg_decoder.cpp:332: 2274381595397 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] GetImageInfo( 0x55f2ebfec840, 0x7fff0596b82a, 0x7fff0596b728, 0x7fff0596b810, 0x7fff0596b800 ): entry ... [3, Info] rocjpeg_decoder.cpp:332: 2274381595400 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] GetImageInfo( 0x55f2ebfec840, 0x7fff0596b82a, 0x7fff0596b728, 0x7fff0596b810, 0x7fff0596b800 ): exit (3 us) ... [3, Info] rocjpeg_api.cpp:188: 2274381595403 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] rocJpegGetImageInfo( 0x55f2ebf6dde0, 0x55f2ebfec840, 0x7fff0596b82a, 0x7fff0596b728, 0x7fff0596b810, 0x7fff0596b800 ): exit (10 us) ... Input image resolution: 3840x2160 Chroma subsampling: YUV 4:2:0 Decoding started, please wait! ... [3, Info] rocjpeg_api.cpp:222: 2274381595488 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] rocJpegDecode( 0x55f2ebf6dde0, 0x55f2ebfec840, 0x7fff0596b6c0, 0x7fff0596b6e0 ): entry ... [3, Info] rocjpeg_decoder.cpp:120: 2274381595492 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] Decode( 0x55f2ebfec840, 0x7fff0596b6c0, 0x7fff0596b6e0 ): entry ... [3, Info] rocjpeg_decoder.cpp:120: 2274381607931 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] Decode( 0x55f2ebfec840, 0x7fff0596b6c0, 0x7fff0596b6e0 ): exit (12439 us) ... [3, Info] rocjpeg_api.cpp:222: 2274381607937 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] rocJpegDecode( 0x55f2ebf6dde0, 0x55f2ebfec840, 0x7fff0596b6c0, 0x7fff0596b6e0 ): exit (12449 us) ... Average processing time per image (ms): 12.4542 Average images per sec: 80.2941 [3, Info] rocjpeg_api.cpp:154: 2274381608091 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] rocJpegDestroy( 0x55f2ebf6dde0 ): entry ... [3, Info] rocjpeg_api.cpp:154: 2274381610464 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] rocJpegDestroy( 0x55f2ebf6dde0 ): exit (2373 us) ... [3, Info] rocjpeg_api.cpp:99: 2274381610471 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] rocJpegStreamDestroy( 0x55f2ebfec840 ): entry ... [3, Info] rocjpeg_api.cpp:99: 2274381610474 us: [pid:1740825 tid:1740825 hashid:0xbc0a7] rocJpegStreamDestroy( 0x55f2ebfec840 ): exit (3 us) ... Decoding completed! ``` ## Technical Details <!-- Explain the changes along with any relevant GitHub links. --> ## JIRA ID <!-- If applicable, mention the JIRA ID resolved by this PR (Example: Resolves SWDEV-12345). --> <!-- Do not post any JIRA links here. --> ## Test Plan <!-- Explain any relevant testing done to verify this PR. --> ## Test Result <!-- Briefly summarize test outcomes. --> ## Submission Checklist - [ ] Look over the contributing guidelines at https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
AryanSalmanpour
pushed a commit
that referenced
this pull request
Jun 26, 2026
## Motivation
The unit tests fails in an asan build currently, since `asan.so` is not
set in the LD_PRELOAD. This PR fixes that issue.
## Technical Details
Check for an ASAN environment first, and if enabled, finds the `asan.so`
in the environment and adds it to the LD_PRELOAD path
## JIRA ID
ROCM-26593
## Test Plan
Run ctests on regular build and ASAN
## Test Result
On a non ASAN build.
```
lakshmi@kapu:~/work/rocdecode-test$ cmake $ROCM_PATH/share/rocdecode/test
-- The C compiler identification is Clang 23.0.0
-- The CXX compiler identification is Clang 23.0.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- rocdecode-test: rocdecode found with find_package(rocdecode QUIET)
-- rocdecode_INCLUDE_DIR -- /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/include
-- rocdecode_LIB_DIR -- /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib
-- rocdecode_LIBRARY -- /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/librocdecode.so
-- rocdecode_FOUND -- 1
-- rocdecode_VERSION -- 1.8.0
-- rocdecode_VERSION_MAJOR -- 1
-- rocdecode_VERSION_MINOR -- 8
-- rocdecode_VERSION_PATCH -- 0
-- rocdecode-test: rocdecode-host found with find_package(rocdecode-host QUIET)
-- rocdecode-host_INCLUDE_DIR -- /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/include
-- rocdecode-host_LIB_DIR -- /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib
-- rocdecode-host_LIBRARY -- /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/librocdecode-host.so
-- rocdecode-host_FOUND -- 1
-- rocdecode-host_VERSION -- 1.0.0
-- rocdecode-host_VERSION_MAJOR -- 1
-- rocdecode-host_VERSION_MINOR -- 0
-- rocdecode-host_VERSION_PATCH -- 0
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2")
-- Checking for module 'libavcodec'
-- Found libavcodec, version 58.134.100
-- Checking for module 'libavformat'
-- Found libavformat, version 58.76.100
-- Checking for module 'libavutil'
-- Found libavutil, version 56.70.100
-- Using FFMPEG --
Libraries:/usr/lib/x86_64-linux-gnu/libavcodec.so;/usr/lib/x86_64-linux-gnu/libavformat.so;/usr/lib/x86_64-linux-gnu/libavutil.so
Includes:/usr/include/x86_64-linux-gnu
-- Configuring done
-- Generating done
-- Build files have been written to: /home/lakshmi/work/rocdecode-test
(rock_0408) lakshmi@kapu:~/work/rocdecode-test$ ctest -VV
UpdateCTestConfiguration from :/home/lakshmi/work/rocdecode-test/DartConfiguration.tcl
Parse Config file:/home/lakshmi/work/rocdecode-test/DartConfiguration.tcl
UpdateCTestConfiguration from :/home/lakshmi/work/rocdecode-test/DartConfiguration.tcl
Parse Config file:/home/lakshmi/work/rocdecode-test/DartConfiguration.tcl
Test project /home/lakshmi/work/rocdecode-test
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 1
Start 1: video_decodeRaw-HEVC
1: Test command: /usr/local/bin/ctest "--build-and-test" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/samples/videoDecodeRaw" "/home/lakshmi/work/rocdecode-test/videoDecodeRaw-HEVC" "--build-generator" "Unix Makefiles" "--test-command" "videodecoderaw" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/video/AMD_driving_virtual_20-H265.265"
1: Working Directory: /home/lakshmi/work/rocdecode-test
1: Environment variables:
1: LD_PRELOAD=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va.so.2:/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va-drm.so.2
1: LIBVA_DRIVERS_PATH=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib
1: Test timeout computed to be: 1500
1: Internal cmake changing into directory: /home/lakshmi/work/rocdecode-test/videoDecodeRaw-HEVC
1: ======== CMake output ======
1: The C compiler identification is Clang 23.0.0
1: The CXX compiler identification is Clang 23.0.0
1: Detecting C compiler ABI info
1: Detecting C compiler ABI info - done
1: Check for working C compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang - skipped
1: Detecting C compile features
1: Detecting C compile features - done
1: Detecting CXX compiler ABI info
1: Detecting CXX compiler ABI info - done
1: Check for working CXX compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang++ - skipped
1: Detecting CXX compile features
1: Detecting CXX compile features - done
1: HIP: Using hipcc from relative path: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/bin/hipcc
1: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS
1: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS - Success
1: Configuring done
1: Generating done
1: Build files have been written to: /home/lakshmi/work/rocdecode-test/videoDecodeRaw-HEVC
1: ======== End CMake output ======
1: Change Dir: /home/lakshmi/work/rocdecode-test/videoDecodeRaw-HEVC
1:
1: Run Clean Command:/usr/bin/gmake -f Makefile clean
1:
1: Run Build Command(s):/usr/bin/gmake -f Makefile && [ 33%] Building CXX object CMakeFiles/videodecoderaw.dir/videodecoderaw.cpp.o
1: [ 66%] Building CXX object CMakeFiles/videodecoderaw.dir/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/utils/rocvideodecode/roc_video_dec.cpp.o
1: [100%] Linking CXX executable videodecoderaw
1: [100%] Built target videodecoderaw
1:
1: Running test command: "/home/lakshmi/work/rocdecode-test/videoDecodeRaw-HEVC/videodecoderaw" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/video/AMD_driving_virtual_20-H265.265"
1: info: Input file: AMD_driving_virtual_20-H265.265
1: info: Using built-in bitstream reader
1: info: Using GPU device 0 - AMD Radeon RX 7900 XT[gfx1100] on PCI bus 03:00.0
1: info: decoding started, please wait!
1: Input Video Information
1: Codec : H.265/HEVC
1: Frame rate : 30000/1001 = 29.97 fps
1: Sequence : Progressive
1: Coded size : [2048, 1024]
1: Display area : [0, 0, 2048, 1024]
1: Chroma : YUV 420
1: Bit depth : 8
1: Video Decoding Params:
1: Num Surfaces : 7
1: Crop : [0, 0, 2048, 1024]
1: Resize : 2048x1024
1:
1: info: Total pictures decoded: 601
1: info: Total frames output/displayed: 601
1: info: avg decoding time per picture: 1.02047 ms
1: info: avg decode FPS: 979.937
1: info: avg output/display time per frame: 1.02047 ms
1: info: avg output/display FPS: 979.937
1:
1/6 Test #1: video_decodeRaw-HEVC ............. Passed 3.91 sec
test 2
Start 2: video_decodeRaw-AVC
2: Test command: /usr/local/bin/ctest "--build-and-test" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/samples/videoDecodeRaw" "/home/lakshmi/work/rocdecode-test/videoDecodeRaw-AVC" "--build-generator" "Unix Makefiles" "--test-command" "videodecoderaw" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/video/AMD_driving_virtual_20-H264.264"
2: Working Directory: /home/lakshmi/work/rocdecode-test
2: Environment variables:
2: LD_PRELOAD=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va.so.2:/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va-drm.so.2
2: LIBVA_DRIVERS_PATH=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib
2: Test timeout computed to be: 1500
2: Internal cmake changing into directory: /home/lakshmi/work/rocdecode-test/videoDecodeRaw-AVC
2: ======== CMake output ======
2: The C compiler identification is Clang 23.0.0
2: The CXX compiler identification is Clang 23.0.0
2: Detecting C compiler ABI info
2: Detecting C compiler ABI info - done
2: Check for working C compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang - skipped
2: Detecting C compile features
2: Detecting C compile features - done
2: Detecting CXX compiler ABI info
2: Detecting CXX compiler ABI info - done
2: Check for working CXX compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang++ - skipped
2: Detecting CXX compile features
2: Detecting CXX compile features - done
2: HIP: Using hipcc from relative path: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/bin/hipcc
2: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS
2: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS - Success
2: Configuring done
2: Generating done
2: Build files have been written to: /home/lakshmi/work/rocdecode-test/videoDecodeRaw-AVC
2: ======== End CMake output ======
2: Change Dir: /home/lakshmi/work/rocdecode-test/videoDecodeRaw-AVC
2:
2: Run Clean Command:/usr/bin/gmake -f Makefile clean
2:
2: Run Build Command(s):/usr/bin/gmake -f Makefile && [ 33%] Building CXX object CMakeFiles/videodecoderaw.dir/videodecoderaw.cpp.o
2: [ 66%] Building CXX object CMakeFiles/videodecoderaw.dir/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/utils/rocvideodecode/roc_video_dec.cpp.o
2: [100%] Linking CXX executable videodecoderaw
2: [100%] Built target videodecoderaw
2:
2: Running test command: "/home/lakshmi/work/rocdecode-test/videoDecodeRaw-AVC/videodecoderaw" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/video/AMD_driving_virtual_20-H264.264"
2: info: Input file: AMD_driving_virtual_20-H264.264
2: info: Using built-in bitstream reader
2: info: Using GPU device 0 - AMD Radeon RX 7900 XT[gfx1100] on PCI bus 03:00.0
2: info: decoding started, please wait!
2: Input Video Information
2: Codec : AVC/H.264
2: Frame rate : 60000/2002 = 29.97 fps
2: Sequence : Progressive
2: Coded size : [2048, 1024]
2: Display area : [0, 0, 2048, 1024]
2: Chroma : YUV 420
2: Bit depth : 8
2: Video Decoding Params:
2: Num Surfaces : 7
2: Crop : [0, 0, 2048, 1024]
2: Resize : 2048x1024
2:
2: info: Total pictures decoded: 601
2: info: Total frames output/displayed: 601
2: info: avg decoding time per picture: 0.990579 ms
2: info: avg decode FPS: 1009.51
2: info: avg output/display time per frame: 0.990579 ms
2: info: avg output/display FPS: 1009.51
2:
2/6 Test #2: video_decodeRaw-AVC .............. Passed 3.86 sec
test 3
Start 3: video_decodeRaw-AV1
3: Test command: /usr/local/bin/ctest "--build-and-test" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/samples/videoDecodeRaw" "/home/lakshmi/work/rocdecode-test/videoDecodeRaw-AV1" "--build-generator" "Unix Makefiles" "--test-command" "videodecoderaw" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/video/AMD_driving_virtual_20-AV1.ivf"
3: Working Directory: /home/lakshmi/work/rocdecode-test
3: Environment variables:
3: LD_PRELOAD=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va.so.2:/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va-drm.so.2
3: LIBVA_DRIVERS_PATH=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib
3: Test timeout computed to be: 1500
3: Internal cmake changing into directory: /home/lakshmi/work/rocdecode-test/videoDecodeRaw-AV1
3: ======== CMake output ======
3: The C compiler identification is Clang 23.0.0
3: The CXX compiler identification is Clang 23.0.0
3: Detecting C compiler ABI info
3: Detecting C compiler ABI info - done
3: Check for working C compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang - skipped
3: Detecting C compile features
3: Detecting C compile features - done
3: Detecting CXX compiler ABI info
3: Detecting CXX compiler ABI info - done
3: Check for working CXX compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang++ - skipped
3: Detecting CXX compile features
3: Detecting CXX compile features - done
3: HIP: Using hipcc from relative path: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/bin/hipcc
3: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS
3: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS - Success
3: Configuring done
3: Generating done
3: Build files have been written to: /home/lakshmi/work/rocdecode-test/videoDecodeRaw-AV1
3: ======== End CMake output ======
3: Change Dir: /home/lakshmi/work/rocdecode-test/videoDecodeRaw-AV1
3:
3: Run Clean Command:/usr/bin/gmake -f Makefile clean
3:
3: Run Build Command(s):/usr/bin/gmake -f Makefile && [ 33%] Building CXX object CMakeFiles/videodecoderaw.dir/videodecoderaw.cpp.o
3: [ 66%] Building CXX object CMakeFiles/videodecoderaw.dir/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/utils/rocvideodecode/roc_video_dec.cpp.o
3: [100%] Linking CXX executable videodecoderaw
3: [100%] Built target videodecoderaw
3:
3: Running test command: "/home/lakshmi/work/rocdecode-test/videoDecodeRaw-AV1/videodecoderaw" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/video/AMD_driving_virtual_20-AV1.ivf"
3: info: Input file: AMD_driving_virtual_20-AV1.ivf
3: info: Using built-in bitstream reader
3: info: Using GPU device 0 - AMD Radeon RX 7900 XT[gfx1100] on PCI bus 03:00.0
3: info: decoding started, please wait!
3: Input Video Information
3: Codec : AV1
3: Sequence : Progressive
3: Coded size : [2048, 1024]
3: Display area : [0, 0, 2048, 1024]
3: Chroma : YUV 420
3: Bit depth : 8
3: Video Decoding Params:
3: Num Surfaces : 12
3: Crop : [0, 0, 2048, 1024]
3: Resize : 2048x1024
3:
3: info: Total pictures decoded: 602
3: info: Total frames output/displayed: 601
3: info: avg decoding time per picture: 1.02181 ms
3: info: avg decode FPS: 978.654
3: info: avg output/display time per frame: 1.02351 ms
3: info: avg output/display FPS: 977.028
3:
3/6 Test #3: video_decodeRaw-AV1 .............. Passed 3.87 sec
test 4
Start 4: video_decodeRaw-VP9
4: Test command: /usr/local/bin/ctest "--build-and-test" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/samples/videoDecodeRaw" "/home/lakshmi/work/rocdecode-test/videoDecodeRaw-VP9" "--build-generator" "Unix Makefiles" "--test-command" "videodecoderaw" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/video/AMD_driving_virtual_20-VP9.ivf"
4: Working Directory: /home/lakshmi/work/rocdecode-test
4: Environment variables:
4: LD_PRELOAD=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va.so.2:/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va-drm.so.2
4: LIBVA_DRIVERS_PATH=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib
4: Test timeout computed to be: 1500
4: Internal cmake changing into directory: /home/lakshmi/work/rocdecode-test/videoDecodeRaw-VP9
4: ======== CMake output ======
4: The C compiler identification is Clang 23.0.0
4: The CXX compiler identification is Clang 23.0.0
4: Detecting C compiler ABI info
4: Detecting C compiler ABI info - done
4: Check for working C compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang - skipped
4: Detecting C compile features
4: Detecting C compile features - done
4: Detecting CXX compiler ABI info
4: Detecting CXX compiler ABI info - done
4: Check for working CXX compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang++ - skipped
4: Detecting CXX compile features
4: Detecting CXX compile features - done
4: HIP: Using hipcc from relative path: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/bin/hipcc
4: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS
4: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS - Success
4: Configuring done
4: Generating done
4: Build files have been written to: /home/lakshmi/work/rocdecode-test/videoDecodeRaw-VP9
4: ======== End CMake output ======
4: Change Dir: /home/lakshmi/work/rocdecode-test/videoDecodeRaw-VP9
4:
4: Run Clean Command:/usr/bin/gmake -f Makefile clean
4:
4: Run Build Command(s):/usr/bin/gmake -f Makefile && [ 33%] Building CXX object CMakeFiles/videodecoderaw.dir/videodecoderaw.cpp.o
4: [ 66%] Building CXX object CMakeFiles/videodecoderaw.dir/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/utils/rocvideodecode/roc_video_dec.cpp.o
4: [100%] Linking CXX executable videodecoderaw
4: [100%] Built target videodecoderaw
4:
4: Running test command: "/home/lakshmi/work/rocdecode-test/videoDecodeRaw-VP9/videodecoderaw" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/video/AMD_driving_virtual_20-VP9.ivf"
4: info: Input file: AMD_driving_virtual_20-VP9.ivf
4: info: Using built-in bitstream reader
4: info: Using GPU device 0 - AMD Radeon RX 7900 XT[gfx1100] on PCI bus 03:00.0
4: info: decoding started, please wait!
4: Input Video Information
4: Codec : VP9
4: Sequence : Progressive
4: Coded size : [2048, 1024]
4: Display area : [0, 0, 2048, 1024]
4: Chroma : YUV 420
4: Bit depth : 8
4: Video Decoding Params:
4: Num Surfaces : 12
4: Crop : [0, 0, 2048, 1024]
4: Resize : 2048x1024
4:
4: info: Total pictures decoded: 601
4: info: Total frames output/displayed: 601
4: info: avg decoding time per picture: 1.11495 ms
4: info: avg decode FPS: 896.899
4: info: avg output/display time per frame: 1.11495 ms
4: info: avg output/display FPS: 896.899
4:
4/6 Test #4: video_decodeRaw-VP9 .............. Passed 3.91 sec
test 5
Start 5: rocdec_Decode-HEVC
5: Test command: /usr/local/bin/ctest "--build-and-test" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/samples/rocdecDecode" "/home/lakshmi/work/rocdecode-test/rocdecDecode" "--build-generator" "Unix Makefiles" "--test-command" "rocdecdecode" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/frames"
5: Working Directory: /home/lakshmi/work/rocdecode-test
5: Environment variables:
5: LD_PRELOAD=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va.so.2:/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va-drm.so.2
5: LIBVA_DRIVERS_PATH=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib
5: Test timeout computed to be: 1500
5: Internal cmake changing into directory: /home/lakshmi/work/rocdecode-test/rocdecDecode
5: ======== CMake output ======
5: The C compiler identification is Clang 23.0.0
5: The CXX compiler identification is Clang 23.0.0
5: Detecting C compiler ABI info
5: Detecting C compiler ABI info - done
5: Check for working C compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang - skipped
5: Detecting C compile features
5: Detecting C compile features - done
5: Detecting CXX compiler ABI info
5: Detecting CXX compiler ABI info - done
5: Check for working CXX compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang++ - skipped
5: Detecting CXX compile features
5: Detecting CXX compile features - done
5: HIP: Using hipcc from relative path: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/bin/hipcc
5: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS
5: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS - Success
5: Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2")
5: Checking for module 'libavcodec'
5: Found libavcodec, version 58.134.100
5: Checking for module 'libavformat'
5: Found libavformat, version 58.76.100
5: Checking for module 'libavutil'
5: Found libavutil, version 56.70.100
5: -- Using FFMPEG --
5: Libraries:/usr/lib/x86_64-linux-gnu/libavcodec.so;/usr/lib/x86_64-linux-gnu/libavformat.so;/usr/lib/x86_64-linux-gnu/libavutil.so
5: Includes:/usr/include/x86_64-linux-gnu
5: Configuring done
5: Generating done
5: Build files have been written to: /home/lakshmi/work/rocdecode-test/rocdecDecode
5: ======== End CMake output ======
5: Change Dir: /home/lakshmi/work/rocdecode-test/rocdecDecode
5:
5: Run Clean Command:/usr/bin/gmake -f Makefile clean
5:
5: Run Build Command(s):/usr/bin/gmake -f Makefile && [ 50%] Building CXX object CMakeFiles/rocdecdecode.dir/rocdecdecode.cpp.o
5: [100%] Linking CXX executable rocdecdecode
5: [100%] Built target rocdecdecode
5:
5: Running test command: "/home/lakshmi/work/rocdecode-test/rocdecDecode/rocdecdecode" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/frames"
5: Read 53 frames from disk.
5: Input Video Information
5: Codec : 4
5: Frame rate : 30000/1001 = 29.97 fps
5: Sequence : Progressive
5: Coded size : [2048, 1024]
5: Display area : [0, 0, 2048, 1024]
5: Bit depth : 8
5: Total decoded frames in iteration 0: 53
5: Decoding time: 58858 microseconds
5: Success.
5:
5:
5:
5/6 Test #5: rocdec_Decode-HEVC ............... Passed 2.32 sec
test 6
Start 6: rocDecode_Negative_API_Tests
6: Test command: /usr/local/bin/ctest "--build-and-test" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/test/rocDecodeNegativeApiTests" "/home/lakshmi/work/rocdecode-test/rocdecodenegativetest" "--build-generator" "Unix Makefiles" "--test-command" "rocdecodenegativetest"
6: Working Directory: /home/lakshmi/work/rocdecode-test
6: Environment variables:
6: LD_PRELOAD=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va.so.2:/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va-drm.so.2
6: LIBVA_DRIVERS_PATH=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib
6: Test timeout computed to be: 1500
6: Internal cmake changing into directory: /home/lakshmi/work/rocdecode-test/rocdecodenegativetest
6: ======== CMake output ======
6: The C compiler identification is Clang 23.0.0
6: The CXX compiler identification is Clang 23.0.0
6: Detecting C compiler ABI info
6: Detecting C compiler ABI info - done
6: Check for working C compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang - skipped
6: Detecting C compile features
6: Detecting C compile features - done
6: Detecting CXX compiler ABI info
6: Detecting CXX compiler ABI info - done
6: Check for working CXX compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang++ - skipped
6: Detecting CXX compile features
6: Detecting CXX compile features - done
6: HIP: Using hipcc from relative path: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/bin/hipcc
6: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS
6: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS - Success
6: Configuring done
6: Generating done
6: Build files have been written to: /home/lakshmi/work/rocdecode-test/rocdecodenegativetest
6: ======== End CMake output ======
6: Change Dir: /home/lakshmi/work/rocdecode-test/rocdecodenegativetest
6:
6: Run Clean Command:/usr/bin/gmake -f Makefile clean
6:
6: Run Build Command(s):/usr/bin/gmake -f Makefile && [ 33%] Building CXX object CMakeFiles/rocdecodenegativetest.dir/rocdecodenegativetest.cpp.o
6: [ 66%] Building CXX object CMakeFiles/rocdecodenegativetest.dir/rocdecode_api_negative_tests.cpp.o
6: [100%] Linking CXX executable rocdecodenegativetest
6: [100%] Built target rocdecodenegativetest
6:
6: Running test command: "/home/lakshmi/work/rocdecode-test/rocdecodenegativetest/rocdecodenegativetest"
6: info: Executing negative test cases for the rocDecCreateDecoder API
6: [0, Critical] rocdecode_api.cpp:37: 849626476281 us: [pid:1526419 tid:1526419 hashid:0x91e74] rocDecCreateDecoder(): Null pointer
6: [0, Critical] roc_decoder.cpp:51: 849626476299 us: [pid:1526419 tid:1526419 hashid:0x91e74] InitializeDecoder(): Invalid number of decode surfaces.
6: [0, Critical] vaapi_videodecoder.cpp:1028: 849626508117 us: [pid:1526419 tid:1526419 hashid:0x91e74] InitHIP(): ERROR: the requested device_id is not found!
6: [0, Critical] vaapi_videodecoder.cpp:686: 849626508131 us: [pid:1526419 tid:1526419 hashid:0x91e74] GetVaContext(): Failed to initialize the HIP.
6: [0, Critical] vaapi_videodecoder.cpp:824: 849626508137 us: [pid:1526419 tid:1526419 hashid:0x91e74] CheckDecCapForCodecType(): Failed to initialize.
6: [0, Critical] rocdecode_api.cpp:90: 849626508143 us: [pid:1526419 tid:1526419 hashid:0x91e74] rocDecGetDecoderCaps(): Error: Failed to obtain decoder capabilities from driver.
6: [0, Critical] vaapi_videodecoder.cpp:130: 849626508148 us: [pid:1526419 tid:1526419 hashid:0x91e74] InitializeDecoder(): The codec config combination is not supported.
6: [0, Critical] roc_decoder.cpp:61: 849626508153 us: [pid:1526419 tid:1526419 hashid:0x91e74] InitializeDecoder(): Failed to initialize the VAAPI Video decoder.
6: [0, Critical] vaapi_videodecoder.cpp:130: 849626509822 us: [pid:1526419 tid:1526419 hashid:0x91e74] InitializeDecoder(): The codec config combination is not supported.
6: [0, Critical] roc_decoder.cpp:61: 849626509829 us: [pid:1526419 tid:1526419 hashid:0x91e74] InitializeDecoder(): Failed to initialize the VAAPI Video decoder.
6: [0, Critical] vaapi_videodecoder.cpp:130: 849626509835 us: [pid:1526419 tid:1526419 hashid:0x91e74] InitializeDecoder(): The codec config combination is not supported.
6: [0, Critical] roc_decoder.cpp:61: 849626509838 us: [pid:1526419 tid:1526419 hashid:0x91e74] InitializeDecoder(): Failed to initialize the VAAPI Video decoder.
6: [0, Critical] vaapi_videodecoder.cpp:130: 849626509849 us: [pid:1526419 tid:1526419 hashid:0x91e74] InitializeDecoder(): The codec config combination is not supported.
6: [0, Critical] roc_decoder.cpp:61: 849626509852 us: [pid:1526419 tid:1526419 hashid:0x91e74] InitializeDecoder(): Failed to initialize the VAAPI Video decoder.
6: [0, Critical] vaapi_videodecoder.cpp:894: 849626509858 us: [pid:1526419 tid:1526419 hashid:0x91e74] CheckDecCapForCodecType(): VAAPI failure: vaCreateConfig(va_contexts_[va_ctx_id].va_display, va_contexts_[va_ctx_id].va_profile, VAEntrypointVLD, &va_config_attrib, 1, &va_contexts_[va_ctx_id].va_config_id) failed with 'status: 13: the requested VAEntryPoint is not supported' at /home/lakshmi/work/rocm-systems/projects/rocdecode/src/rocdecode/vaapi/vaapi_videodecoder.cpp:894
6: [0, Critical] rocdecode_api.cpp:90: 849626509865 us: [pid:1526419 tid:1526419 hashid:0x91e74] rocDecGetDecoderCaps(): Error: Failed to obtain decoder capabilities from driver.
6: [0, Critical] vaapi_videodecoder.cpp:130: 849626509868 us: [pid:1526419 tid:1526419 hashid:0x91e74] InitializeDecoder(): The codec config combination is not supported.
6: [0, Critical] roc_decoder.cpp:61: 849626509870 us: [pid:1526419 tid:1526419 hashid:0x91e74] InitializeDecoder(): Failed to initialize the VAAPI Video decoder.
6: info: Executing negative test cases for the rocDecDestroyDecoder API
6: info: Executing negative test cases for the rocDecGetDecoderCaps API
6: info: Executing negative test cases for the rocDecDecodeFrame API
6: info: Executing negative test cases for the rocDecGetDecodeStatus API
6: info: Executing negative test cases for the rocDecReconfigureDecoder API
6: info: Executing negative test cases for the rocDecGetVideoFrame API
6: info: Executing negative test cases for the rocDecGetErrorName API
6: info: Executing negative test cases for the rocDecCreateVideoParser API
6: [0, Critical] roc_decoder.cpp:124: 849626510695 us: [pid:1526419 tid:1526419 hashid:0x91e74] GetVideoFrame(): Invalid parameters.
6: [0, Critical] rocparser_api.cpp:44: 849626510705 us: [pid:1526419 tid:1526419 hashid:0x91e74] rocDecCreateVideoParser(): Error: The current version of rocDecode officially supports only the H.265 (HEVC), H.264 (AVC), AV1 and VP9 codecs.
6: info: Executing negative test cases for the rocDecParseVideoData API
6: info: Executing negative test cases for the rocDecDestroyVideoParser API
6: info: Executing negative test cases for the rocDecCreateBitstreamReader API
6: info: Executing negative test cases for the rocDecGetBitstreamCodecType API
6: info: Executing negative test cases for the rocDecGetBitstreamBitDepth API
6: [0, Critical] roc_bs_reader_api.cpp:31: 849626511165 us: [pid:1526419 tid:1526419 hashid:0x91e74] rocDecCreateBitstreamReader(): Null pointer
6: [0, Critical] roc_bs_reader_api.cpp:31: 849626511169 us: [pid:1526419 tid:1526419 hashid:0x91e74] rocDecCreateBitstreamReader(): Null pointer
6: [0, Critical] roc_bs_reader_api.cpp:52: 849626511174 us: [pid:1526419 tid:1526419 hashid:0x91e74] rocDecGetBitstreamCodecType(): Null pointer
6: [0, Critical] roc_bs_reader_api.cpp:52: 849626511177 us: [pid:1526419 tid:1526419 hashid:0x91e74] rocDecGetBitstreamCodecType(): Null pointer
6: [0, Critical] roc_bs_reader_api.cpp:74: 849626511182 us: [pid:1526419 tid:1526419 hashid:0x91e74] rocDecGetBitstreamBitDepth(): Null pointer
6: [0, Critical] roc_bs_reader_api.cpp:74: 849626511185 us: [pid:1526419 tid:1526419 hashid:0x91e74] rocDecGetBitstreamBitDepth(): Null pointer
6: [0, Critical] roc_bs_reader_api.cpp:96: 849626511189 us: [pid:1526419 tid:1526419 hashid:0x91e74] rocDecGetBitstreamPicData(): Null pointer
6: [0, Critical] roc_bs_reader_api.cpinfo: Executing negative test cases for the rocDecGetBitstreamPicData API
6: info: Executing negative test cases for the rocDecDestroyBitstreamReader API
6: Test Passed!
6: p:96: 849626511193 us: [pid:1526419 tid:1526419 hashid:0x91e74] rocDecGetBitstreamPicData(): Null pointer
6: [0, Critical] roc_bs_reader_api.cpp:118: 849626511197 us: [pid:1526419 tid:1526419 hashid:0x91e74] rocDecDestroyBitstreamReader(): Null pointer
6:
6/6 Test #6: rocDecode_Negative_API_Tests ..... Passed 1.99 sec
100% tests passed, 0 tests failed out of 6
Total Test time (real) = 19.86 sec
```
## Submission Checklist
- [ ] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
abouteiller
added a commit
that referenced
this pull request
Jun 26, 2026
## Motivation
On certain test systems we do not have a shared filesystem, the
deadlock_analysis script harness would depend on a shared filesystem to
collect traces and artifacts. Remove that limitation.
## Technical Details
Use MPI stdout redirection to coalesce the trace artifacts to the
headnode in a headnode local output directory, perform analysis on the
headnode.
Prior filesystem based mode remains available and default.
## JIRA ID
## Test Plan
Intentionally added a deadlock to a functional test, compiled with
Debug.
Run mpiexec_deadlock_attach script and observe artifacts.
## Test Result
```
ROCSHMEM_DEBUG_LEVEL=trace:stats ~/ompi/bin/mpirun -n 2 tests/functional_tests/rocshmem_functional_tests -n 1 -a 26 & (sleep 2; /home/abouteil/rocm-systems/projects/rocshmem/scripts/debug/mpiexec_deadlock_analysis.sh rocshmem_functional_tests --stats --color --no-shared-fs )
### Creating Test: Blocking WG level Puts B=ipc PE=2 W=1 Z=64 ###
Deploying deadlock analysis...
Executable: rocshmem_functional_tests
Output directory: ./rocshmem_deadlock_analysis_20260530_013437
Filesystem mode: no shared fs (--output-filename)
Stats: yes
Color: --color
Found 4 process(es) matching 'rocshmem_functional_tests': 717472 717473 751554 751555
Output directory: /tmp/rocshmem_deadlock_20260530_013437
Per-process timeout: 120s
Analyzing PID 717472 (PE 0) ... OK
Analyzing PID 717473 (PE 1) ... OK (no GPU threads)
Analyzing PID 751554 (PE 0) ... OK
Analyzing PID 751555 (PE 1) ... OK (no GPU threads)
=== Attach and Analyze Summary ===
Processes analyzed: 4 / 4
PE 0 PID 751554 groups=1 \033[1;31m1\033[0m wf(s) in rocSHMEM; \033[1;36mWaiting for remote PE memory update (barrier/sync or user rocshmem_wait_until). Check if the remote PE is alive and making progress. (at: #0 0x0000792efa5af3c8 in rocshmem::Context::wait_until<long> (this=0x792eed407000, ivars=0x792efac04008, cmp=0, val=1) at src/context_tmpl_device.hpp:224)\033[0m
PE 1 PID 751555 groups=? (no GPU threads found)
=== BEGIN FILE: pe0_pid_717472.txt ===
[New LWP 717493]
[New LWP 717490]
[New LWP 717488]
[New LWP 717485]
[New LWP 717481]
[New LWP 717480]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x000077a09e06695f in ?? () from /opt/rocm-7.2.1/lib/libhsa-runtime64.so.1
=== rocSHMEM Deadlock Analysis ===
Process(es): 717472
Total GPU wavefronts analyzed: 1
Unique backtrace groups: 1
--- Group 1 (1 wavefront(s)) ---
WFs: (0,0,0)/0
Backtrace:
#0 0x0000776005fafce0 in rocshmem::uncached_load<long volatile> (src=0x776006604008) at src/assembly.hpp:125
#1 rocshmem::Context::test<long> (this=0x775ff8e07000, ivars=0x776006604008, cmp=0, val=1) at src/context_tmpl_device.hpp:432
#2 rocshmem::Context::wait_until<long> (this=0x775ff8e07000, ivars=0x776006604008, cmp=0, val=1) at src/context_tmpl_device.hpp:224
#3 rocshmem::IPCContext::internal_direct_barrier (this=0x775ff8e07000, pe=0, PE_start=0, stride=1, n_pes=2, pSync=0x776006604000) at build/src/ipc/context_ipc_device_coll.cpp:44
#4 0x0000776005fb7c24 in rocshmem::IPCContext::internal_sync_wg (this=0x775ff8e07000, pe=0, PE_start=0, stride=1, PE_size=2, pSync=0x776006604000) at build/src/ipc/context_ipc_device_coll.cpp:115
#5 0x000077600603d018 in rocshmem::IPCContext::sync_all_wg (this=0x775ff8e07000) at build/src/ipc/context_ipc_device_coll.cpp:168
#6 0x000077600603d558 in rocshmem::IPCContext::barrier_all_wg (this=0x775ff8e07000) at build/src/ipc/context_ipc_device_coll.cpp:187
#7 0x000077600603dedc in rocshmem::Context::barrier_all_wg (this=0x775ff8e07000) at build/src/context_device.cpp:151
#8 0x000077600603e33c in rocshmem::rocshmem_barrier_all_wg () at build/src/rocshmem_gpu.cpp:885
#9 0x00007760060437cc in WorkGroupPrimitiveTest (loop=1, skip=10, start_time=0x775ff8e31000, end_time=0x775ff8e32000, source=0x776013c00480 "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqr"..., dest=0x776013d00500 "1", size=1, type=WGPutTestType, ctx_type=4) at /home/abouteil/rocm-systems/projects/rocshmem/tests/functional_tests/workgroup_primitives.cpp:72
[HINT] Waiting for remote PE memory update (barrier/sync or user rocshmem_wait_until). Check if the remote PE is alive and making progress. (at: #2 rocshmem::Context::wait_until<long> (this=0x775ff8e07000, ivars=0x776006604008, cmp=0, val=1) at src/context_tmpl_device.hpp:224)
...
=== END FILE: pe1_pid_751555.txt ===
Reconstructing per-PE output files from mpiexec output...
Reconstructed output from 1 rank file(s).
Running cross-rank coalescing pass...
=== Cross-Rank Deadlock Analysis ===
Directory: ./rocshmem_deadlock_analysis_20260530_013437
Ranks with analysis files: 2 (0, 1)
Unique backtrace patterns: 2
--- Pattern 1 [UNIQUE: rank 0] ---
Ranks: 0
Total wavefronts: 1
Backtrace:
#0 0x0000776005fafce0 in rocshmem::uncached_load<long volatile> (src=0x776006604008) at src/assembly.hpp:125
#1 rocshmem::Context::test<long> (this=0x775ff8e07000, ivars=0x776006604008, cmp=0, val=1) at src/context_tmpl_device.hpp:432
#2 rocshmem::Context::wait_until<long> (this=0x775ff8e07000, ivars=0x776006604008, cmp=0, val=1) at src/context_tmpl_device.hpp:224
#3 rocshmem::IPCContext::internal_direct_barrier (this=0x775ff8e07000, pe=0, PE_start=0, stride=1, n_pes=2, pSync=0x776006604000) at build/src/ipc/context_ipc_device_coll.cpp:44
#4 0x0000776005fb7c24 in rocshmem::IPCContext::internal_sync_wg (this=0x775ff8e07000, pe=0, PE_start=0, stride=1, PE_size=2, pSync=0x776006604000) at build/src/ipc/context_ipc_device_coll.cpp:115
#5 0x000077600603d018 in rocshmem::IPCContext::sync_all_wg (this=0x775ff8e07000) at build/src/ipc/context_ipc_device_coll.cpp:168
#6 0x000077600603d558 in rocshmem::IPCContext::barrier_all_wg (this=0x775ff8e07000) at build/src/ipc/context_ipc_device_coll.cpp:187
#7 0x000077600603dedc in rocshmem::Context::barrier_all_wg (this=0x775ff8e07000) at build/src/context_device.cpp:151
#8 0x000077600603e33c in rocshmem::rocshmem_barrier_all_wg () at build/src/rocshmem_gpu.cpp:885
#9 0x00007760060437cc in WorkGroupPrimitiveTest (loop=1, skip=10, start_time=0x775ff8e31000, end_time=0x775ff8e32000, source=0x776013c00480 "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqr"..., dest=0x776013d00500 "1", size=1, type=WGPutTestType, ctx_type=4) at /home/abouteil/rocm-systems/projects/rocshmem/tests/functional_tests/workgroup_primitives.cpp:72
[HINT] Waiting for remote PE memory update (barrier/sync or user rocshmem_wait_until). Check if the remote PE is alive and making progress. (at: #2 rocshmem::Context::wait_until<long> (this=0x775ff8e07000, ivars=0x776006604008, cmp=0, val=1) at src/context_tmpl_device.hpp:224)
=== Per-Rank rocSHMEM Wavefront Count ===
Rank 0: 2 wf(s) inside rocSHMEM
Rank 1: 0 wf(s) inside rocSHMEM
=== Summary ===
0 pattern(s) common to all 2 rank(s)
1 pattern(s) present in exactly one rank
Most common hint: Waiting for remote PE memory update (barrier/sync or user rocshmem_wait_until). Check if the remote PE is alive and making progress. (at: #2 rocshmem::Context::wait_until<long> (this=0x775ff8e07000, ivars=0x776006604008, cmp=0, val=1) at src/context_tmpl_device.hpp:224)
```
abouteiller
added a commit
that referenced
this pull request
Jun 29, 2026
… progress tracker (#6616) ## Motivation When the program deadlocks it can be hard to know how much work was performed thus far, for example did it deadlock after only a couple of communication calls or after a long time, is there only 1 call of 1 type? etc. ## Technical Details builds with PROFILE=ON can produce call statistics (slowing down execution btw), this can be triggered from the gdb attachement to get the stat dump. ## JIRA ID <!-- If applicable, mention the JIRA ID resolved by this PR (Example: Resolves SWDEV-12345). --> <!-- Do not post any JIRA links here. --> ## Test Plan modified a functional test to intentionally deadlock. build with Debug and PROFILE=ON. ``` ROCSHMEM_DEBUG_LEVEL=trace:stats ~/ompi/bin/mpirun -n 2 tests/functional_tests/rocshmem_functional_tests -n 1 -a 26 & (sleep 2; ../scripts/debug/attach_deadlock_analysis.sh rocshmem_functional_tests --stats ) ``` Output file ``` === rocSHMEM Deadlock Analysis === Process(es): 845512 Total GPU wavefronts analyzed: 1 Unique backtrace groups: 1 --- Group 1 (1 wavefront(s)) --- WFs: (0,0,0)/0 Backtrace: #0 0x00007ae55f5afcf0 in rocshmem::uncached_load<long volatile> (src=0x7ae55fc04008) at src/assembly.hpp:125 #1 rocshmem::Context::test<long> (this=0x7ae552407000, ivars=0x7ae55fc04008, cmp=0, val=1) at src/context_tmpl_device.hpp:432 #2 rocshmem::Context::wait_until<long> (this=0x7ae552407000, ivars=0x7ae55fc04008, cmp=0, val=1) at src/context_tmpl_device.hpp:224 #3 rocshmem::IPCContext::internal_direct_barrier (this=0x7ae552407000, pe=0, PE_start=0, stride=1, n_pes=2, pSync=0x7ae55fc04000) at build/src/ipc/context_ipc_device_coll.cpp:44 #4 0x00007ae55f5b7c24 in rocshmem::IPCContext::internal_sync_wg (this=0x7ae552407000, pe=0, PE_start=0, stride=1, PE_size=2, pSync=0x7ae55fc04000) at build/src/ipc/context_ipc_device_coll.cpp:115 #5 0x00007ae55f63d018 in rocshmem::IPCContext::sync_all_wg (this=0x7ae552407000) at build/src/ipc/context_ipc_device_coll.cpp:168 #6 0x00007ae55f63d558 in rocshmem::IPCContext::barrier_all_wg (this=0x7ae552407000) at build/src/ipc/context_ipc_device_coll.cpp:187 #7 0x00007ae55f63dedc in rocshmem::Context::barrier_all_wg (this=0x7ae552407000) at build/src/context_device.cpp:151 #8 0x00007ae55f63e33c in rocshmem::rocshmem_barrier_all_wg () at build/src/rocshmem_gpu.cpp:885 #9 0x00007ae55f6437cc in WorkGroupPrimitiveTest (loop=1, skip=10, start_time=0x7ae552431000, end_time=0x7ae552432000, source=0x7ae56d200480 "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqr"..., dest=0x7ae56d300500 "1", size=1, type=WGPutTestType, ctx_type=4) at /home/abouteil/rocm-systems/projects/rocshmem/tests/functional_tests/workgroup_primitives.cpp:72 [HINT] Waiting for remote PE memory update (barrier/sync or user rocshmem_wait_until). Check if the remote PE is alive and making progress. (at: #2 rocshmem::Context::wait_until<long> (this=0x7ae552407000, ivars=0x7ae55fc04008, cmp=0, val=1) at src/context_tmpl_device.hpp:224) === rocSHMEM Stats === PE 0 (counters reflect activity since process start) Device: quiet 1 put_wg 704 Host: (all zero) === Summary === 1 wavefront(s) inside rocSHMEM 0 wavefront(s) in user code / other ``` Note the == rocshmem Stats == section contains the number of put and quiet calls. ## Submission Checklist - [ ] Look over the contributing guidelines at https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests. --------- Signed-off-by: Aurelien Bouteiller <aurelien.bouteiller@amd.com> Signed-off-by: Aurelien Bouteiller <abouteil@amd.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
LakshmiKumar23
added a commit
that referenced
this pull request
Jul 13, 2026
…samples (#8287) ## Motivation The JIRA ticket shows GPU arch is needed from HIP side even if the sample does not have arch specific code. Implementing this PR to avoid ASAN failures when gpu arch is not mentioned. ## Technical Details Add supported `GPU_TARGETS` for all samples ## JIRA ID ROCM-27712 ## Test Plan ctests must pass ## Test Result Test results on Navi31 system: ``` ~/work/rocm-systems/projects/rocdecode/build$ ctest -VV UpdateCTestConfiguration from :/home/lakshmi/work/rocm-systems/projects/rocdecode/build/DartConfiguration.tcl Parse Config file:/home/lakshmi/work/rocm-systems/projects/rocdecode/build/DartConfiguration.tcl UpdateCTestConfiguration from :/home/lakshmi/work/rocm-systems/projects/rocdecode/build/DartConfiguration.tcl Parse Config file:/home/lakshmi/work/rocm-systems/projects/rocdecode/build/DartConfiguration.tcl Test project /home/lakshmi/work/rocm-systems/projects/rocdecode/build Constructing a list of tests Done constructing a list of tests Updating test list for fixtures Added 0 tests to meet fixture requirements Checking test dependency graph... Checking test dependency graph end test 1 Start 1: video_decodeRaw-HEVC 1: Test command: /usr/local/bin/ctest "--build-and-test" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/samples/videoDecodeRaw" "/home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-HEVC" "--build-generator" "Unix Makefiles" "--test-command" "videodecoderaw" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/video/AMD_driving_virtual_20-H265.265" 1: Working Directory: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test 1: Environment variables: 1: LD_PRELOAD=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va.so.2:/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va-drm.so.2 1: LIBVA_DRIVERS_PATH=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib 1: Test timeout computed to be: 1500 1: Internal cmake changing into directory: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-HEVC 1: ======== CMake output ====== 1: The C compiler identification is Clang 23.0.0 1: The CXX compiler identification is Clang 23.0.0 1: Detecting C compiler ABI info 1: Detecting C compiler ABI info - done 1: Check for working C compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang - skipped 1: Detecting C compile features 1: Detecting C compile features - done 1: Detecting CXX compiler ABI info 1: Detecting CXX compiler ABI info - done 1: Check for working CXX compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang++ - skipped 1: Detecting CXX compile features 1: Detecting CXX compile features - done 1: -- videodecoderaw -- AMD GPU_TARGETS: gfx908;gfx90a;gfx942;gfx1030;gfx1031;gfx1032;gfx1100;gfx1101;gfx1102;gfx950;gfx1150;gfx1151;gfx1152;gfx1153;gfx1200;gfx1201;gfx1250 1: HIP: Using hipcc from relative path: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/bin/hipcc 1: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS 1: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS - Success 1: Configuring done 1: Generating done 1: Build files have been written to: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-HEVC 1: ======== End CMake output ====== 1: Change Dir: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-HEVC 1: 1: Run Clean Command:/usr/bin/gmake -f Makefile clean 1: 1: Run Build Command(s):/usr/bin/gmake -f Makefile && [ 33%] Building CXX object CMakeFiles/videodecoderaw.dir/videodecoderaw.cpp.o 1: [ 66%] Building CXX object CMakeFiles/videodecoderaw.dir/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/utils/rocvideodecode/roc_video_dec.cpp.o 1: [100%] Linking CXX executable videodecoderaw 1: [100%] Built target videodecoderaw 1: 1: Running test command: "/home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-HEVC/videodecoderaw" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/video/AMD_driving_virtual_20-H265.265" 1: info: Input file: AMD_driving_virtual_20-H265.265 1: info: Using built-in bitstream reader 1: info: Using GPU device 0 - AMD Radeon RX 7900 XT[gfx1100] on PCI bus 03:00.0 1: info: decoding started, please wait! 1: Input Video Information 1: Codec : H.265/HEVC 1: Frame rate : 30000/1001 = 29.97 fps 1: Sequence : Progressive 1: Coded size : [2048, 1024] 1: Display area : [0, 0, 2048, 1024] 1: Chroma : YUV 420 1: Bit depth : 8 1: Video Decoding Params: 1: Num Surfaces : 7 1: Crop : [0, 0, 2048, 1024] 1: Resize : 2048x1024 1: 1: info: Total pictures decoded: 601 1: info: Total frames output/displayed: 601 1: info: avg decoding time per picture: 1.00809 ms 1: info: avg decode FPS: 991.976 1: info: avg output/display time per frame: 1.00809 ms 1: info: avg output/display FPS: 991.976 1: 1/6 Test #1: video_decodeRaw-HEVC ............. Passed 3.89 sec test 2 Start 2: video_decodeRaw-AVC 2: Test command: /usr/local/bin/ctest "--build-and-test" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/samples/videoDecodeRaw" "/home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-AVC" "--build-generator" "Unix Makefiles" "--test-command" "videodecoderaw" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/video/AMD_driving_virtual_20-H264.264" 2: Working Directory: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test 2: Environment variables: 2: LD_PRELOAD=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va.so.2:/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va-drm.so.2 2: LIBVA_DRIVERS_PATH=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib 2: Test timeout computed to be: 1500 2: Internal cmake changing into directory: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-AVC 2: ======== CMake output ====== 2: The C compiler identification is Clang 23.0.0 2: The CXX compiler identification is Clang 23.0.0 2: Detecting C compiler ABI info 2: Detecting C compiler ABI info - done 2: Check for working C compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang - skipped 2: Detecting C compile features 2: Detecting C compile features - done 2: Detecting CXX compiler ABI info 2: Detecting CXX compiler ABI info - done 2: Check for working CXX compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang++ - skipped 2: Detecting CXX compile features 2: Detecting CXX compile features - done 2: -- videodecoderaw -- AMD GPU_TARGETS: gfx908;gfx90a;gfx942;gfx1030;gfx1031;gfx1032;gfx1100;gfx1101;gfx1102;gfx950;gfx1150;gfx1151;gfx1152;gfx1153;gfx1200;gfx1201;gfx1250 2: HIP: Using hipcc from relative path: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/bin/hipcc 2: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS 2: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS - Success 2: Configuring done 2: Generating done 2: Build files have been written to: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-AVC 2: ======== End CMake output ====== 2: Change Dir: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-AVC 2: 2: Run Clean Command:/usr/bin/gmake -f Makefile clean 2: 2: Run Build Command(s):/usr/bin/gmake -f Makefile && [ 33%] Building CXX object CMakeFiles/videodecoderaw.dir/videodecoderaw.cpp.o 2: [ 66%] Building CXX object CMakeFiles/videodecoderaw.dir/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/utils/rocvideodecode/roc_video_dec.cpp.o 2: [100%] Linking CXX executable videodecoderaw 2: [100%] Built target videodecoderaw 2: 2: Running test command: "/home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-AVC/videodecoderaw" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/video/AMD_driving_virtual_20-H264.264" 2: info: Input file: AMD_driving_virtual_20-H264.264 2: info: Using built-in bitstream reader 2: info: Using GPU device 0 - AMD Radeon RX 7900 XT[gfx1100] on PCI bus 03:00.0 2: info: decoding started, please wait! 2: Input Video Information 2: Codec : AVC/H.264 2: Frame rate : 60000/2002 = 29.97 fps 2: Sequence : Progressive 2: Coded size : [2048, 1024] 2: Display area : [0, 0, 2048, 1024] 2: Chroma : YUV 420 2: Bit depth : 8 2: Video Decoding Params: 2: Num Surfaces : 7 2: Crop : [0, 0, 2048, 1024] 2: Resize : 2048x1024 2: 2: info: Total pictures decoded: 601 2: info: Total frames output/displayed: 601 2: info: avg decoding time per picture: 0.87877 ms 2: info: avg decode FPS: 1137.95 2: info: avg output/display time per frame: 0.87877 ms 2: info: avg output/display FPS: 1137.95 2: 2/6 Test #2: video_decodeRaw-AVC .............. Passed 3.81 sec test 3 Start 3: video_decodeRaw-AV1 3: Test command: /usr/local/bin/ctest "--build-and-test" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/samples/videoDecodeRaw" "/home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-AV1" "--build-generator" "Unix Makefiles" "--test-command" "videodecoderaw" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/video/AMD_driving_virtual_20-AV1.ivf" 3: Working Directory: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test 3: Environment variables: 3: LD_PRELOAD=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va.so.2:/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va-drm.so.2 3: LIBVA_DRIVERS_PATH=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib 3: Test timeout computed to be: 1500 3: Internal cmake changing into directory: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-AV1 3: ======== CMake output ====== 3: The C compiler identification is Clang 23.0.0 3: The CXX compiler identification is Clang 23.0.0 3: Detecting C compiler ABI info 3: Detecting C compiler ABI info - done 3: Check for working C compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang - skipped 3: Detecting C compile features 3: Detecting C compile features - done 3: Detecting CXX compiler ABI info 3: Detecting CXX compiler ABI info - done 3: Check for working CXX compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang++ - skipped 3: Detecting CXX compile features 3: Detecting CXX compile features - done 3: -- videodecoderaw -- AMD GPU_TARGETS: gfx908;gfx90a;gfx942;gfx1030;gfx1031;gfx1032;gfx1100;gfx1101;gfx1102;gfx950;gfx1150;gfx1151;gfx1152;gfx1153;gfx1200;gfx1201;gfx1250 3: HIP: Using hipcc from relative path: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/bin/hipcc 3: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS 3: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS - Success 3: Configuring done 3: Generating done 3: Build files have been written to: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-AV1 3: ======== End CMake output ====== 3: Change Dir: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-AV1 3: 3: Run Clean Command:/usr/bin/gmake -f Makefile clean 3: 3: Run Build Command(s):/usr/bin/gmake -f Makefile && [ 33%] Building CXX object CMakeFiles/videodecoderaw.dir/videodecoderaw.cpp.o 3: [ 66%] Building CXX object CMakeFiles/videodecoderaw.dir/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/utils/rocvideodecode/roc_video_dec.cpp.o 3: [100%] Linking CXX executable videodecoderaw 3: [100%] Built target videodecoderaw 3: 3: Running test command: "/home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-AV1/videodecoderaw" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/video/AMD_driving_virtual_20-AV1.ivf" 3: info: Input file: AMD_driving_virtual_20-AV1.ivf 3: info: Using built-in bitstream reader 3: info: Using GPU device 0 - AMD Radeon RX 7900 XT[gfx1100] on PCI bus 03:00.0 3: info: decoding started, please wait! 3: Input Video Information 3: Codec : AV1 3: Sequence : Progressive 3: Coded size : [2048, 1024] 3: Display area : [0, 0, 2048, 1024] 3: Chroma : YUV 420 3: Bit depth : 8 3: Video Decoding Params: 3: Num Surfaces : 12 3: Crop : [0, 0, 2048, 1024] 3: Resize : 2048x1024 3: 3: info: Total pictures decoded: 602 3: info: Total frames output/displayed: 601 3: info: avg decoding time per picture: 1.00368 ms 3: info: avg decode FPS: 996.33 3: info: avg output/display time per frame: 1.00535 ms 3: info: avg output/display FPS: 994.675 3: 3/6 Test #3: video_decodeRaw-AV1 .............. Passed 3.93 sec test 4 Start 4: video_decodeRaw-VP9 4: Test command: /usr/local/bin/ctest "--build-and-test" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/samples/videoDecodeRaw" "/home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-VP9" "--build-generator" "Unix Makefiles" "--test-command" "videodecoderaw" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/video/AMD_driving_virtual_20-VP9.ivf" 4: Working Directory: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test 4: Environment variables: 4: LD_PRELOAD=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va.so.2:/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va-drm.so.2 4: LIBVA_DRIVERS_PATH=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib 4: Test timeout computed to be: 1500 4: Internal cmake changing into directory: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-VP9 4: ======== CMake output ====== 4: The C compiler identification is Clang 23.0.0 4: The CXX compiler identification is Clang 23.0.0 4: Detecting C compiler ABI info 4: Detecting C compiler ABI info - done 4: Check for working C compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang - skipped 4: Detecting C compile features 4: Detecting C compile features - done 4: Detecting CXX compiler ABI info 4: Detecting CXX compiler ABI info - done 4: Check for working CXX compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang++ - skipped 4: Detecting CXX compile features 4: Detecting CXX compile features - done 4: -- videodecoderaw -- AMD GPU_TARGETS: gfx908;gfx90a;gfx942;gfx1030;gfx1031;gfx1032;gfx1100;gfx1101;gfx1102;gfx950;gfx1150;gfx1151;gfx1152;gfx1153;gfx1200;gfx1201;gfx1250 4: HIP: Using hipcc from relative path: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/bin/hipcc 4: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS 4: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS - Success 4: Configuring done 4: Generating done 4: Build files have been written to: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-VP9 4: ======== End CMake output ====== 4: Change Dir: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-VP9 4: 4: Run Clean Command:/usr/bin/gmake -f Makefile clean 4: 4: Run Build Command(s):/usr/bin/gmake -f Makefile && [ 33%] Building CXX object CMakeFiles/videodecoderaw.dir/videodecoderaw.cpp.o 4: [ 66%] Building CXX object CMakeFiles/videodecoderaw.dir/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/utils/rocvideodecode/roc_video_dec.cpp.o 4: [100%] Linking CXX executable videodecoderaw 4: [100%] Built target videodecoderaw 4: 4: Running test command: "/home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/videoDecodeRaw-VP9/videodecoderaw" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/video/AMD_driving_virtual_20-VP9.ivf" 4: info: Input file: AMD_driving_virtual_20-VP9.ivf 4: info: Using built-in bitstream reader 4: info: Using GPU device 0 - AMD Radeon RX 7900 XT[gfx1100] on PCI bus 03:00.0 4: info: decoding started, please wait! 4: Input Video Information 4: Codec : VP9 4: Sequence : Progressive 4: Coded size : [2048, 1024] 4: Display area : [0, 0, 2048, 1024] 4: Chroma : YUV 420 4: Bit depth : 8 4: Video Decoding Params: 4: Num Surfaces : 12 4: Crop : [0, 0, 2048, 1024] 4: Resize : 2048x1024 4: 4: info: Total pictures decoded: 601 4: info: Total frames output/displayed: 601 4: info: avg decoding time per picture: 1.08378 ms 4: info: avg decode FPS: 922.693 4: info: avg output/display time per frame: 1.08378 ms 4: info: avg output/display FPS: 922.693 4: 4/6 Test #4: video_decodeRaw-VP9 .............. Passed 3.96 sec test 5 Start 5: rocdec_Decode-HEVC 5: Test command: /usr/local/bin/ctest "--build-and-test" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/samples/rocdecDecode" "/home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/rocdecDecode" "--build-generator" "Unix Makefiles" "--test-command" "rocdecdecode" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/frames" 5: Working Directory: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test 5: Environment variables: 5: LD_PRELOAD=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va.so.2:/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va-drm.so.2 5: LIBVA_DRIVERS_PATH=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib 5: Test timeout computed to be: 1500 5: Internal cmake changing into directory: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/rocdecDecode 5: ======== CMake output ====== 5: The C compiler identification is Clang 23.0.0 5: The CXX compiler identification is Clang 23.0.0 5: Detecting C compiler ABI info 5: Detecting C compiler ABI info - done 5: Check for working C compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang - skipped 5: Detecting C compile features 5: Detecting C compile features - done 5: Detecting CXX compiler ABI info 5: Detecting CXX compiler ABI info - done 5: Check for working CXX compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang++ - skipped 5: Detecting CXX compile features 5: Detecting CXX compile features - done 5: -- rocdecdecode -- AMD GPU_TARGETS: gfx908;gfx90a;gfx942;gfx1030;gfx1031;gfx1032;gfx1100;gfx1101;gfx1102;gfx950;gfx1150;gfx1151;gfx1152;gfx1153;gfx1200;gfx1201;gfx1250 5: HIP: Using hipcc from relative path: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/bin/hipcc 5: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS 5: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS - Success 5: Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2") 5: Checking for module 'libavcodec' 5: Found libavcodec, version 58.134.100 5: Checking for module 'libavformat' 5: Found libavformat, version 58.76.100 5: Checking for module 'libavutil' 5: Found libavutil, version 56.70.100 5: -- Using FFMPEG -- 5: Libraries:/usr/lib/x86_64-linux-gnu/libavcodec.so;/usr/lib/x86_64-linux-gnu/libavformat.so;/usr/lib/x86_64-linux-gnu/libavutil.so 5: Includes:/usr/include/x86_64-linux-gnu 5: Configuring done 5: Generating done 5: Build files have been written to: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/rocdecDecode 5: ======== End CMake output ====== 5: Change Dir: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/rocdecDecode 5: 5: Run Clean Command:/usr/bin/gmake -f Makefile clean 5: 5: Run Build Command(s):/usr/bin/gmake -f Makefile && [ 50%] Building CXX object CMakeFiles/rocdecdecode.dir/rocdecdecode.cpp.o 5: [100%] Linking CXX executable rocdecdecode 5: [100%] Built target rocdecdecode 5: 5: Running test command: "/home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/rocdecDecode/rocdecdecode" "-i" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/frames" 5: Read 53 frames from disk. 5: Input Video Information 5: Codec : 4 5: Frame rate : 30000/1001 = 29.97 fps 5: Sequence : Progressive 5: Coded size : [2048, 1024] 5: Display area : [0, 0, 2048, 1024] 5: Bit depth : 8 5: Total decoded frames in iteration 0: 53 5: Decoding time: 59182 microseconds 5: Success. 5: 5: 5: 5/6 Test #5: rocdec_Decode-HEVC ............... Passed 2.36 sec test 6 Start 6: rocDecode_Negative_API_Tests 6: Test command: /usr/local/bin/ctest "--build-and-test" "/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/share/rocdecode/test/rocDecodeNegativeApiTests" "/home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/rocdecodenegativetest" "--build-generator" "Unix Makefiles" "--test-command" "rocdecodenegativetest" 6: Working Directory: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test 6: Environment variables: 6: LD_PRELOAD=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va.so.2:/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib/librocm_sysdeps_va-drm.so.2 6: LIBVA_DRIVERS_PATH=/home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/rocm_sysdeps/lib 6: Test timeout computed to be: 1500 6: Internal cmake changing into directory: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/rocdecodenegativetest 6: ======== CMake output ====== 6: The C compiler identification is Clang 23.0.0 6: The CXX compiler identification is Clang 23.0.0 6: Detecting C compiler ABI info 6: Detecting C compiler ABI info - done 6: Check for working C compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang - skipped 6: Detecting C compile features 6: Detecting C compile features - done 6: Detecting CXX compiler ABI info 6: Detecting CXX compiler ABI info - done 6: Check for working CXX compiler: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/lib/llvm/bin/amdclang++ - skipped 6: Detecting CXX compile features 6: Detecting CXX compile features - done 6: HIP: Using hipcc from relative path: /home/lakshmi/rock_0408/lib/python3.10/site-packages/_rocm_sdk_devel/bin/hipcc 6: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS 6: Performing Test HIP_CLANG_SUPPORTS_PARALLEL_JOBS - Success 6: Configuring done 6: Generating done 6: Build files have been written to: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/rocdecodenegativetest 6: ======== End CMake output ====== 6: Change Dir: /home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/rocdecodenegativetest 6: 6: Run Clean Command:/usr/bin/gmake -f Makefile clean 6: 6: Run Build Command(s):/usr/bin/gmake -f Makefile && [ 33%] Building CXX object CMakeFiles/rocdecodenegativetest.dir/rocdecodenegativetest.cpp.o 6: [ 66%] Building CXX object CMakeFiles/rocdecodenegativetest.dir/rocdecode_api_negative_tests.cpp.o 6: [100%] Linking CXX executable rocdecodenegativetest 6: [100%] Built target rocdecodenegativetest 6: 6: Running test command: "/home/lakshmi/work/rocm-systems/projects/rocdecode/build/test/rocdecodenegativetest/rocdecodenegativetest" 6: info: Executing negative test cases for the rocDecCreateDecoder API 6: [0, Critical] rocdecode_api.cpp:37: 1986415068739 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecCreateDecoder(): Null pointer 6: [0, Critical] roc_decoder.cpp:51: 1986415068759 us: [pid:1764967 tid:1764967 hashid:0x88f33] InitializeDecoder(): Invalid number of decode surfaces. 6: [0, Critical] vaapi_videodecoder.cpp:1028: 1986415101069 us: [pid:1764967 tid:1764967 hashid:0x88f33] InitHIP(): ERROR: the requested device_id is not found! 6: [0, Critical] vaapi_videodecoder.cpp:686: 1986415101084 us: [pid:1764967 tid:1764967 hashid:0x88f33] GetVaContext(): Failed to initialize the HIP. 6: [0, Critical] vaapi_videodecoder.cpp:824: 1986415101091 us: [pid:1764967 tid:1764967 hashid:0x88f33] CheckDecCapForCodecType(): Failed to initialize. 6: [0, Critical] rocdecode_api.cpp:90: 1986415101096 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecGetDecoderCaps(): Error: Failed to obtain decoder capabilities from driver. 6: [0, Critical] vaapi_videodecoder.cpp:130: 1986415101100 us: [pid:1764967 tid:1764967 hashid:0x88f33] InitializeDecoder(): The codec config combination is not supported. 6: [0, Critical] roc_decoder.cpp:61: 1986415101105 us: [pid:1764967 tid:1764967 hashid:0x88f33] InitializeDecoder(): Failed to initialize the VAAPI Video decoder. 6: [0, Critical] vaapi_videodecoder.cpp:130: 1986415102752 us: [pid:1764967 tid:1764967 hashid:0x88f33] InitializeDecoder(): The codec config combination is not supported. 6: [0, Critical] roc_decoder.cpp:61: 1986415102759 us: [pid:1764967 tid:1764967 hashid:0x88f33] InitializeDecoder(): Failed to initialize the VAAPI Video decoder. 6: [0, Critical] vaapi_videodecoder.cpp:130: 1986415102766 us: [pid:1764967 tid:1764967 hashid:0x88f33] InitializeDecoder(): The codec config combination is not supported. 6: [0, Critical] roc_decoder.cpp:61: 1986415102768 us: [pid:1764967 tid:1764967 hashid:0x88f33] InitializeDecoder(): Failed to initialize the VAAPI Video decoder. 6: [0, Critical] vaapi_videodecoder.cpp:130: 1986415102779 us: [pid:1764967 tid:1764967 hashid:0x88f33] InitializeDecoder(): The codec config combination is not supported. 6: [0, Critical] roc_decoder.cpp:61: 1986415102781 us: [pid:1764967 tid:1764967 hashid:0x88f33] InitializeDecoder(): Failed to initialize the VAAPI Video decoder. 6: [0, Critical] vaapi_videodecoder.cpp:894: 1986415102788 us: [pid:1764967 tid:1764967 hashid:0x88f33] CheckDecCapForCodecType(): VAAPI failure: vaCreateConfig(va_contexts_[va_ctx_id].va_display, va_contexts_[va_ctx_id].va_profile, VAEntrypointVLD, &va_config_attrib, 1, &va_contexts_[va_ctx_id].va_config_id) failed with 'status: 13: the requested VAEntryPoint is not supported' at /home/lakshmi/work/rocm-systems/projects/rocdecode/src/rocdecode/vaapi/vaapi_videodecoder.cpp:894 6: [0, Critical] rocdecode_api.cpp:90: 1986415102795 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecGetDecoderCaps(): Error: Failed to obtain decoder capabilities from driver. 6: [0, Critical] vaapi_videodecoder.cpp:130: 1986415102798 us: [pid:1764967 tid:1764967 hashid:0x88f33] InitializeDecoder(): The codec config combination is not supported. 6: [0, Critical] roc_decoder.cpp:61: 1986415102800 us: [pid:1764967 tid:1764967 hashid:0x88f33] InitializeDecoder(): Failed to initialize the VAAPI Video decoder. 6: info: Executing negative test cases for the rocDecDestroyDecoder API 6: info: Executing negative test cases for the rocDecGetDecoderCaps API 6: info: Executing negative test cases for the rocDecDecodeFrame API 6: info: Executing negative test cases for the rocDecGetDecodeStatus API 6: info: Executing negative test cases for the rocDecReconfigureDecoder API 6: info: Executing negative test cases for the rocDecGetVideoFrame API 6: info: Executing negative test cases for the rocDecGetErrorName API 6: info: Executing negative test cases for the rocDecCreateVideoParser API 6: [0, Critical] roc_decoder.cpp:124: 1986415103702 us: [pid:1764967 tid:1764967 hashid:0x88f33] GetVideoFrame(): Invalid parameters. 6: [0, Critical] rocparser_api.cpp:44: 1986415103711 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecCreateVideoParser(): Error: The current version of rocDecode officially supports only the H.265 (HEVC), H.264 (AVC), AV1 and VP9 codecs. 6: info: Executing negative test cases for the rocDecParseVideoData API 6: info: Executing negative test cases for the rocDecDestroyVideoParser API 6: info: Executing negative test cases for the rocDecCreateBitstreamReader API 6: info: Executing negative test cases for the rocDecGetBitstreamCodecType API 6: info: Executing negative test cases for the rocDecGetBitstreamBitDepth API 6: [0, Critical] roc_bs_reader_api.cpp:31: 1986415104198 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecCreateBitstreamReader(): Null pointer 6: [0, Critical] roc_bs_reader_api.cpp:31: 1986415104202 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecCreateBitstreamReader(): Null pointer 6: [0, Critical] roc_bs_reader_api.cpp:52: 1986415104206 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecGetBitstreamCodecType(): Null pointer 6: [0, Critical] roc_bs_reader_api.cpp:52: 1986415104210 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecGetBitstreamCodecType(): Null pointer 6: [0, Critical] roc_bs_reader_api.cpp:74: 1986415104214 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecGetBitstreamBitDepth(): Null pointer 6: [0, Critical] roc_bs_reader_api.cpp:74: 1986415104217 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecGetBitstreamBitDepth(): Null pointer 6: [0, Critical] roc_bs_reader_api.cpp:96: 1986415104222 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecGetBitstreamPicData(): Null pointer 6: info: Executing negative test cases for the rocDecGetBitstreamPicData API 6: info: Executing negative test cases for the rocDecDestroyBitstreamReader API 6: Test Passed! 6: [0, Critical] roc_bs_reader_api.cpp:96: 1986415104225 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecGetBitstreamPicData(): Null pointer 6: [0, Critical] roc_bs_reader_api.cpp:118: 1986415104229 us: [pid:1764967 tid:1764967 hashid:0x88f33] rocDecDestroyBitstreamReader(): Null pointer 6: 6/6 Test #6: rocDecode_Negative_API_Tests ..... Passed 2.00 sec 100% tests passed, 0 tests failed out of 6 Total Test time (real) = 19.96 sec ``` ## Submission Checklist - [ ] Look over the contributing guidelines at https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
prasanna-amd
added a commit
that referenced
this pull request
Aug 20, 2026
… real headers - Fix double-deref in KernelCh stop: combine per-channel and kernel-completion ref drops into a single atomic operation under the coll mutex, preventing negative refcount and use-after-free (#1) - Add mutex to ProxyOpInfo, protect step timing accumulation from concurrent proxy thread writes (#2) - Lock ProxyOp before memcpy into coll->proxyOps to prevent reading partially-written step data (#3) - Move all pools (coll, proxyOp, proxyStep) from process-global statics into per-communicator acclCommContext, eliminating cross-comm pool starvation (#4) - Fix fmt_size to show fractional values (1.5M instead of 1M) (#6) - Fix bottleneck classifier denominator to use launch + max(kernel, proxy) instead of exec + launch, preventing percentages exceeding 100% due to kernel/proxy overlap (#7) - Add --output flag to 'single' subcommand and clean up hasattr guard (#8) - Switch output file from append to write mode to avoid stale data from PID reuse (#9) - Replace vendored nccl/profiler.h with accl_shim.h that provides minimal types and includes RCCL's real profiler_v5.h; add CMakeLists.txt for in-tree builds (#10)
prasanna-amd
added a commit
that referenced
this pull request
Aug 26, 2026
…ntegration Add monotonic generation counter per pool slot to detect stale callbacks from reclaimed collectives, resolving the 0==0 race in pool reclaim and all callback-lifetime concerns (threads #4, #6, #8, #9). Add atomic ref-count to acclCommContext so acclPluginFinalize defers free() until all outstanding callbacks have drained (thread #2). Wire accl plugin into the parent RCCL CMake build (thread #20), add CXX_VISIBILITY_PRESET/VISIBILITY_INLINES_HIDDEN (thread #1), and bump ACCL_MAX_CHANNELS from 64 to 256 (thread #11). Fix acclShouldFinalize: nChannels==0 collectives (onerank path) finalize immediately on coll stop; guard channelId against nChannels (thread #10, #12). Free leaked ProxyOp when coll's proxyOpIndices is full (thread #13). Rename firstCpuStart to firstKernelCpuStartUs for clarity (thread #14). Fix warmup off-by-one (sn <= warmup → sn < warmup, thread #7), use try/finally for output file handle (thread #15), fix test fixtures to start at coll_sn=0 (thread #16), remove stale ACCL_PROFILER_WARMUP_ITERS docs (thread #17), sync bottleneck categories with classify() (thread #18), add NVIDIA Apache-2.0 header to accl_shim.h (thread #19). Add tests: ProxyStep lifecycle, channel bounds, kernel timing assertions (threads #3, #12, #21).
mch
added a commit
that referenced
this pull request
Aug 26, 2026
Add Test #6 -- when credit is available for every op in a PutSignalGroup, ncclRmaProxyPollNonPersistDesc issues all of them in one pass, moves the group descriptor to the in-progress queue, and advances the consumer index once. Adds the PushPendingPutGroup fixture helper the group-path tests (#7/#8) build on. Co-authored-by: Pi Agent
venkat1361
pushed a commit
that referenced
this pull request
Sep 1, 2026
…10809) ## Summary Addresses a 15-point static re-review of the KFD dispatch-log signal-less path (on top of `review-fixes`). Each finding was evaluated against the code and the prior design history; this PR **fixes the genuine correctness/safety/resource issues** (potential misattribution, UAF on terminal teardown, unbounded pairer-map growth, plus FATAL-handling, env-race, and robustness items) and **documents the ones intentionally left as accepted residuals or pre-existing**, with rationale. `+365 / −49` across 9 files. ## Fixed - **#4 (misattribution) — validate identity before claiming an unknown-START EOP.** The unknown-START path in `dispatch_hub.hpp::record_kernel_end` took the sole first-owner entry with no timestamp check, and terminal-time validation ran only *after* the entry was consumed/retired — so a stale EOP could claim a newer dispatch's entry. Now rejects an EOP whose `end_ticks <= window.t_open` (a kernel cannot end at/before its window opened; same GPU-tick domain the known-START path already uses) **before** taking the entry, so a rejected EOP consumes/retires nothing. Fail-first verified. - **#3 + #2 (UAF) — the terminal fences are now truly terminal (fail-closed).** `signal_less_fence_completions()` previously quiesced visible work but did not stop the reader on success, so a still-PENDING kernel could complete after the client's callback/buffer state (detach/finalize, F23) or the HSA runtime (final `hsa_shut_down`, F24) was freed. A new `signal_less_terminal_stop()` (factored from teardown) latches disable → stops+joins the reader/processor → drains+ledgers PENDING, and is called from the F23/F24 sites. Verified deadlock-free (never joins its own task group, holds no lock across the join, joined threads never block on the joiner) and 5/5 clean under a shutdown watchdog. The existing `get_fini_status()` re-entry guard (the earlier crash fix) is preserved. - **#11 (unbounded growth) — hard size cap on the pairer START map.** `pair_state::pending_starts` was bounded only by a 30-minute age timer. Added `ROCPROFILER_KFD_DISPATCH_LOG_MAX_PENDING_STARTS` (default 2M, shared reject-and-default parser) with oldest-first eviction (recurring key exempted so the `ambiguous` latch is preserved). - **#7 (coverage) + #10 (liveness) — FATAL handling.** FATAL now latches admission and waits for the processor to consume the already-published pipe **before** draining the hub (so a fatal session's final EOP and healthy-GPU EOPs behind it aren't dropped), and the FATAL status is re-probed while the empty-wake backstop is tripped (so a fatal stream that produces no records is still detected). - **#5 (robustness) — master switch is a strict fail-closed opt-in.** `ROCPROFILER_KFD_DISPATCH_LOG_SIGNAL_LESS` now accepts only explicit true values; anything else is disabled with a one-time warning (no throw on malformed input). - **#9 (arg-order) — deterministic GC-gate operand ordering.** `gc_gate_open`'s two operands are read into named locals in the intended order rather than relying on unspecified argument-evaluation order. - **#12 (race) — env knobs primed at serialized init.** The age/cap/quiesce/switch env reads are populated during reader start-up rather than lazily on a worker thread. - **#14(b) — fork child no longer hangs in `interposition_fini()`.** A normal (non-exec) child now short-circuits `interposition_fini()` under the existing `fork_stale()` guard, avoiding a wlock on a registry a vanished parent thread may hold. ## Intentionally not changed (accepted residuals / design decisions / pre-existing) - **#1 — teardown coverage loss** (a kernel in flight at exit may emit no record): the accepted D8/F1 coverage residual. The *UAF* variant of this concern is #3, which is fixed. - **#8 — equal-tick START/EOP**: the accepted D1 residual. The code emits a **no-timing / zero-duration drop**, not a fabricated 1 ns; no misattribution. - **#9-main — GC gate "race"**: the copied-but-still-in-ring window is the accepted **R10** residual (an EOP still in the ring is intentionally not gated), and cap-eviction's bypass of the in-flight gate is D9's documented coverage-loss residual. The operand-ordering nit is fixed (#9-arg above); the residual is by design (coverage loss, never misattribution). - **#13 — cross-batch inversion**: the explicitly-accepted D1 residual (coverage loss under queue churn, never misattribution). A cross-batch reorder buffer is a larger design change weighed against measured coverage impact, which the benchmarks do not show hitting. - **#6 — completion-callback self-deadlock**: a **pre-existing** reentrancy defect on the generic signal path (a client callback that calls its own finalize). The new terminal-stop path was specifically designed **not** to add another instance of it. - **#14(a) — session mid-construction skipped by a concurrent fork**: a child-lifetime resource leak (not a hang); the parent is unaffected and the child drops it at exit. The "fix" would introduce a formal data race on an `smap` pointer a vanished thread was mid-write on, to reclaim memory about to be freed — not worth it. Left as-is. - **#15 — eager arming on a registered (vs active) context**: an efficiency consideration, not a correctness issue; arming stays gated on a registered kernel-dispatch context. ## Known residuals in the fixes (documented) - #4 adds no upper time bound (an implausibly-future EOP is still taken and rejected by the finalizer as no-timing, never misattributed). - #10 restores FATAL *detection* under the backstop; a *persistently failing* status ioctl still isn't fail-closed (separate follow-up). - #11 eviction is O(live) per over-cap insert (same tradeoff as the D9 cap; only reached under pathological EOP loss). ## Testing (MI350, host ROCm 7.2.1, build `fd06e1407c`) - Build clean at the project warning level — **0 new warnings**. - `ctest -L kfd-dlog` — **90/90 pass** (incl. 2 new tests: pairer-map cap, strict opt-in). - ThreadSanitizer, all 8 kfd-dlog suites — **90/90, zero reports** (covers the terminal-stop join, FATAL drain-wait, GC-gate ordering). - Shutdown crash/hang reproducer (1040), **5 runs under a watchdog — 5/5 clean, no hang, no crash** (the decisive check for the terminal-stop rework). - 1041-d (20k kernels ×3), 1031, 1041-a, 1041-c — all pass, no attribution regression. - graph-perf — **−44.21%** overhead reduction, `register-refused=0`/block (no throughput regression). ## Tracking JIRA ID: AIPROFSDK-1012 AIPROFSDK-1040 AIPROFSDK-1041
LeoZhao-BJ
added a commit
that referenced
this pull request
Sep 4, 2026
…11169) ## Motivation `Unit_test_generic_target_only_in_regular_fatbin` and `Unit_test_generic_target_only_in_compressed_fatbin` fail on MI200 (gfx90a) on the TheRock 10.1.0 nightlies, first seen in `a20260828`: ``` hipSquareGenericTarget.cc:101: FAILED: REQUIRE( std::system(cmd) == 0 ) with expansion: 1024 (0x400) == 0 ``` These two tests do not touch the GPU themselves — they spawn a separate child binary (`hipSquareGenericTargetOnly`) that holds the actual `isGenericTargetSupported()` device guard, and then assert the child exited 0. `getGenericTarget()` in `hipTestMain/hip_test_features.cc` has no entry for gfx90a (nor gfx908), so on MI200 the child correctly skips every one of its test cases. Catch2 v3 then exits the child with `AllTestsSkippedExitCode = 4`. On Linux `std::system()` returns a POSIX *wait status*, not the exit code, so the parent sees `4 << 8 == 1024` and reports a hard failure for a run that was actually skipped. This is a reporting bug, not a functional one: nothing was executed and nothing was wrong, but CI goes red on every MI200/MI250 job. ## Technical Details Three points worth calling out: **The platform split is required, not defensive.** `std::system()` encodes its result differently per platform: | | child exits 4 | `std::system()` returns | |---|---|---| | Linux (POSIX wait status) | 4 | **1024** (`0x400`) | | Windows (MSVC, raw exit code) | 4 | **4** | A single `rc == 4` check would be correct on Windows and dead code on Linux — the platform this bug was actually filed against. Conversely a Linux-only `WIFEXITED`/`WEXITSTATUS` block leaves Windows with the same latent trap: every Windows-supported arch happens to be in `getGenericTarget()`'s map today, but that map carries an explicit "subject to change per removing policy" comment, so new silicon landing before a map update would reproduce this bug on Windows with no handler present. **`HT_WIN` / `HT_LINUX` rather than raw `__linux__`.** These come from `catch/include/hip_test_context.hh` and `#error "OS not recognized"` on an unknown platform, so a third OS fails loudly at compile time instead of silently dropping the skip handling. **The `<sys/wait.h>` include is guarded** because `WIFEXITED`/`WEXITSTATUS` are POSIX macros and the header does not exist on Windows. **This cannot mask a real failure.** Catch2 uses `TestFailureExitCode = 42` for a genuine assertion failure, `UnspecifiedErrorExitCode = 1` for an error, and `NoTestsRunExitCode = 2` — only an all-skipped run yields 4. On gfx942/gfx950, where the child actually executes, a real regression still trips `REQUIRE(rc == 0)`. The parent then exits 4 itself, which ctest maps to `***Skipped` via the `SKIP_RETURN_CODE 4` that `catch_discover_tests` sets automatically (Catch2 `extras/Catch.cmake`). No CMake change is needed. ## Issue Tracking JIRA ID : ROCM-30543 ## Test Plan Validated on real MI250 (gfx90a) hardware 1. Restore pristine `hipSquareGenericTarget.cc` and `compiler.yaml`, verify both match `origin/develop`, build, and confirm the Jira failure reproduces. 2. Apply this patch, rebuild, confirm the binary actually relinked, re-run. 3. Confirm the parent's own exit code is 4 so ctest classifies it as skipped. 4. Negative test: substitute the child with stubs returning each Catch2 exit code and confirm only 4 is treated as a skip. ## Test Result **Baseline** on pristine develop source, matching the Jira exactly: ``` hipSquareGenericTarget.cc:101: FAILED: REQUIRE( std::system(cmd) == 0 ) with expansion: 1024 (0x400) == 0 50% tests passed, 2 tests failed out of 4 4 - Unit_test_generic_target_only_in_regular_fatbin (Failed) 6 - Unit_test_generic_target_only_in_compressed_fatbin (Failed) ``` Child exits 4; parent exits 42. **With this change:** ``` 1/4 Test #3: Unit_test_generic_target_in_regular_fatbin ...........***Skipped 2/4 Test #4: Unit_test_generic_target_only_in_regular_fatbin ......***Skipped 3/4 Test #5: Unit_test_generic_target_in_compressed_fatbin ........***Skipped 4/4 Test #6: Unit_test_generic_target_only_in_compressed_fatbin ...***Skipped 100% tests passed, 0 tests failed out of 4 ``` ``` hipSquareGenericTarget.cc:114: SKIPPED: child skipped: generic target unsupported. ``` Parent exit code is now 4, which ctest maps to `***Skipped`. **Negative test** — child replaced with stubs returning each Catch2 exit code: | child exit | meaning | parent exit | verdict | |---|---|---|---| | 0 | pass | 0 | PASS | | 1 | `UnspecifiedErrorExitCode` | 42 | FAIL | | 2 | `NoTestsRunExitCode` | 42 | FAIL | | 4 | `AllTestsSkippedExitCode` | 4 | SKIP | | 42 | `TestFailureExitCode` | 42 | FAIL | Only an all-skipped child is converted to a skip; every genuine failure still fails the parent. No new warnings under `-Wall -Wextra`. ## Submission Checklist - [x] Look over the contributing guidelines at https://github.com/ROCm/rocm-systems/blob/develop/CONTRIBUTING.md.
1 task done
xuchen-amd
added a commit
that referenced
this pull request
Sep 14, 2026
- Replace PNG screenshots with CLI text output (#1) - Remove analyze-time CSV artifacts, compress pmc_perf.csv.gz (#3, #4) - Add profiling_config.yaml to workload fixture for auto-detect - Add membw_analysis to docs index page (#6) - Remove pmc_perf.csv (uncompressed) in favor of pmc_perf.csv.gz Co-Authored-By: Claude <noreply@anthropic.com>
saleelk
added a commit
that referenced
this pull request
Sep 15, 2026
…11580) ## Motivation `ihipLaunchKernel` could be made to dereference an arbitrary host pointer as an `amd::Kernel*`, killing the process with `SIGSEGV` inside `hipLaunchKernel` instead of returning an error. `StatCO::GetFunc()` returns `hipErrorInvalidSymbol` for any pointer that is not in the registered function table. `ihipLaunchKernel` took that as a cue to `reinterpret_cast` the pointer to `hipFunction_t`, and `hip::asKernel()` is a raw `reinterpret_cast<amd::Kernel*>`, so `ihipLaunchKernel_validate()` goes on to read the caller's pointer as a C++ object. The `if (!kernel)` check there does not help, since non-null garbage passes it. The same cast has crashed before through a different error code: kpack fat binaries with `ROCM_KPACK_ENABLED=OFF` made `GetFunc()` fail with `hipErrorNotSupported`, which was fixed by propagating that error in e14bd06 (#10150). `hipErrorInvalidSymbol` was the last code still reaching the cast. ## Technical Details The cast cannot simply be dropped. A caller may legitimately pass a handle from `hipModuleGetFunction` or `hipGetFuncBySymbol` straight into `hipLaunchKernel`, and that only works because of it — both confirmed against an unpatched build. So the cast stays, but is taken only for a pointer the runtime actually produced; anything else returns `hipErrorInvalidDeviceFunction`. Recognising a kernel handle needed a registry. `PlatformState` now keeps one in a set, populated in `Function::BuildKernel()` and cleared in `~Function()`. `BuildKernel()` is the only place an `amd::Kernel` is constructed, so the set covers every handle the runtime hands out, from statically registered fat binaries and dynamically loaded modules alike. This replaces `IsValidDynFunc()`, which scanned every function of every loaded module on each call and only ever matched dynamic modules. The new lookup is O(1), and is renamed `IsValidFuncHandle()` because it now answers for static handles too. `DynCO::isValidDynFunc()` and `Function::IsValidDynFunc()` become unused and are removed. The set takes its own leaf mutex rather than `PlatformState::lock_`. Kernels are built with `sclock_`, `dclock_` or `FatBinaryLock` already held, and other paths run `lock_ -> sclock_`, so reusing `lock_` here would invert that order. Two incidental improvements fall out: - `Function::IsValidDynFunc()` compared only against `dFunc_[ihipGetDevice()]`, while `ihipLaunchKernel` resolves against the stream's device, so a valid handle could be rejected when the two differed. A flat set has no such mismatch. - A handle used after `hipModuleUnload` is now rejected instead of dereferencing the released kernel. ## Issue Tracking GitHub issue: #11563 This covers that issue's request that "HIP validates this condition and returns an error rather than dereferencing invalid state in `hipLaunchKernel`". It does **not** explain the reporter's gfx950 VF `hipErrorInvalidValue` / `hipErrorOutOfMemory`: their reproducer passes on gfx942 with ROCm 10.1, including with `TMPDIR` on a full `/dev/shm`, and neither HIP nor ROCr reads `TMPDIR`. Those errors look like device state specific to that VF and want separate investigation. ## Test Plan gfx942 (MI300X). Every case was run against a baseline library built from the same tree, so this change is the only difference: 1. `hipLaunchKernel` with an unregistered host function address, with a zeroed heap buffer, and with an unmapped address. 2. A `hipModuleGetFunction` handle passed into `hipLaunchKernel`. 3. A `hipGetFuncBySymbol` handle passed into `hipLaunchKernel`. 4. `hipLaunchKernel` with a module's handle after `hipModuleUnload`. ## Test Result | case | before | after | | --- | --- | --- | | unregistered host function address | SIGSEGV | `hipErrorInvalidDeviceFunction` | | zeroed heap buffer | SIGSEGV | `hipErrorInvalidDeviceFunction` | | unmapped address | SIGSEGV | `hipErrorInvalidDeviceFunction` | | `hipModuleGetFunction` handle | launches, correct result | unchanged | | `hipGetFuncBySymbol` handle | launches, correct result | unchanged | | after `hipModuleUnload` | `hipErrorInvalidDeviceOrdinal`, released kernel dereferenced | `hipErrorInvalidDeviceFunction` | For reference, the crash signature this removes, with the host stub address reaching `getDeviceKernel` as `this`: ``` #0 amd::Symbol::getDeviceKernel hashtable.h:1954 <-- deviceKernels_.find() faults #1 amd::Kernel::getDeviceKernel rocclr/platform/kernel.cpp:35 #2 hip::ihipLaunchKernel_validate hipamd/src/hip_module.cpp:356 #3 hip::ihipModuleLaunchKernel hipamd/src/hip_module.cpp:511 #4 hip::ihipLaunchKernel hipamd/src/hip_platform.cpp #5 hip::hipLaunchKernel_common hipamd/src/hip_module.cpp:903 #6 hipLaunchKernel ``` ## Submission Checklist - [x] Look over the contributing guidelines at https://github.com/ROCm/rocm-systems/blob/develop/CONTRIBUTING.md.
3 of 11 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.