Commit Graph

1396 Commits

Author SHA1 Message Date
systems-assistant[bot] 27935903ae Merge commit 'ea4769f604bc52a5ef31fd94b9a3ea73ed0997b7' into develop 2025-07-30 18:10:34 +00:00
systems-assistant[bot] 1a9a095ada Merge commit '4120c12ed587f7c6b3180276780452cb7aa25ce0' into develop 2025-07-30 17:08:46 +00:00
Bhardwaj, Gopesh f625253208 SWDEV-544115 Adding documentation for rocprofv3 advanced options (#516)
* SWDEV-544115 Adding documentaiton for rocprofv3 advanced options

* minor changes

* updating rocpd documentation

* updated changelog

* adressed Feedback

[ROCm/rocprofiler-sdk commit: 4120c12ed5]
2025-07-30 22:25:40 +05:30
systems-assistant[bot] c9993f5447 Merge commit '996e8bbfb71310d9a1b641bc954b69138cf85daa' into develop 2025-07-30 15:21:37 +00:00
systems-assistant[bot] 7e0f02eec6 Merge commit '190562e8c65c9872c5c22391400931da8e4b5dae' into develop 2025-07-30 15:21:36 +00:00
systems-assistant[bot] c59ab2f572 Merge commit '1ba08cd4dfb7fe99a51765019210947dfcd199f7' into develop 2025-07-30 15:21:36 +00:00
systems-assistant[bot] 50286202d5 Merge commit '56d040156e1d18479295536f8c4ada37ce34932d' into develop 2025-07-30 15:21:35 +00:00
systems-assistant[bot] 1df639fbb2 Merge commit '8f3a2326136caefa935876155eddb61177ad362c' into develop 2025-07-30 15:21:33 +00:00
systems-assistant[bot] a7cb68e38d Merge commit '51c5343bf891848443cab2230615fdb287e3b918' into develop 2025-07-30 15:21:32 +00:00
Baraldi, Giovanni b30a084da2 Removing ATT buffer size limitation (#534)
* Removing SQTT buffer size limitation

* Update source/lib/rocprofiler-sdk/thread_trace/core.cpp

* Added testing for buffer size. Formatting.

* Add test as unstable

* Increase default buffer size

* Apply suggestions from code review

Co-authored-by: Indic, Vladimir <Vladimir.Indic@amd.com>

* Fix typo from code review

* Update tests/thread-trace/agent.cpp

---------

Co-authored-by: Giovanni <gbaraldi@amd.com>
Co-authored-by: Indic, Vladimir <Vladimir.Indic@amd.com>

[ROCm/rocprofiler-sdk commit: 1ba08cd4df]
2025-07-29 22:47:40 +02:00
Indic, Vladimir fe6cfc9cc8 PCS test: cast agent name to str (#546)
* PCS test: cast agent name to str

[ROCm/rocprofiler-sdk commit: 2d8936362e]
2025-07-29 12:11:15 -07:00
Hui, Young 68ae6cf65f [rocpd] Adding summary module to generate summaries from rocpd database + query submodule + rocpd command-line tools (#488)
* adding summary.py to generate tmp <category_region>_summary views

* migrating CSV summary to SDK method of writing CSVs

  - Add domain_view to summary.py
  - omit the C++ code of writing CSV because it gets revered later anyway

* Add summary subparser and write_sql_view_to_csv function

* adding all <>_summary views generation to summary.py

* add summary_per_rank feature

* add --summary-per-rank

* reconstruct generate_summary_view and create_domain_view

-introduce by_rank

* remove sqr and variance in summary views

* use RocpdImportData instead of connection

* two fixes on summary.py

--modify the generate_summary_view function to return a tuple with view name and sql code

add if_not_exits parameter to generete_summary_view

* Refactor summary.py to allow output path and filename args, and apply time_window
- clean up summary table column headers
- only generate by-rank views if that param is specified

* Add ProcessID to Hostname output and csv, so users can identify the system in the by-rank summaries

* Summary.py, just add hostname to by-rank summaries, instead of creating mapping table

* Summary - migrate csv writer to pandas, for more future flexibility

* Adding a few simple tests for summary.py

* Linting fixes

* add region_categories to summary options

  -  Automatically retrieve region categories from the database if argument is None

* add backticks for view_names

* fix tests after rebase

* Made code review changes
- fixed whitespace in CMakelists.txt
- adding query.py module & subparser in __main__.py
- refactor summary function to return query
- used query.py to output csv
- used query.py to also output summary to console
- provided new command line options to select summary output to csv or console

* Made fix to jinja template in query.py, as suggested by copilot

* Consolidated output calls to query in export_view function based on feedback
- refactored: helpers, query functions, create view functions
- extended formats to include what query supports (md, html, pdf, json)
- added json format to query, and changed orient=records
- adding jinja2 and reportlab to requirements.txt

* Add version_info for rocpd and roctx

* Add rocpd commandline tool

* Add executable permissions to source/bin/rocpd.py

* Removed rocpd2query, and cleaned up --help examples

---------

Co-authored-by: acanadas <acanadas@amd.com>
Co-authored-by: Jin Tao <jintao12@amd.com>
Co-authored-by: a-canadasruiz <Araceli.CanadasRuiz@amd.com>
Co-authored-by: Jonathan R. Madsen <Jonathan.Madsen@amd.com>

[ROCm/rocprofiler-sdk commit: 3954cedd25]
2025-07-24 16:12:06 -05:00
Madsen, Jonathan 35d491159f [CMake] Fix thread trace sample ENVIRONMENT test property (#544)
Fix thread trace samples set tests properties

[ROCm/rocprofiler-sdk commit: 735b5c3d4a]
2025-07-24 15:23:37 -05:00
U, Srihari f47df6108b [rocprofv3] rocpd doesn't generate output files for counter collection (#480)
* Fix kernel dispatch for counter collection

* Updated change log

* Fix format

* rename output csv file

* Fix warnings

* Address review comment

* Address final review comment

[ROCm/rocprofiler-sdk commit: 3a36fd13fe]
2025-07-24 12:11:36 +05:30
amd-hsivasun 61299d7598 Update formatting.yml for Rocprofiler-sdk (#7)
* Update formatting.yml

Changed runners to ubuntu-latest instead of AMD-ROCm-Internal-dev1

* Updated rocprofiler-sdk formatting workflow

* Added Sparse Checkouts

* Run in folder

* Check the WD

* List all files

* Added Rocprofiler-register

* Removed working dirs and rocprofiler-register

---------

Co-authored-by: Sivasuntharampillai, Haresh <Haresh.Sivasuntharampillai+amdeng@amd.com>
2025-07-23 18:35:36 -04:00
Kuricheti, Mythreya df840b67a9 [SDK] Fix context tracing domain bitset overflow (#536)
- Fix context tracing domain bitset overflow
- Previous behavior would enable all flags above ROCPROFILER_BUFFER_TRACING_MARKER_CORE_RANGE_API when this domain was enabled.

[ROCm/rocprofiler-sdk commit: 2c7f260e62]
2025-07-23 15:52:52 -05:00
Baraldi, Giovanni 4ca156e572 Thread trace and Trace Decoder API tests and samples (#416)
* Adding test and samples to decoder

* Fix sample

* Formatting

* Fix multi test

* Disable sample

* Fix tests

* Format

* Version fix

* Locking the decoder

* Add atomic

* Review comments

* Format

* Adding readme

* merge conflict and adding PCS+ATT test

* Review comments

* Properly disable PCS test

* Update tests/rocprofv3/advanced-thread-trace/CMakeLists.txt

* Adding back env var test

* Name fix

* Preload sample

* Addressing review comments

* Update docs

---------

Co-authored-by: Giovanni Baraldi <gbaraldi@amd.com>

[ROCm/rocprofiler-sdk commit: e898079a13]
2025-07-22 20:08:12 -05:00
systems-assistant[bot] 53e20372c7 Add 'projects/roctracer/' from commit 'dd745ed9c731cf1c67a182a4ce41ce30afbfb8ca'
git-subtree-dir: projects/roctracer
git-subtree-mainline: d8cba83d42
git-subtree-split: dd745ed9c7
2025-07-22 22:52:51 +00:00
systems-assistant[bot] d8cba83d42 Add 'projects/rocr-runtime/' from commit '72061a9024139fa0a99f73f9d3d4deb275670095'
git-subtree-dir: projects/rocr-runtime
git-subtree-mainline: ad0fb25ed5
git-subtree-split: 72061a9024
2025-07-22 22:52:49 +00:00
systems-assistant[bot] ad0fb25ed5 Add 'projects/rocprofiler-sdk/' from commit 'bf0fad1d5406fbc51403ba1aa9621a9d4a9bce2b'
git-subtree-dir: projects/rocprofiler-sdk
git-subtree-mainline: 50a90550e9
git-subtree-split: bf0fad1d54
2025-07-22 22:52:46 +00:00
systems-assistant[bot] 50a90550e9 Add 'projects/rocprofiler-register/' from commit '37d7d920364c8b10ab592ff79e1c6811d114e6fa'
git-subtree-dir: projects/rocprofiler-register
git-subtree-mainline: 2e5bcec303
git-subtree-split: 37d7d92036
2025-07-22 22:52:44 +00:00
systems-assistant[bot] 2e5bcec303 Add 'projects/rocprofiler/' from commit '16ae2e90c6157e98e846d2bccbaaf533ca5e662a'
git-subtree-dir: projects/rocprofiler
git-subtree-mainline: 2a52e3974d
git-subtree-split: 16ae2e90c6
2025-07-22 22:52:43 +00:00
systems-assistant[bot] 2a52e3974d Add 'projects/rocm-smi-lib/' from commit '7dba992ebd1beef78ec78d0d2974d6aa531786ff'
git-subtree-dir: projects/rocm-smi-lib
git-subtree-mainline: 25536e61be
git-subtree-split: 7dba992ebd
2025-07-22 22:52:41 +00:00
systems-assistant[bot] 25536e61be Add 'projects/rocminfo/' from commit 'cd0f8c6173acb803c3d871fe2bcc795bd7768c34'
git-subtree-dir: projects/rocminfo
git-subtree-mainline: ae5decac0f
git-subtree-split: cd0f8c6173
2025-07-22 22:52:39 +00:00
systems-assistant[bot] ae5decac0f Add 'projects/rocm-core/' from commit '75be79f4708a419d3755500ca67ed9ec062e15bf'
git-subtree-dir: projects/rocm-core
git-subtree-mainline: c2312be1a2
git-subtree-split: 75be79f470
2025-07-22 22:52:38 +00:00
systems-assistant[bot] c2312be1a2 Add 'projects/rdc/' from commit '5ae7eeb3550d4cb14cbc31d3022e545b054f1ad1'
git-subtree-dir: projects/rdc
git-subtree-mainline: a68afa42a1
git-subtree-split: 5ae7eeb355
2025-07-22 22:52:37 +00:00
systems-assistant[bot] a68afa42a1 Add 'projects/aqlprofile/' from commit '6f236ffb5f1bd128e11ba0bf09e3c0a52b6527e4'
git-subtree-dir: projects/aqlprofile
git-subtree-mainline: 9011821e05
git-subtree-split: 6f236ffb5f
2025-07-22 22:52:36 +00:00
Kandula, Venkateshwar reddy 0ff0ffffa2 [SDK] Expose counter dims in rocprofiler_counter_info_v1_t and only show counters being profiled in metadata. (#325)
* expose dimensional info in rocprofiler_counter_info_v1_t.

* add counter_id in dim info.

* address review comments

* format.

* address comments.

* use array of pointers for dimensions_instaces.

* format and comments.

* address comments.

* new line.

* Update counter_defs.yaml

* Update counter_defs.yaml

* Update counter_defs.yaml

* counter_defs.

* format counter defs.

* format counter defs.

* format counter defs.

* show only counters being profiled in metadata.

* Format.

* use config for counters and fix warnings.

* add version for rocprofiler_counter_dimension_info_v1_t struct.

* rename rocprofiler_counter_record_dimension_instance_v1_info_t.

* account device id from pmc for counters metadata.

* move dim structs to counters.h.

* address comments to compare value.

* fix tests.

* Address comments. use pointer of arrays for ABI.

* rebase.

* fix build error.

* use separate metadata::init() for rocprofv3.

* also print not found counters.

* precompute all the perf counters needed to be in metadata.

* Misc.

* format

* Format.

* rocprofiler::sdk::container::c_array

* Address comments.

* source/lib/output/metadata.cpp

* lint.

* add unit test for c_array.

* add unit test and serialization support for c_array container.

* Misc.

* Clean files.

* Format.

* clang-tidy.

* add more checks to c_array.

* misc. typo

* Addr comments.

---------

Co-authored-by: Venkateshwar Reddy Kandula <vkandula@amd.com>
Co-authored-by: Jonathan R. Madsen <Jonathan.Madsen@amd.com>

[ROCm/rocprofiler-sdk commit: bf0fad1d54]
2025-07-22 14:24:25 -07:00
Gill, Harkirat b88018d24d Update output file fields docs to correctly define Grid_Size (#526)
Co-authored-by: Bhardwaj, Gopesh <Gopesh.Bhardwaj@amd.com>

[ROCm/rocprofiler-sdk commit: e948034c83]
2025-07-22 23:16:01 +05:30
Nagaraj, Sriraksha 28d2a8f5bb [rocprofv3-avail] - Add sample data (#514)
* Add sample data for avail and remove color code for non terminal output

* review comments

* review comments

* add documentation

* test fix

[ROCm/rocprofiler-sdk commit: 2447a85215]
2025-07-22 08:39:59 -07:00
Indic, Vladimir f38f6cc82e MI350 stochastic support in changelog (#530)
[ROCm/rocprofiler-sdk commit: 57bfd0f607]
2025-07-22 08:39:22 -07:00
Baraldi, Giovanni 620924b15f Adding inline callstack information to disassembly (#468)
* Adding callstack information to disassembly

* changelog

* Cleanup

* Fix snapshots.json

* Clang tidy fixes

* Fix infinite recursion

* Apply suggestions from code review

Co-authored-by: Indic, Vladimir <Vladimir.Indic@amd.com>

* Remove sibling transversal

* Added docstrings

* Apply suggestions from code review

* Update source/include/rocprofiler-sdk/cxx/codeobj/code_printing.hpp

* Review comments

* Format + comments

* Fmt

* Add class name

* Format

* Fix static linkage

* Making funcs inline

---------

Co-authored-by: Giovanni <gbaraldi@amd.com>
Co-authored-by: Indic, Vladimir <Vladimir.Indic@amd.com>

[ROCm/rocprofiler-sdk commit: be74e1b49f]
2025-07-22 15:52:42 +02:00
Indic, Vladimir f6ed502afd [Stochastic PC Sampling][GFX9] Increasing ROCr buffer to 4MBs. (#487)
Increasing ROCr buffer to 4MBs.

[ROCm/rocprofiler-sdk commit: de4708963e]
2025-07-18 12:06:17 -05:00
Madsen, Jonathan 990946e956 [SDK] Fix null handles (#474)
* Fix null handle

- use .handle=0, not .handle=numeric_limits<>::max()

* Update lib.common.hasher

* Fix ROCPROFILER_CONTEXT_NONE

* Use context operator==

* Update CHANGELOG

* Updated null handle for scratch memory and changed allocation test so that free ops account for null agent

---------

Co-authored-by: Ian Trowbridge <Ian.Trowbridge@amd.com>

[ROCm/rocprofiler-sdk commit: 4d6a61f5e5]
2025-07-18 12:05:52 -05:00
Nagaraj, Sriraksha 483a10f53a [SDK] Update UUID (rocprofiler_uuid_t) (#390)
* changing uuid abi

* fix

* review comments

* fix CI fail

* review comments

* fix

* adding static asserts

* making constructor constexpr

* fix CI fail

* upadate UUID length to 16 bytes

* fixing value64

Co-authored-by: Madsen, Jonathan <Jonathan.Madsen@amd.com>

* Update CHANGELOG.md

Co-authored-by: Madsen, Jonathan <Jonathan.Madsen@amd.com>

---------

Co-authored-by: Madsen, Jonathan <Jonathan.Madsen@amd.com>

[ROCm/rocprofiler-sdk commit: fcfb5bd918]
2025-07-18 11:24:48 -05:00
Bonnell, Jason 052eb24881 replace azure runners with internal (#518)
* replace azure runners with internal

* change to mi300a for debug

* revert back to mi300

* move some of the load to mi300a

* use mi300a for clang-tidy

---------

Co-authored-by: Kandula, Venkateshwar reddy <Venkateshwarreddy.Kandula@amd.com>

[ROCm/rocprofiler-sdk commit: f4cce0d2d4]
2025-07-17 18:09:17 -05:00
systems-assistant[bot] 6755fa3a36 Add 'projects/rocprofiler-systems/' from commit '92e1d84c72c9321d79a1866e0090fae0215e6557'
git-subtree-dir: projects/rocprofiler-systems
git-subtree-mainline: ee9e74df21
git-subtree-split: 92e1d84c72
2025-07-17 18:13:44 +00:00
systems-assistant[bot] ee9e74df21 Add 'projects/rocprofiler-compute/' from commit 'd2cec001161fc49761bd71a498474a447b1d6975'
git-subtree-dir: projects/rocprofiler-compute
git-subtree-mainline: 8a4d7262f8
git-subtree-split: d2cec00116
2025-07-17 18:13:42 +00:00
Indic, Vladimir d5aba741f3 [Host-Trap PC Sampling] Host-Trap PC sampling an introduce an arbitrary sampling skid of [0, 2] instructions (#515)
* Arbitrary host-trap sampling skid (doc)

The host-trap PC sampling might introduce a skid of [0, 2]
instructions. We documented this information and provides
some advice to application developers how to find
hot-spots in the profiles generated by host-trap sampling.

[ROCm/rocprofiler-sdk commit: 650d35bdaa]
2025-07-17 17:59:46 +02:00
Wang, Huanran f96cafaa60 [rocprofv3] Sanitize string of command in rocpd (#467)
Sanitize string of command in rocpd

Co-authored-by: Huanran Wang <huanrwan@amd.com>

[ROCm/rocprofiler-sdk commit: 5c45c77ec7]
2025-07-15 13:01:14 -04:00
Tumakaev, Aleksei b439b4e719 [rocprofv3] Fix incorrect position of Allocation_Size header in memory_allocation csv (#510)
Fix incorrect position of Allocation_Size header in memory_allocation csv

[ROCm/rocprofiler-sdk commit: 4af73d078f]
2025-07-15 18:15:22 +02:00
Kandula, Venkateshwar reddy f2a5139a37 [CI] add hip api table version of 13 to enum string (#509)
add hip table version to 13, API_ID_LAST is not changed from version=12 since no new struct has been added.

Co-authored-by: Venkateshwar Reddy Kandula <vkandula@amd.com>

[ROCm/rocprofiler-sdk commit: d2393c97f8]
2025-07-11 16:22:12 -05:00
Welton, Benjamin 7dcf95fb57 [SWDEV-540753] Reduce memory allocations in device profiling (#507)
Cache packet creation in all cases to reduce the number of allocations/
destruction operations made down to KFD. There is a bug that we
encounter after a period of runtime in KFD where allocations fail to be
visable to the GPU (suspect this is a FW issue, similar to other FW
issues they have had along the same lines). This sidesteps that issue in
rocprof (and likely should be done regardless)

Co-authored-by: Benjamin Welton <bewelton@amd.com>

[ROCm/rocprofiler-sdk commit: 7e3ea0c58e]
2025-07-11 12:46:19 -07:00
Nagaraj, Sriraksha c8912d2bb6 [rocprofv3-avail] Documentation update and column formatting (#447)
* addressing issues

* doc fix

* test fix

* fix

* fix formatting issue and doc update

* fix column size

* fix

* fix formatting in output

* tests fix

* test fix

* add new line

* add new line

* fix new line

* fixing typo in using-rocprofv3-avail.rst

[ROCm/rocprofiler-sdk commit: 3aaffc42da]
2025-07-10 11:41:12 -05:00
Elwazir, Ammar 23e601837c Fixing Docs Workflow (#505)
[ROCm/rocprofiler-sdk commit: e5161f6e06]
2025-07-09 17:19:16 -05:00
Elwazir, Ammar f5cb757547 Fix Docs Workflow (#504)
* Update docs.yml

* Update docs.yml

* Update docs.yml

[ROCm/rocprofiler-sdk commit: d68e1754d7]
2025-07-09 12:45:49 -05:00
Elwazir, Ammar f051f37cdc GPU-less runners update (#503)
* Update codeql.yml

* Update codeql.yml

* Update codeql.yml

* Update codeql.yml

* Update codeql.yml

* Update codeql.yml

* Update codeql.yml

* Update codeql.yml

* Update codeql.yml

* Update codeql.yml

* clean up

* clean up

* clean up

* Update codeql.yml

* Update codeql.yml

---------

Co-authored-by: Ammar ELWazir <aelwazir@amd.com>

[ROCm/rocprofiler-sdk commit: a871e3534a]
2025-07-09 11:46:47 -05:00
U, Srihari 7243889d6a Add perfetto support for scratch memory (#303)
* Add perfetto support for scratch memory

* Updated tests and docs.

* Update docs data

* Added underflow check

* Record all free events to 0 bytes

* Add format

* Address review comment

* updated tests for scratch memory

* update scratch-memory tests.

[ROCm/rocprofiler-sdk commit: 6f2a5a9646]
2025-07-09 21:05:45 +05:30
Welton, Benjamin fbf17a42d4 [SWDEV-516561][1/2] Add MARKER_RANGE_EXTENT to capture ROCTX ranges (#363)
* [SWDEV-516561][1/2] Add MARKER_RANGE_EXTENT to capture ROCTX ranges

Range extent to capture all work between roctxpush/pop operations. Entry callback takes place during roxtxpush and exit callback takes place in roctxpop. This is primarily to allow us to keep an ancestor id on the ancestor stack such that all operations that take place within the push/pop context can be annotated as being apart of this range. With the current setup (where push and pop are two separate operations that need to be combined externally), we cannot keep an ancestor id on the stack and thus cannot tie tracing events to particular ranges.

Correlation id information is inherited from the push operation. Ancestor id needs to be added in a future commit that also outputs this ancestor to CSV.

Output:

```
[ctest] {'size': 64, 'kind': 7, 'operation': 1, 'correlation_id': {'internal': 1525, 'external': 0, 'ancestor': 1524}, 'start_timestamp': 2932551479402642, 'end_timestamp': 2932551491178449, 'thread_id': 3254861}
[ctest] {'size': 64, 'kind': 8, 'operation': 2, 'correlation_id': {'internal': 1525, 'external': 0, 'ancestor': 1524}, 'start_timestamp': 2932551479405878, 'end_timestamp': 2932551491181214, 'thread_id': 3254861}
```

Note: Kind 8 = range extent op.

* Merge fix

Revert several changes

source/lib/rocprofiler-sdk/marker/range_marker.*

- separate out range marker implementation for standard marker implementation

Update public API with marker core range

Support marker core range in sdk (source/lib/rocprofiler-sdk)

Transition rocprofiler-sdk-tool and output lib to use marker core range

Misc fixes for tests

Fix logic in lib/output/generate{CSV,Stats}.cpp

Update tests/rocprofv3/tracing-hip-in-libraries (marker validation)

Fix test_otf2_data

* Test fixes

---------

Co-authored-by: Benjamin Welton <bewelton@amd.com>

[ROCm/rocprofiler-sdk commit: 2c4e20b951]
2025-07-08 23:41:22 -07:00
Welton, Benjamin 187bdeca54 [SDK] Added retry for signal wait (#494)
Added retry for signal wait

Co-authored-by: Benjamin Welton <bewelton@amd.com>

[ROCm/rocprofiler-sdk commit: 2fa98c4d14]
2025-07-08 23:28:02 -07:00