Commit Graph

542 Commits

Author SHA1 Message Date
systems-assistant[bot] 1f86010ca2 ROCpd support [Part 2] (#109)
* Rocpd part 2, caching

* Fix shadowed variables

* backward compatibility

* Fixed designated initializers

* Fix timemory include

* Remove benchmark & Fix build issues for rhel

* Add missing bracket

* Fix shadowing and pedantic

* Fix pedantic pt2

* Fix duplicated SDK calls

* Add decay in get_size_impl

* Rename sample cache to trace cache

* Add cache storage supported types

* Resolving track naming in sampling module

* fix sampling of flushing thread

* fix sampling of flushing thread 2

* throw exception upon store while buffer storage is not running

* Prevent fork crashing

* Fix rebase issue

* Applied suggestions from code review

* Change flushing thread to use PTL

* Fix agent creation order

* Fix stream id ci throw

* Remove force setup of rocprofiler-sdk

* Code cleanup

* Change initialization for agent

* Add missing namespace

* Fix the mismatch within the tool_agent->device_id

* Switch from using handle to use agent type index

* Fix pmc info comparator in metadata registry

---------

Co-authored-by: Aleksandar <aleksandar.djordjevic@amd.com>
Co-authored-by: Milan Radosavljevic <milan.radosavljevic@amd.com>
Co-authored-by: Marjan Antic <marantic@amd.com>
2025-08-19 22:01:04 -04:00
Jason Bonnell 24332bb65b [rocprofiler-systems] Update containers workflow to generate matrix from file (#369)
* Use matrix data from containers.yml in rocprofiler-systems-containers.yml

* add on pull_request to rocprofiler-systems-containers.yml

* update yq command in rocprofiler-systems-containers.yml

* ensure no indenting in json output

* update output definition in prepare_release_matrix

* added container-ci.yml for ci containers

* move ordering of steps in rocprofiler-systems-containers.yml

* Update projects/rocprofiler-systems/docker/containers-ci.yml

Co-authored-by: David Galiffi <David.Galiffi@amd.com>

* only push containers when running on schedule or push

* Formatting fix

Cleaning trailing whitespace.

---------

Co-authored-by: David Galiffi <David.Galiffi@amd.com>
2025-08-18 13:17:17 -04:00
Aleksandar Djordjevic c58e3e92c1 Fix rocprof-sys-run --help command (#359)
Handle the `--help` parameter in the same way it is handled in other tools such as `rocprof-sys-sample` and `rocprof-sys-instrument`.
2025-08-15 17:28:08 -04:00
Kian Cossettini 947adacb3a [rocprofiler-systems] Fixed build-docker script failure on sparse checkout (#364)
Created `containers.yml` file in docker folder.
Updated `build-docker.sh` script to read from this file to determine supported OS + ROCm combinations.
2025-08-15 13:50:43 -04:00
systems-assistant[bot] dd37d215fd Add documentation describing ROCPROFSYS_USE_RCCP (#110)
* Add documentation describing ROCPROFSYS_USE_RCCP

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

* Update wordlist

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

* Update CHANGELOGS.md

---------

Signed-off-by: David Galiffi <David.Galiffi@amd.com>
Co-authored-by: David Galiffi <David.Galiffi@amd.com>
2025-08-13 18:01:18 -04:00
David Galiffi 311e279596 Add "branch" requirement to "push" workflows. (#329)
* Add "branch" requirement to "push" workflows.

* Deleted obsolete workflow files

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

* Fix path to the `check-copyright.sh` in `pre-commit-config.yaml`

---------

Signed-off-by: David Galiffi <David.Galiffi@amd.com>
2025-08-13 09:42:49 -04:00
Milan Radosavljevic b793b183a4 Update rocprofiler-systems github workflows (#193)
* Fix rocprofiler-systems CI

* Fix 'Documentation' jobs

* Python Linting fix

* Add python 3.11, 3.12

* Fix python linting

* Re-add ubuntu-noble workflow

* Remove old workflows from project folder

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

* Update rocprofiler-systems workflows

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

* Retire ubuntu-focal workflow

* Fix path to validation file in `build-docker.sh`

* Update .github/workflows/rocprofiler-systems-python.yml

Co-authored-by: David Galiffi <David.Galiffi@amd.com>

* Revert dockerfile

* Retire rocprofiler-systems-ubuntu-focal workflow

* Include .github directory in cpack workflow sparse-checkout step

* Revert git from ubuntu ci image

---------

Signed-off-by: David Galiffi <David.Galiffi@amd.com>
Signed-off-by: Jason Bonnell <Jason.Bonnell@amd.com>
Co-authored-by: David Galiffi <David.Galiffi@amd.com>
2025-08-12 19:42:01 +02:00
Jason Bonnell 4eaf1fe346 [rocprofiler-systems] Add new secrets, update paths (#241)
* Add new secrets, update paths

* Remove old containers.yml workflow file

* Update .github/workflows/rocprofiler-systems-containers.yml

Co-authored-by: David Galiffi <David.Galiffi@amd.com>

---------

Co-authored-by: David Galiffi <David.Galiffi@amd.com>
2025-08-11 14:31:17 -04:00
habajpai-amd 15fb4943e2 Fix the openmp-target ctest (#300)
- openmp-target: add runtime rpath for libomptarget and update tests
- Handle events not associated with a HIP Stream
  - Kernels from OpenMP target offload are not associated with a HIP stream. Fix handling with the callback record's stream_id is 0

---------

Co-authored-by: David Galiffi <David.Galiffi@amd.com>

[ROCm/rocprofiler-systems commit: c424dac261]
2025-07-31 10:41:27 -04:00
Kian Cossettini df7605835f fork-runtime-instrument ctest fix (#295)
* Fix fork-runtime-instrument ctest failure by adding -fno-inline flag

[ROCm/rocprofiler-systems commit: d1a2deba1f]
2025-07-31 07:59:41 -04:00
Jason Bonnell 4a677d6506 Add ninja to all Dockerfiles (#304)
[ROCm/rocprofiler-systems commit: 6f8cb05140]
2025-07-30 13:35:40 -04:00
dependabot[bot] e0c8e8a8c8 Bump rocm-docs-core[api_reference] from 1.21.1 to 1.22.0 in /docs/sphinx (#302)
Bumps [rocm-docs-core[api_reference]](https://github.com/ROCm/rocm-docs-core) from 1.21.1 to 1.22.0.
- [Release notes](https://github.com/ROCm/rocm-docs-core/releases)
- [Changelog](https://github.com/ROCm/rocm-docs-core/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/ROCm/rocm-docs-core/compare/v1.21.1...v1.22.0)

---
updated-dependencies:
- dependency-name: rocm-docs-core[api_reference]
  dependency-version: 1.22.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

[ROCm/rocprofiler-systems commit: be69ec06f2]
2025-07-30 13:33:41 -04:00
David Galiffi 7f953cfb68 Update VERSION to 1.2.0 (#299)
Bump version now that `release/rocm-rel-7.0` has been created.

[ROCm/rocprofiler-systems commit: 190562e8c6]
2025-07-29 14:04:48 -04:00
David Galiffi ae2643d681 Fix avail-regex-negation ctest (#298)
Adjusted the regex to filter out new "PAGE*" domains added by the
SDK. This was causing the passing regex to fail.

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

[ROCm/rocprofiler-systems commit: de6120daf9]
2025-07-29 02:44:40 -04:00
Aleksandar Djordjevic 166babf234 ROCpd support [Part 1] (#279)
- Add rocpd support for
 - cpu_frequency
 - amd_smi
 - sampling


[ROCm/rocprofiler-systems commit: 26ae543012]
2025-07-28 11:33:52 -04:00
ajanicijamd e2fc692ee0 Allow events to be grouped by HIP stream ID (#274)
- Corelate memory_copy and kernel_dispatch events with their HIP stream_id and add stream_id as an annotation in Perfetto.
- By default, group memory_copy and kernel_dispatch events in Perfetto output by their stream_id.
- Add option, with the configuration setting ROCPROFSYS_ROCM_GROUP_BY_QUEUE, to group by HSA queue instead.

---------

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

[ROCm/rocprofiler-systems commit: 4b4a846b58]
2025-07-23 21:28:26 -04:00
Sajina PK 0b57805e20 Fix to find MPI symbols from undefined symbols (#293)
* Fix to find MPI symbols from undefined symbols

* Moved condition checks before

* Fixing format

---------

Co-authored-by: Anuj Shukla <anujshuk@amd.com>

[ROCm/rocprofiler-systems commit: 67ec52b523]
2025-07-23 16:02:05 -04:00
Sajina PK aa9b265302 Manually search for rocdecode and rocjpeg libraries in cmake (#294)
* Manually search for rocdecode ad rocjpeg libraries

* Update examples/jpegdecode/CMakeLists.txt

Fix typo.

Co-authored-by: David Galiffi <David.Galiffi@amd.com>

---------

Co-authored-by: David Galiffi <David.Galiffi@amd.com>

[ROCm/rocprofiler-systems commit: f4e9846e1c]
2025-07-21 14:07:00 -04:00
ajanicijamd 1a57db0395 Add a CMake Presets file (#44)
Adds the following presets: 

- `ci` - to match the common CI settings - including tests and asserts
- `debug` - True debug build - include building tests
- `debug-optimized` - include building tests
- `release` - To match the "build-release` script - no tests.

The default build folder will be `${sourceDir}/build/<preset>`.

---------

Co-authored-by: David Galiffi <David.Galiffi@amd.com>


[ROCm/rocprofiler-systems commit: 92e1d84c72]
2025-07-16 18:49:22 -04:00
habajpai-amd 7eb189db84 Add missing <cstring> include for C string functions in RCCL tests (#282)
* Fix: Add missing <string.h> include for C string functions in RCCL tests

* Update examples/rccl/rccl-tests/src/common.h

Yes, confirmed—<cstring> alone works in my environment. Updated the PR

Co-authored-by: David Galiffi <David.Galiffi@amd.com>

* clang-format

---------

Co-authored-by: David Galiffi <David.Galiffi@amd.com>

[ROCm/rocprofiler-systems commit: 0ec3072e05]
2025-07-16 11:23:50 -04:00
David Galiffi 5a767cf272 Remove an undefined submodule from the GOTCHA submodule (#285)
A recursive submodule update, `git submodule uppdate --recursive
--init`,
would fail due to an improperly defined and empty submodule in GOTCHA.

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

[ROCm/rocprofiler-systems commit: e9b09b6ade]
2025-07-15 21:32:43 -04:00
Sajina PK d4da72bf2d Update gotcha submodule from timemory (#277)
* Update gotcha submodule from timemory

* Fix build failure and add copilot suggestions

* Fix formatting errors

[ROCm/rocprofiler-systems commit: d26486ad83]
2025-07-14 21:12:10 -04:00
darren-amd a5ca94ab9c Fix ROCtx event ranges in trace output (#278)
* Fix marker api traces

* Remove space

* Formatting change

* Small change

* Update Changelog

* Add period to changelog

* Update source/lib/rocprof-sys/library/rocprofiler-sdk.cpp

Co-authored-by: David Galiffi <David.Galiffi@amd.com>

* Fix roctx tests

---------

Co-authored-by: David Galiffi <David.Galiffi@amd.com>

[ROCm/rocprofiler-systems commit: c996c23a13]
2025-07-14 19:31:14 -04:00
Sajina PK 1892bdef83 Make CMakeFile fixes to align with rocDecode and rocJpeg changes (#281)
[ROCm/rocprofiler-systems commit: be06384250]
2025-07-14 19:23:19 -04:00
David Galiffi 20434af022 Adding sqlite-dev to our ci docker images (#280)
[ROCm/rocprofiler-systems commit: 86f025e5fd]
2025-07-14 17:37:47 -04:00
Kian Cossettini ec683aefa7 Added compatibility matrix for docker-build script (#268)
- matrix -m argument for build-docker.sh that lists compatible OS + ROCm combinations.
- ${DISTRO} is now case-insensitive.
- Added note to README.md to mention this flag.
- Removed --build-arg AMDGPU_RPM=${ROCM_RPM}, which is no longer used

[ROCm/rocprofiler-systems commit: 67bc147780]
2025-07-08 11:05:14 -04:00
Sajina PK 329183b112 Conditionally include backtraces in ROCPROFSYS_THROW based on verbosity (#272)
* Conditionally include backtraces in ROCPROFSYS_THROW based on verbosity

Modify ROCPROFSYS_THROW to only include backtraces when:
  debug mode is enabled, OR
  verbose level is >= 2, OR
  running in CI environment

* Fix formatting errors

[ROCm/rocprofiler-systems commit: b0ff07b4fe]
2025-07-07 14:14:02 -04:00
Pranjal Swarup 0497b7934f Update RCCL-tests in examples folder (#261)
- Create a local copy for ROCm/rccl-tests for our examples.
- Update argument parsing to no longer use getopt_long.
- Workaround for Dyninst instrumentation.

---------

Co-authored-by: David Galiffi <David.Galiffi@amd.com>

[ROCm/rocprofiler-systems commit: 4e5029221b]
2025-06-27 11:44:13 -04:00
anujshuk-amd 0c91a0d8ed Add ctests to verify roctx api (#260)
---------

Co-authored-by: David Galiffi <David.Galiffi@amd.com>

[ROCm/rocprofiler-systems commit: 3631362903]
2025-06-25 14:01:04 -04:00
dependabot[bot] 5c5de6fe2a Bump rocm-docs-core[api_reference] from 1.21.0 to 1.21.1 in /docs/sphinx (#263)
Bumps [rocm-docs-core[api_reference]](https://github.com/ROCm/rocm-docs-core) from 1.21.0 to 1.21.1.
- [Release notes](https://github.com/ROCm/rocm-docs-core/releases)
- [Changelog](https://github.com/ROCm/rocm-docs-core/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/ROCm/rocm-docs-core/compare/v1.21.0...v1.21.1)

---
updated-dependencies:
- dependency-name: rocm-docs-core[api_reference]
  dependency-version: 1.21.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

[ROCm/rocprofiler-systems commit: 4b741a0148]
2025-06-25 09:51:55 -04:00
Kian Cossettini d05e164171 Fixed docker run cmd (#264)
[ROCm/rocprofiler-systems commit: 4c524235db]
2025-06-25 09:51:30 -04:00
dependabot[bot] e41bd098c1 Bump rocm-docs-core[api_reference] from 1.20.1 to 1.21.0 in /docs/sphinx (#262)
Bumps [rocm-docs-core[api_reference]](https://github.com/ROCm/rocm-docs-core) from 1.20.1 to 1.21.0.
- [Release notes](https://github.com/ROCm/rocm-docs-core/releases)
- [Changelog](https://github.com/ROCm/rocm-docs-core/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/ROCm/rocm-docs-core/compare/v1.20.1...v1.21.0)

---
updated-dependencies:
- dependency-name: rocm-docs-core[api_reference]
  dependency-version: 1.21.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

[ROCm/rocprofiler-systems commit: 3a0985c68a]
2025-06-24 12:33:13 -04:00
David Galiffi 05e6c66336 Update CHANGELOGS (#248)
* Update CHANGELOGS

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

* Update CHANGELOG.md

Clarify Fortran support on CHANGELOGS

* Update CHANGELOG.md

Fixed typo

* Update CHANGELOG.md

Co-authored-by: Pratik Basyal <pratik.basyal@amd.com>

* Update CHANGELOG.md

Co-authored-by: Pratik Basyal <pratik.basyal@amd.com>

* Update CHANGELOG.md

Co-authored-by: Pratik Basyal <pratik.basyal@amd.com>

* Update CHANGELOG.md

Co-authored-by: Pratik Basyal <pratik.basyal@amd.com>

* Update CHANGELOG.md

Co-authored-by: Pratik Basyal <pratik.basyal@amd.com>

* Update CHANGELOG.md

Co-authored-by: Pratik Basyal <pratik.basyal@amd.com>

* Update CHANGELOG.md

* Update CHANGELOG.md

---------

Signed-off-by: David Galiffi <David.Galiffi@amd.com>
Co-authored-by: Pratik Basyal <pratik.basyal@amd.com>

[ROCm/rocprofiler-systems commit: 3668e603cc]
2025-06-24 11:10:26 -04:00
Kian Cossettini 531cf61f36 Added docker usage steps for rocprofiler systems (#251)
---------

Co-authored-by: David Galiffi <David.Galiffi@amd.com>
Co-authored-by: Pratik Basyal <pratik.basyal@amd.com>

[ROCm/rocprofiler-systems commit: 8457cb11be]
2025-06-23 15:19:47 -04:00
David Galiffi 8fcf3a50b0 Use gersemi for CMake formatting (#257)
* Replace `cmake-format` with `gersemi`

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

* Remove .cmake-format.yaml

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

* Update workflow to use gersemi

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

* Update CONTRIBUTING.md

* Update helper scripts

* Don't include `*/external/*` in workflows

---------

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

[ROCm/rocprofiler-systems commit: 122623a929]
2025-06-22 10:44:33 -04:00
David Galiffi 0403aaa97f Use clang-format-18 for source formatting (#256)
* Updating clang-format to v18

- Updates the pre-commit-config
- Formats source files according to the utility

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

* Update format source workflow

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

* Update CONTRIBUTING

* Update comment in .clang-format

* Update CONTRIBUTING.md

* Update helper script

---------

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

[ROCm/rocprofiler-systems commit: 1e13b590e7]
2025-06-22 08:48:08 -04:00
Sajina PK 6a8cef771e Show VCN and JPEG busy values where VCN/JPEG activity is not supported. (#232)
On AMD-SMI, in rocm 7.0, vcn_activity and jpeg_activity will not be reported when XCP (partition) stats, vcn_busy and jpeg_busy, are available. This causes the activity tracking to fail. The fix is to read the busy values when activity values are not supported.

For issue: SWDEV-536439

---------

Co-authored-by: David Galiffi <David.Galiffi@amd.com>

[ROCm/rocprofiler-systems commit: e3741f678b]
2025-06-19 16:23:30 -04:00
David Galiffi fb177c8352 Update pull_request_template.md (#258)
Rewording the "related issues" comments

[ROCm/rocprofiler-systems commit: 20efb9641f]
2025-06-19 11:06:13 -04:00
ajanicijamd ad2e95de05 Modified nic-performance test to download a smaller file (#253)
[ROCm/rocprofiler-systems commit: 4346c1c217]
2025-06-18 19:39:48 -04:00
Pratik Basyal 0f7ae37ca6 Broken link to ROCprofiler-SDK updated (#254)
[ROCm/rocprofiler-systems commit: 66e71574ba]
2025-06-18 13:15:18 -04:00
Daniel Su f155355b33 Add thread header to videodecode example (#252)
[ROCm/rocprofiler-systems commit: 475d6c0f1f]
2025-06-18 12:40:24 -04:00
David Galiffi 133834335d Unhandled enum in switch statement (#247)
Signed-off-by: David Galiffi <David.Galiffi@amd.com>

[ROCm/rocprofiler-systems commit: 244c193a57]
2025-06-17 09:57:27 -04:00
David Galiffi 21374bc8bc Cleanup of Dyninst build dependencies (#238)
- Refactor elfutils build folders. Move build artifacts to the "external" subfolders
- Remove reference to unused DYNINST configuration
- Declare Dyninst interfaces with other external declarations
- Updated cmake warning message
- Update the deprecation warning for "DYNINST_BUILD_${dep}" to make it clearer that the option is being translated to the new option, "ROCPROFSYS_BUILD_${dep}"

[ROCm/rocprofiler-systems commit: eaaec2cc3b]
2025-06-13 17:19:46 -04:00
David Galiffi 76cde58f56 Removing dyninst builds from CI docker files (#249)
Signed-off-by: David Galiffi <David.Galiffi@amd.com>

[ROCm/rocprofiler-systems commit: 8535da17c8]
2025-06-13 17:16:01 -04:00
David Galiffi 7503cc7202 Add perfetto validation to rccl ctests (#246)
Check for the "RCCL Communication Send / Receive" data counters

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

[ROCm/rocprofiler-systems commit: 6dd1ee78bf]
2025-06-13 17:09:49 -04:00
Jason Bonnell fe985ec077 add pull_request_template.md (#237)
* add pull_request_template.md

* Update .github/PULL_REQUEST_TEMPLATE/pull_request_template.md

Co-authored-by: David Galiffi <David.Galiffi@amd.com>

* fix markdown linting errors

* Update .github/PULL_REQUEST_TEMPLATE/pull_request_template.md

Co-authored-by: David Galiffi <David.Galiffi@amd.com>

* moved pull_request_template.md to base /.github/ directory

---------

Co-authored-by: David Galiffi <David.Galiffi@amd.com>

[ROCm/rocprofiler-systems commit: da326048b9]
2025-06-12 16:13:48 -04:00
David Galiffi 8a241f46e1 Updated Dockerfile.ubuntu (#245)
Using miniforge instead of miniconda

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

[ROCm/rocprofiler-systems commit: 877fa671cc]
2025-06-12 10:19:01 -04:00
David Galiffi 45605cf645 SWDEV-525474 - Fixed CMake 4 configuration error (#244)
Update Timemory / GOTCHA modules

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

[ROCm/rocprofiler-systems commit: d9381c3e0a]
2025-06-12 10:14:55 -04:00
Pranjal Swarup 8a2ac0ae71 Change docker scripts to use miniforge instead of miniconda (#242)
[ROCm/rocprofiler-systems commit: c00070ddbf]
2025-06-11 23:43:34 -04:00
David Galiffi db21150ab0 Fix OpenMP-Target ctest (#241)
Test is missing from rocm-7.0 stack because of a HIP version check.
In these builds, hip_version.h is still reporting 6.5.0.
This check was originally put in to skip the test on older versions
of ROCm, which should no longer be required

- For SWDEV-537718

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

[ROCm/rocprofiler-systems commit: 28bee27253]
2025-06-11 16:00:48 -04:00