Commit Graph

450 Commits

Author SHA1 Message Date
Jonathan R. Madsen 651e28f7f0 rocprofv3: support specifying HW counters via command line (#1130)
* rocprofv3: support specifying PMC counters via command line

- E.g. `rocprofv3 --pmc SQ_WAVES -- <app>`

* Update CHANGELOG

* updated rocprofv3 help and documentation

---------

Co-authored-by: Gopesh Bhardwaj <gopesh.bhardwaj@amd.com>

[ROCm/rocprofiler-sdk commit: d93d4d9463]
2024-10-25 02:49:30 -05:00
Giovanni Lenzi Baraldi dbad56597a Fix for clang tidy (#1155)
[ROCm/rocprofiler-sdk commit: b5f1d70105]
2024-10-24 20:37:05 -03:00
Giovanni Lenzi Baraldi f1c7a1a368 SWDEV-489158: Optimizing counter collection performance (#1150)
* SWDEV-489158: Optimizing counter collection performance

* Static initializer fix

* adding sched_yield+sleep

[ROCm/rocprofiler-sdk commit: aef18896dd]
2024-10-24 16:58:07 -03:00
Gopesh Bhardwaj 4a64ab1884 Fixing logging (#1146)
* Fixing logging

* Removing logs

[ROCm/rocprofiler-sdk commit: 42765c35a2]
2024-10-24 12:03:16 +05:30
Sam Wu 132f00cbec Documentation - Bump rocm-docs-core to 1.8.2 (#1116)
* Bump rocm-docs-core to 1.8.2

* changing certi back to previous version

---------

Co-authored-by: Gopesh Bhardwaj <gopesh.bhardwaj@amd.com>

[ROCm/rocprofiler-sdk commit: dd71131114]
2024-10-23 17:24:12 +05:30
venkat1361 4a048d9052 Max reduction operation bug fix & support reduction for derived counters (#1085)
* Max reduction operation bug fix & support reduction for derived counters

* CHANGELOG

* Added missing new line

---------

Co-authored-by: Gopesh Bhardwaj <gopesh.bhardwaj@amd.com>

[ROCm/rocprofiler-sdk commit: 9d3d5cc07c]
2024-10-22 22:49:51 +05:30
venkat1361 3819a846da Check to force tools to initialize the ctx id to zero. (#1135)
* Check to force tool to initialize the ctx id to zero.

* initialize rocprofiler_context_id_t with 0 in units tests

* changelog

---------

Co-authored-by: Gopesh Bhardwaj <gopesh.bhardwaj@amd.com>

[ROCm/rocprofiler-sdk commit: 3f91d90bbc]
2024-10-22 18:09:25 +05:30
Jonathan R. Madsen d87319ba1c Miscellaneous Testing Fixes + CMake find_package include guard (#1106)
* Improve ROCPROFILER_DEFAULT_FAIL_REGEX

* Support find_package called twice

* Skip iteration of ROCPROFILER_AGENT_TYPE_CPU

* Relax tests/rocprofv3/summary

* Tweak to rocprofiler-sdk-tool/tool.cpp

* Move rocprofv3-trigger-list-metrics to libexec

* Remove PC_SAMPLING_TESTS_REGEX from CI workflow

* Update packaging

- core component depends on roctx component

* Increase verbosity for failing tests

* Fix RPATH of rocprofv3-trigger-list-metrics

---------

Co-authored-by: Gopesh Bhardwaj <gopesh.bhardwaj@amd.com>

[ROCm/rocprofiler-sdk commit: a92fa8f071]
2024-10-22 16:24:16 +05:30
Gopesh Bhardwaj 3f62fe0730 Removing rocprofv3.sh and rocprofv3 install path to sbin (#1143)
[ROCm/rocprofiler-sdk commit: bfe80a4428]
2024-10-22 14:16:36 +05:30
venkat1361 a078d9c3af Parsing Select() expression dimension args to support range of values. (#1074)
* dim args for select token now supports range of values instead of single integer

* dim args for select token now supports range of values instead of single integer

* modified raw_ast fmt::format

* CHANGELOG.md

* varible rename for select dim from set to map in suffix

* use : for giving range of values

* Update source/lib/rocprofiler-sdk/counters/parser/scanner.cpp

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* format

* Update CHANGELOG.md

* using map instead of unordermap for select_dimension_map

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Gopesh Bhardwaj <gopesh.bhardwaj@amd.com>

[ROCm/rocprofiler-sdk commit: 22881148bd]
2024-10-22 11:44:08 +05:30
Benjamin Welton 5533743436 Added agent_id to rocprofiler_record_counter_t (#1078)
Co-authored-by: Benjamin Welton <ben@amd.com>

[ROCm/rocprofiler-sdk commit: 210762c69d]
2024-10-21 16:29:53 -07:00
Benjamin Welton 30492950a6 Test for AQL packet decoding for SQ Waves (#765)
Checks the decoding of AQL packets for SQ Waves by
launching a kernel, injecting the AQL packets, and
decoding the result. This does not use write interceptor
but does this check on a raw HSA stream with direct
injection.

[ROCm/rocprofiler-sdk commit: c6ae3961f8]
2024-10-21 10:41:29 -07:00
Gopesh Bhardwaj 8729825405 Simplifying PR template (#1139)
[ROCm/rocprofiler-sdk commit: d5b7c399b0]
2024-10-19 12:47:49 +05:30
Benjamin Welton d89a46ca2e Agent Profiling Fixes for Broken/Improper API Usage (#1122)
Prevent's multiple setups of agent profiling on the same agent.

Fixes agent read context to only read agents that were setup.

Prevent copy of agent profiling internal data struct and reset
hsa_signal on move to prevent inadvertant delete.

[ROCm/rocprofiler-sdk commit: 788e687167]
2024-10-18 15:48:22 -07:00
Gopesh Bhardwaj 3a65aabe8b Testing updated RPM dockers (#1136)
* Testing updated RPM dockers

* Trying to fix PSDB for test package dependency

[ROCm/rocprofiler-sdk commit: b502f98ea3]
2024-10-18 22:15:06 +05:30
Benjamin Welton 345fde3ebc Renamed agent profiling service to device counting service (#1132)
* Renamed agent profiling service to device counting service

Name more aptly represents what agent profiling did (device wide
counter collection). Conversion of existing user code can be
performed by the following find/sed command:

find . -type f -exec sed -i 's/rocprofiler_agent_profile_callback_t/rocprofiler_device_counting_service_callback_t/g; s/rocprofiler_configure_agent_profile_counting_service/rocprofiler_configure_device_counting_service/g; s/agent_profile.h/device_counting_service.h/g; s/rocprofiler_sample_agent_profile_counting_service/rocprofiler_sample_device_counting_service/g' {} +

* Converted dispatch profile to dispatch counting service

* Debug for functioal counters test

* Minor changes for CI

* Minor fix

* More fixes for CI

* Update evaluate_ast.cpp

---------

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

[ROCm/rocprofiler-sdk commit: bb69467765]
2024-10-18 14:14:11 +05:30
Gopesh Bhardwaj 63c5f87b85 rocprofv3: docs and help menu updates (#1129)
* doc updates

* Correcting ROCtx information

* Making ROCTx string consistent

* missing occurence

[ROCm/rocprofiler-sdk commit: 320427b5f5]
2024-10-17 13:28:53 +05:30
Manjunath P Jakaraddi ad4b331279 Adding start and end timestamp columns in csv (#1128)
* Adding start and end timestamp columns in csv

* Adding assert check for the counter timestamps

---------

Co-authored-by: Gopesh Bhardwaj <gopesh.bhardwaj@amd.com>

[ROCm/rocprofiler-sdk commit: 673c21c6db]
2024-10-17 11:31:00 +05:30
Benjamin Welton 9ea02403df Clang Warning Fixes (#1131)
Builds prevented on clang-18

[ROCm/rocprofiler-sdk commit: 28a6918b33]
2024-10-15 22:20:38 -07:00
Ammar ELWazir b610c50913 Fixing kokkosp tool library packaging (#1121)
* Fixing kokkosp tool library packaging

* Update source/lib/rocprofiler-sdk-tool/kokkosp/CMakeLists.txt

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update CMakeLists.txt

* Update CMakeLists.txt

* Component Requirement in CPack

* Adding package dependency

* Update CMakeLists.txt

* Update rocprofiler_config_packaging.cmake

* Fix rocprofiler-sdk-tool-kokkosp BUILD/INSTALL RPATH

- CMAKE_INSTALL_LIBDIR doesn't help

* Add BUILD/INSTALL RPATH to rocprofv3-trigger-list-metrics

- fixes packaging issues

* Update packaging

- core depends on rocprofiler-sdk-roctx
- add CPACK_DEBIAN_PACKAGE_SHLIBDEPS_PRIVATE_DIRS to resolve inter-package dependencies

* Fix package depends version format

* Improve tests/rocprofv3/summary/validate logging

* Update CI workflow

- prioritize roctx package in Install Packages step

* Remove setting <package-name>_VERSION in config.cmake.in

- this is automatically handled by existence of <package-name>-config-version.cmake

* Update rocprofiler-sdk-config.cmake

- relax find_package versioning requirements to same major and minor version

* Update rocprofiler-sdk-config.cmake

- relax find_package versioning requirements (remove EXACT, specify range)

* Tweak CI workflow

* Update perfetto_reader.py

- better handle failure to load trace processor

* Misc cleanup for config packaging

* Update config packaging

* Update config packaging

* Revert perfetto for core-rpm packages

* Revert perfetto for core-rpm packages

- perfetto < 0.9.0

* Tweak tests/rocprofv3/summary/validate.py

- reorder some checks

---------

Co-authored-by: Ammar Elwazir <aelwazir@useocpm2m-387-013.amd.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>

[ROCm/rocprofiler-sdk commit: d762694acb]
2024-10-15 20:28:06 -05:00
Jonathan R. Madsen 3df0605296 Correct the package name of rocprofiler-sdk (#1126)
* Correct the package name of rocprofiler-sdk

ROCM VERSION(for ex: 60300) was missing in the package name.
Added the same

* Use cmake cache string while setting the variable for ROCm Version

* correct the cmake-format

---------

Co-authored-by: Ranjith Ramakrishnan <Ranjith.Ramakrishnan@amd.com>

[ROCm/rocprofiler-sdk commit: 309d53b20b]
2024-10-15 18:45:51 -05:00
Gopesh Bhardwaj 00a28487fe Adding Node-id for debugging with log level trace (#1090)
[ROCm/rocprofiler-sdk commit: 8ab1ed78d8]
2024-10-10 11:00:28 +05:30
Gopesh Bhardwaj b426c65c43 mem copy direction field update (#1124)
[ROCm/rocprofiler-sdk commit: 81e93a6ddb]
2024-10-08 15:15:48 +05:30
Benjamin Welton c69cb447ee clang-18 build fix for RCCL (#1123)
Removes ambiguity on const usage, which clang-18 complains about
(preventing build with warn error).

[ROCm/rocprofiler-sdk commit: b46966e96b]
2024-10-07 15:58:41 -07:00
Mythreya cbf61d5a66 Fix PSDB change (#1120)
Reverts change to `source/include/rocprofiler-sdk/callback_tracing.h`
from commit c77e4d3b80

[ROCm/rocprofiler-sdk commit: a3b41d04fc]
2024-10-07 17:37:19 -05:00
Giovanni Lenzi Baraldi 6361ff50a5 SWDEV-487621: Fixes for metric definitions (#1118)
* Fixes for metric definitions

* Removing gfx8

* Update changelog

* Fixing unit tests

* Small fixes

* Fix for write size

[ROCm/rocprofiler-sdk commit: 9652a6e738]
2024-10-08 02:44:31 +05:30
Giovanni Lenzi Baraldi 43684c07c6 SWDEV-488948: PC Sampling - Correlation class to provide some thread safety. Adding multithread tests. (#1112)
* SWDEV-488948: PC Sampling - Correlation class to provide some thread safety. Adding multithread tests.

* Update source/lib/rocprofiler-sdk/pc_sampling/parser/correlation.hpp

Co-authored-by: Vladimir Indic <139573562+vlaindic@users.noreply.github.com>

* Update source/lib/rocprofiler-sdk/pc_sampling/parser/correlation.hpp

Co-authored-by: Vladimir Indic <139573562+vlaindic@users.noreply.github.com>

* Adding backlog for codeobj changes

* Formatting

* Update source/lib/rocprofiler-sdk/pc_sampling/code_object.hpp

Co-authored-by: Vladimir Indic <139573562+vlaindic@users.noreply.github.com>

* Update source/lib/rocprofiler-sdk/pc_sampling/code_object.hpp

Co-authored-by: Vladimir Indic <139573562+vlaindic@users.noreply.github.com>

---------

Co-authored-by: Vladimir Indic <139573562+vlaindic@users.noreply.github.com>

[ROCm/rocprofiler-sdk commit: a6be3f9660]
2024-10-07 20:00:59 +00:00
Gopesh Bhardwaj c77e4d3b80 Fixing installed pacakge tests in CI (#1119)
* Fixing installed pacakge tests in CI

* Formatted rocprofv3.py with black formatter

[ROCm/rocprofiler-sdk commit: 9b2ece76c3]
2024-10-07 20:55:35 +05:30
Gopesh Bhardwaj 0b356e16aa updating rocprofv3 help options (#1113)
* updating rocprofv3 help options

* updating CHANGELOG

[ROCm/rocprofiler-sdk commit: f2f267bcc0]
2024-10-05 12:40:27 +05:30
Giovanni Lenzi Baraldi 9038cfac07 Fixing some accumulate metrics (#1089)
* Fixing some accumulate metrics

* Fixing some more accumulate metrics

---------

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

[ROCm/rocprofiler-sdk commit: fa7fc7ec5d]
2024-10-03 09:44:31 -07:00
Giovanni Lenzi Baraldi dc85966562 SWDEV-467350: Skipping tool counter iteration for unsupported hardware (#1083)
[ROCm/rocprofiler-sdk commit: 1d6a0b5c80]
2024-10-03 09:04:42 -07:00
Benjamin Welton 9532bd7032 Update limit for max counter records in rocprof-tool (#1073)
A fixed sized std::array is used to store counter records in rocprofiler SDK. This limit was breached in SWDEV-484742. Upping the limit to 512 to be less likely to reach this limit again.

[ROCm/rocprofiler-sdk commit: a159fb47c7]
2024-10-02 16:56:42 -07:00
Benjamin Welton ee620bf7dc [SWDEV-484495] Fix int truncation in CSV output (#1098)
CSV output truncates doubles to ints when it shouldn't. Derived metrics
are (mostly) doubles and lose precision (or become worthless) if treated
as an int. Converted these to double to match the format we return from
rocprof-sdk.

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

[ROCm/rocprofiler-sdk commit: 4f05850efd]
2024-10-02 16:55:00 -07:00
Jeffrey Novotny c470fd1cc4 Correct link to rocprofiler-sdk GitHub (#1097)
[ROCm/rocprofiler-sdk commit: 78fe20320f]
2024-09-27 21:03:49 -06:00
Benjamin Welton d01b3e1a33 [rocprofv3] Do not fetch metrics for CPU agents (#1101)
Skip CPU agents when fetching metrics. Only fetch metrics for GPU
agents.

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

[ROCm/rocprofiler-sdk commit: 0c4a583e23]
2024-09-27 21:03:18 -06:00
itrowbri acb3a65007 Updated validation of aborted-app test to use hipExtHostAlloc (#1103)
* Updated validation of aborted-app test to use hipExtHostAlloc now that tracing for this command is supported

* Updated CHANGELOG

[ROCm/rocprofiler-sdk commit: 5dd2f94f74]
2024-09-27 21:02:00 -06:00
Ammar ELWazir bdca97f75f Updating ROCm Version Checker for CI
[ROCm/rocprofiler-sdk commit: 16e791dc9a]
2024-09-27 14:09:24 -05:00
Ammar ELWazir be05575a18 Checking ROCm Version in CI
[ROCm/rocprofiler-sdk commit: 47154f5a8b]
2024-09-27 14:07:11 -05:00
Joseph Macaranas 2bafbe3933 External CI enablement (#1100)
Will only be enabled on the public repo, but present in this repo for consistency.

[ROCm/rocprofiler-sdk commit: a3819f09ad]
2024-09-26 15:43:55 -05:00
Ammar ELWazir 528b629148 Fixing ROCProfiler SDK Generate packages action (#1096)
[ROCm/rocprofiler-sdk commit: 38098f28c1]
2024-09-25 08:17:21 -05:00
Jonathan R. Madsen 7e2a6916df Fix rocprofiler-sdk-tool-kokkosp (#1094)
* Fix rocprofiler-sdk-tool-kokkosp

- missing symbol `rocprofiler::common::impl::get_env(std::basic_string_view<char, std::char_traits<char> >, bool)`

* cmake formatting

[ROCm/rocprofiler-sdk commit: 2f0ec02950]
2024-09-24 17:04:58 -05:00
Ammar ELWazir 95b03d1e1d Generate STGZ Packages on dispatch (#1093)
[ROCm/rocprofiler-sdk commit: edbaed38c7]
2024-09-24 16:54:46 -05:00
Sam Wu 7475783cb9 Add dependabot config for updating documentation requirements (#1018)
[ROCm/rocprofiler-sdk commit: cc45896bf5]
2024-09-18 11:31:17 -06:00
Jonathan R. Madsen 7dbe1d0650 Fix roctracer-roctx test (#1088)
- original format using generator expressions (`$<IF:$<TARGET_EXISTS:...>,$<TARGET_FILE:...>,>`) appears to cause issues with older CMake versions

[ROCm/rocprofiler-sdk commit: d7874f3496]
2024-09-17 08:59:34 -05:00
Gopesh Bhardwaj d7aa58e291 comparing tool options in rocprof/rocprofv2/rocprofv3 (#1050)
* comparing tool options in rocprof/rocprofv2/rocprofv3

* Added more perfetto options

* Added new summary optipons

* Added Category for all options

* Apply suggestions from code review

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

* changes requested in SWDEV-484472

* Correct broken table formatting

* detailed explanation on json custom format

* Feedback Resolution

---------

Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com>
Co-authored-by: Ammar ELWazir <ammar.elwazir@amd.com>

[ROCm/rocprofiler-sdk commit: 863b608ae3]
2024-09-16 20:08:11 +05:30
Jonathan R. Madsen 120a358069 Update HIP tracing ABI (#1025)
* Update HIP ABI tracing

* Minor HIP abi.cpp updates

* Misc roctx updates (version.h + more)

* Common static thread-local template struct

- static_tl_object
- similar to static_object but with thread-local semantics

* rocprofiler-sdk/version.h updates

* Update for HIP_RUNTIME_API_TABLE_STEP_VERSION == {4,5,6}

* Fix roctx.cpp tweaks

[ROCm/rocprofiler-sdk commit: 7861dcc6c6]
2024-09-13 17:10:35 -05:00
venkat1361 b9d2b3f495 SWDEV-476852 - Check added for agent architecture counters support. (#1022)
* check added for agent arch support

* formatting issue

[ROCm/rocprofiler-sdk commit: bc82eccf4f]
2024-09-13 11:28:00 -07:00
Jonathan R. Madsen 5db64b5425 Fix OTF2 build dependency (#1080)
- systems with many cores (e.g. 128) had a race condition between compiling generateOTF2.cpp and the otf2-build make install step

[ROCm/rocprofiler-sdk commit: 92c0c9d252]
2024-09-13 03:16:06 -05:00
itrowbri 6099e623a4 SWDEV-483130: Replace calls to deprecated functions hipHostMalloc/hipHostFree (#1070)
* SWDEV-483130: Replace calls to deprecated functions hipHostMalloc/hipHostFree

* SWDEV-483130: Replace calls to deprecated functions hipHostMalloc/hipHostFree. Moved definitions from lib/commons/defines.hpp to samples/common/defines.hpp and tests/common/defines.hpp

* Updated comment for clarity

* Update tests/rocprofv3/aborted-app/validate.py

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Formatting

* Formatting

* Updated CHANGELOG

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

[ROCm/rocprofiler-sdk commit: 8d7be2e4b4]
2024-09-12 18:31:00 -05:00
Mythreya d008463d50 Enable queue interception with scratch reporting (#1069)
* Enable queue interception with scratch reporting

Scratch reporting reports agent ID in buffer and callback records, but
HSA runtime provides only queue ID in the scratch callback.

This change enables queue interception when scratch reporting is requested

* Validation test for rocprofv3 + scratch-memory-trace

* Simplify checks for whether context is tracing a domain

* Update changelog

---------

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>

[ROCm/rocprofiler-sdk commit: efbe4ea0a2]
2024-09-12 18:26:34 -05:00