Commit Graph

557 Commits

Author SHA1 Message Date
Ammar ELWazir 2a9700fcd7 [ROCProfiler-Register/Systems/Compute] Fixing License file name usage (#927)
ROCProfiler-Register/Systems/Compute: The license file name in the CMake install module and other locations was originally LICENSE, but it was recently changed to LICENSE.md, requiring an update to the CMake install module and all other relevant locations.
2025-09-10 15:46:39 -04:00
Joseph Macaranas 696881ae82 LICENSE clean up (#919)
- Clean up and standardization of MIT licenses after discussion with legal team.
- Update README.md with blurb for top-level files.
- MIT License explicitly mentioned for relevant projects.
- Removal of years.
- Copyright attribution should be to `Advanced Micro Devices, Inc.` and not `AMD ROCm(TM) Software`
- Removal of `All rights reserved.`
- Reduce line width of the text for readability.
- Add clear visual separators for additional licenses.
- Convert text files to markdown format for aforementioned separators.
- Update build scripts to point to renamed files.
- Fixed SMI doc references

Co-authored-by: Maisam Arif <Maisam.Arif@amd.com>
2025-09-10 12:06:14 -04:00
David Galiffi 6aca76a59f Disable CMAKE_INSTALL_RPATH_USE_LINK_PATH (#864)
Fixing some `check-rpath` errors when generating RPM packages in RHEL 10

```
ERROR 0002: file '/home/gliff/opt/rocprofiler-systems/bin/rocprof-sys-avail' contains an invalid rpath '/opt/rocm-7.0.0/lib' in [$ORIGIN/../lib:$ORIGIN/../lib/rocprofiler-systems:/opt/rocm-7.0.0/lib]
ERROR 0002: file '/home/gliff/opt/rocprofiler-systems/bin/rocprof-sys-causal' contains an invalid rpath '/opt/rocm-7.0.0/lib' in [$ORIGIN/../lib:$ORIGIN/../lib/rocprofiler-systems:/opt/rocm-7.0.0/lib]
ERROR 0002: file '/home/gliff/opt/rocprofiler-systems/bin/rocprof-sys-run' contains an invalid rpath '/opt/rocm-7.0.0/lib' in [$ORIGIN/../lib:$ORIGIN/../lib/rocprofiler-systems:/opt/rocm-7.0.0/lib]
ERROR 0002: file '/home/gliff/opt/rocprofiler-systems/lib/librocprof-sys.so.1.2.0' contains an invalid rpath '/opt/rocm-7.0.0/lib' in [$ORIGIN:$ORIGIN/rocprofiler-systems:/opt/rocm-7.0.0/lib]
```

Signed-off-by: David Galiffi <David.Galiffi@amd.com>
2025-09-05 14:27:31 -04:00
habajpai-amd fb6fe518e8 fix(transpose): correct host allocation and GB/s calculation (#860) 2025-09-04 16:08:16 -04:00
David Galiffi a57fd50865 Update the rocprof-sys-rt library (#786)
Derived from Dyninst_RT 13.0.0
2025-09-03 09:19:43 -04:00
Sajina PK 2da209da7f SWDEV-536287 - Detect SELinux mode and log error if enabled (#819)
* Detect SELinux mode and fail-fast

* Detect SELinux status by reading /sys/fs/selinux/enforce during initialization.
* Fix the verbose mode for HIP Stream events

* Add more information in the logs
Add information to the user about how to change the setting
2025-09-03 09:16:36 -04:00
Scott Todd 1eb4bd26a6 Bump rocprofiler-systems/external/papi to papi-7-2-0b2-t. (#785) 2025-09-02 13:21:47 -04:00
habajpai-amd cd729ab630 Improve library discovery in openmp-target example (#792)
cmake(openmp/target): make libomptarget discovery robust across ROCm layouts
2025-08-28 14:55:55 -04:00
David Galiffi 872846bcdc Updated Group By HIP Stream documentation (#717)
Based on feedback from https://github.com/ROCm/rocprofiler-systems/pull/306
2025-08-26 22:03:51 -04:00
Kian Cossettini 07a7b9b845 Use rocprofiler-SDK for OMPT tracing (#702)
Switch to using SDK for OMPT tracing and remove older OMPT code path
2025-08-26 16:54:01 -04:00
Milan Radosavljevic df7b9d559f Fix collecting of stream id's for rocpd (#751) 2025-08-26 16:17:42 -04:00
Milan Radosavljevic 96a46962ad Change amd_smi and cpu_freq modules to use trace cache for rocpd (#690)
* Move amd-smi to use caching mechanism

* Add VCN and JPEG activity to rocpd

* Switch cpu_freq to use caching mechanism

* Different approach with xcp activity & applied suggestions from code review

* Applied suggestions from code review

* Fix shadowing

* Applied suggestions from code review
2025-08-26 14:00:04 -04:00
David Galiffi 847580dd9e Update minimum_cmake_required to match version used in CI (#679)
- Update minimum_cmake_required to match version used in CI
  - We should match the minimum version that we test against

- Ensure ".S" files are treated as assembly.
2025-08-21 15:56:47 -04:00
David Galiffi 31c9d3424c Update README.md (#640)
* Update README.md

* Update README.md
2025-08-20 17:39:49 -04:00
David Galiffi d111e9a297 [rocprofiler-systems] Add Debian 12 workflows (#402)
* Create CI dockers for debian 12

* Create Debian workflow

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

* Fixing typo

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update default value for script's "VERSIONS" variable

* Fix Docker build warnings

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format

* Refactored the check for `pip install --break-system-packages`

---------

Signed-off-by: David Galiffi <David.Galiffi@amd.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-20 14:58:49 -04:00
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