Commit Graph

8920 Commits

Author SHA1 Message Date
Giovanni LB 893bcb0c10 Adding ATT support for gfx12
Change-Id: I549f36061bd961347eb92795846d660069c263fc
2024-06-21 11:25:49 -04:00
Vladimir Indic 79e81c9b39 PC sampling IOCTL versioning refactored (#945)
The following changes are introduced:
- Use functions instead of macros.
- Verify the error code when querying KFD IOCTL version.
- Skip tests and samples if KFD IOCTL < 1.16 or PC Sampling IOCTL < 0.1.
2024-06-21 11:23:00 +02:00
jingyu1l e9cc9b8e81 Merge amd-staging into amd-master 20240619
Signed-off-by: jingyu1l <Jingyu1.Li@amd.com>
Change-Id: Ie1bdecfc8415cd8ca242a7f2de14ac4824015b09
2024-06-21 11:47:01 +08:00
David Galiffi 99c9618c39 ROCm 6.1 Installers (#349)
* Add ROCm 6.1 to packages
* Bump version to 1.11.3
* Add 6.1 support to the docker build support.
   Simplified this by adding 6.* to case statements, now that repo links have been standardized.
2024-06-20 21:55:28 -04:00
Ranjith Ramakrishnan 2b6d73d3e7 SWDEV-464716 - Use the correct hsa devel package for RPM dependencies
hsa-rocr-devel should be used for RPM dependency.
Runtime package should depend on has-rocr

Change-Id: I61a25c47d18f14686bbb55f5ccbf1f49d27bb9b0
2024-06-20 16:06:10 -07:00
Jonathan R. Madsen 219b2e988e Workflow, submodules, and thread info Updates (#352)
* Update CI workflows

- use node20 workflow packages

* Update tests/source/CMakeLists.txt

- Use OMNITRACE_TRACE and OMNTRACE_PROFILE instead of perfetto/timemory

* Update timemory submodule

- argparse: requires -> required
- parse callbacks

* Update thread_info.cpp

- fix causal::delay::get_local usage

* Update timemory submodule

* Update kokkos submodule

- release 3.7.02

* Revert opensuse.yml and ubuntu-bionic.yml to use node16 workflows

* Update docs.yml
2024-06-20 17:47:31 -05:00
gobhardw 33ba37b58e README update for gerrit->github nightly sync
Change-Id: Ice31239def9f6cf4c1e8ef689d7b92df75ca3b4c
2024-06-20 02:59:06 -04:00
Gopesh Bhardwaj 5536bb5fc2 doc update for 6.2 release (#938)
* doc update for 6.2 release

* Adding warning for gerrit->github nightly sync
2024-06-20 08:38:47 +05:30
Vladimir Indic b6833710dc PC Sampling IOCTL version check introduced (#944) 2024-06-20 08:20:46 +05:30
Jonathan R. Madsen f8d52a6dbf Add release links to installation.md (#351) 2024-06-19 15:10:42 -05:00
David Galiffi 59e7b4b501 Check for an empty vector before popping (#350)
Protect from possible seg. fault

Signed-off-by: David Galiffi <David.Galiffi@amd.com>
2024-06-19 14:59:23 -04:00
Benjamin Welton 81d1407565 Incremental Counter Profile Creation (#933)
* Incremental Counter Profile Creation

Adds support for incremental counter creation. How this functions is the
behavior of rocprofiler_create_profile_config has been changed.

rocprofiler_create_profile_config(rocprofiler_agent_id_t           agent_id,
                                  rocprofiler_counter_id_t*        counters_list,
                                  size_t                           counters_count,
                                  rocprofiler_profile_config_id_t* config_id)

The behavior of this function now allows an existing config_id to be
supplied via config_id. The counters contained in this config will be
copied over and used as a base for a new config along with any counters
supplied in counters_list. The new config id is returned via config_id
and can be used in future dispatch/agent counting sessions.

A new config is created over modifying an existing config since there
is no gaurentee that the existing config isn't already in use. While we
could add locks (or other mutual exclusion properties) to check if its
in use and reject an update, the benefit from doing so is minor in
comparison to just creating a new config. This also side steps a common
pattern a tool may use to add additional counters at some point later on
during execution. Now they can do that without destroying the existing
config.

---------

Co-authored-by: Benjamin Welton <ben@amd.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-19 00:11:03 -07:00
Benjamin Welton ab92bef1a4 Replicate global counters across all derived counters (#936)
Fix derived counters to have globals replicated across all architectures (that support them).
---------

Co-authored-by: Benjamin Welton <ben@amd.com>
2024-06-18 23:40:19 -07:00
Ranjith Ramakrishnan d54bade574 SWDEV-468081 - Remove package provides field from RPM and DEB package
The provides tag is required when the package provides a virtual package.
Package name along with version will be provided by default and the provides tag is not required for this.
Using the tag for providing the name, but without version was resulting in package upgrade issues.

Change-Id: I74506d8c3bbd75d028bcdc03525c29541dce2b4c
2024-06-18 18:27:53 -04:00
Galantsev, Dmitrii a885944d97 SWDEV-468423 - Install authentication scripts
Change-Id: I4289fa546bf44861c18f71e156c84a4f7dd4a2ed
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2024-06-18 17:20:12 -05:00
Galantsev, Dmitrii 12c8237705 Fix assignment of member dismiss_
This patch fixes error:
    error: assignment of member 'dismiss_' in read-only object

Reported by kind Gentoo folks:
<https://bugs.gentoo.org/918709>

Change-Id: I7cc593043e97402afd85593c528ace86952b1350
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2024-06-17 16:56:46 -04:00
jatang e7b96b1e71 SWDEV-458392 - Add gfx12 support.
Change-Id: I91bb6a3329bf77f26005a345c18b63b86922028a
2024-06-17 13:24:48 -04:00
David Galiffi f9ae806b78 Removing static version asserts. (#347)
It is causing failures on our internal builds

Signed-off-by: David Galiffi <David.Galiffi@amd.com>
2024-06-15 12:33:08 +05:30
ajanicijamd 74ed76529a Changed macros verbprintf and verbprintf_bare so they write to stdout… (#346)
Flush stdout when listing keys + bump verbose level for GPU count
2024-06-14 16:50:25 -04:00
dependabot[bot] 7de51c8248 Bump rocm-docs-core from 1.2.1 to 1.4.0 in /docs/sphinx
Bumps [rocm-docs-core](https://github.com/ROCm/rocm-docs-core) from 1.2.1 to 1.4.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.2.1...v1.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>

Change-Id: I60c2d94a447b71ca0ce26a87b7f55b055b8aff8e
2024-06-14 15:25:19 -04:00
dependabot[bot] 311429fe7a Bump rocm-docs-core from 1.2.0 to 1.2.1 in /docs/sphinx
Bumps [rocm-docs-core](https://github.com/RadeonOpenCompute/rocm-docs-core) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/RadeonOpenCompute/rocm-docs-core/releases)
- [Changelog](https://github.com/ROCm/rocm-docs-core/blob/v1.2.1/CHANGELOG.md)
- [Commits](https://github.com/RadeonOpenCompute/rocm-docs-core/compare/v1.2.0...v1.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>

Change-Id: I60c3d94a447b71ca0ce26a87b7f55b055b9aef9f
2024-06-14 15:24:49 -04:00
Giovanni LB 4d0fee6637 SWDEV-468021: Improving profiler performance
Change-Id: I91921160a19aaea1fedfa40d11b83114d6a6fc65
2024-06-14 15:29:27 -03:00
Ammar ELWazir 9364754e66 Pumping down the ioctl version for CI only (#928)
* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml
2024-06-14 00:30:04 -05:00
Ammar ELWazir c6ec8ca1db Update controller.cpp (#932)
* Update controller.cpp

* Update controller.cpp

* Formatting
2024-06-13 18:54:21 -05:00
Benjamin Welton ef156c3bee Remove unnecessary AgentCache argument from profile construction (#931)
This argument is not necessary. Removed.

Co-authored-by: Benjamin Welton <ben@amd.com>
2024-06-13 16:21:49 -07:00
Benjamin Welton 06d46ba3a0 Allow multiple agents in a single context for agent profiling (#908)
Allow multiple profiles for agent profiling

Co-authored-by: Benjamin Welton <ben@amd.com>
2024-06-13 19:40:57 +00:00
Giovanni Lenzi Baraldi 9676295d3d ATT API changes - add user_data field and separation of dispatch vs agent profiling (#893)
* DRM Issue Fix for SLES 15 (#897)

* DRM Issue Fix

* Formatting Fix

* PC sampling: CID manager unit test (#898)

* Adding per-dispatch userdata field to ATT

* Clang tidy

* Formatting

* Update source/lib/rocprofiler-sdk/hsa/aql_packet.hpp

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

* Adding dispatch_id, fixing user_data and update aql_profile_v2

* Formatting

* Tidy fixes

* Second fix for userdata

* removing assert for union

* Adding serialization. Created agent profiling-like thread trace

* Implemented agent thread trace

* Update source/lib/rocprofiler-sdk/hsa/aql_packet.hpp

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

* Restructured thread trace packets

* Added agent API tests

* Fixing multigpu for agent test

* Formatting

* Formatting

* Improving header locations

* Fixing merge conflicts

* Tidy

* Tidy

* Tidy

---------

Co-authored-by: Ammar ELWazir <ammar.elwazir@amd.com>
Co-authored-by: Vladimir Indic <139573562+vlaindic@users.noreply.github.com>
2024-06-13 15:29:29 -03:00
Gopesh Bhardwaj 2cfd88e571 docs and tests format (#927) 2024-06-13 22:59:20 +05:30
Vladimir Indic c66aacd537 Disable counter collection if PC sampling is enabled (#924) 2024-06-13 18:26:05 +02:00
Benjamin Welton c32d8b6696 Fix agent profiling for SQ counters (#919)
* Fix agent profiling for SQ counters


---------

Co-authored-by: Benjamin Welton <ben@amd.com>
2024-06-12 20:39:18 -07:00
Benjamin Welton 99340964a6 Fix for SLES/RHEL compilers (#925)
* Fix for SLES/RHEL compilers

---------

Co-authored-by: Benjamin Welton <ben@amd.com>
2024-06-12 20:38:35 -07:00
Manjunath P Jakaraddi c49719649b SWDEV-465322: Adding support for Perfcounter SIMD Mask in ATT (#910)
* SWDEV-465322: Adding support for r Perfcounter SIMD Mask in ATT

* Apply suggestions from code review

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

* Adding unit tests

* Adding counters check for gfx9 and SQ block only

* Addressing review comments

* changing the struct size

* fixing header includes

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Welton <bewelton@amd.com>
2024-06-12 16:25:06 -07:00
Sam Wu 2d7d7c449a [ROCDOC-593] Update Read the Docs configuration to Python 3.10 and latest rocm-docs-core
Change-Id: Ia086cd708f5bfcff71780cc104afe1e0908923c9
2024-06-12 15:06:24 -06:00
Benjamin Welton cfe3af9d7e Remove duplicate table code from tests (#922)
* Remove duplicate table code from tests

Remove duplicate HSA table code from tests. Cleanup
includes (and remove unnecessary ones).
2024-06-12 13:21:42 -07:00
Saurabh Verma a63b6fcbd2 RDC metrics in v1
Change-Id: Iaa8cd0a37da37729df76362f10a0bb63c317a498
2024-06-11 17:00:39 -05:00
Saurabh Verma 2047bf4b8b Fixing occupancy metrics for MI300
Adding changes for v1 xml which was missed in change 604738fd8d

Change-Id: I338f2736ee61e316522f1ce42cee74abec201499
2024-06-11 11:47:57 -05:00
Galantsev, Dmitrii d4bb33d100 Use correct rocprofiler metrics
Change-Id: I26603de7425abb6588f770ed68c22e14d6d20d56
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2024-06-11 11:15:18 -05:00
Galantsev, Dmitrii 3514225b83 Rewrite rocprofiler plugin
Change-Id: Ic7dd967cc60cacd2b16a465180505ea2a342fccf
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2024-06-11 03:11:15 -05:00
Ammar ELWazir a50d5ce4ae Fixing the force of using cmake python3 interpreter
Change-Id: I5d87dfa78052611856652fc887cdfa6764c51028
2024-06-10 16:00:09 -04:00
Saurabh Verma 056156135d SWDEV-457922: Temporary fix to prevent multiple instances of either rocprofiler v1 or v2 to be running, whether it's interception or standalone mode.
The fix works by using a pid file and a lock file, similar to how firefox prevents multiple instances.

Change-Id: I4974a80bf920eaf0376a53410573c1cc74ec17ac
2024-06-10 12:49:29 -04:00
Vladimir Indic b4f7154716 The NULL value of an internal correlation ID defined (#901) 2024-06-10 16:12:01 +02:00
Vladimir Indic 211ee219c4 Disable PC sampling service if counter collection service is configured (#899) 2024-06-10 15:13:49 +02:00
AravindanC 59230206a3 SWDEV-460492 Update permissions, install target types of executables
Change-Id: I23828d4938ce35f2c27d86654f4e122f8886ec1d
2024-06-07 17:42:32 -04:00
Benjamin Welton f5753d3ae3 Add dimension query to counter collection sample (#918)
Co-authored-by: Benjamin Welton <ben@amd.com>
2024-06-07 14:30:01 -07:00
Benjamin Welton 10fdba985f Added error log for query counter info (#903)
* Added error log for query counter info
2024-06-07 13:27:14 -07:00
Benjamin Welton 3d9a448797 Small change to sample for clarity (#913)
Co-authored-by: Benjamin Welton <ben@amd.com>
2024-06-07 13:05:46 -07:00
Benjamin Welton 45e165b256 Add calls to stop and wait for a debugger (#916)
Co-authored-by: Benjamin Welton <ben@amd.com>
2024-06-07 13:04:52 -07:00
ajanicijamd f0bd9126a5 Patch for omnitrace-sample crash with HIP API. (#344)
Fix HIP-API CTest failure

Check if stack is empty before popping data off of it.

Signed-off-by: Aleksandar Janicijevic <Aleksandar.Janicijevic@amd.com>
2024-06-07 15:23:18 -04:00
Ammar ELWazir db82c5ef62 General fixes for CI
Change-Id: I16e4d1fbc71a378eba6738c6953760e8e4de525e
2024-06-07 11:22:07 -05:00
David Galiffi 129580b416 Enable features to generate dependency list and fix RPM installation. (#343)
* CPACK: Enable features to generate dependency lists

For DEBIAN, enable CPACK_DEBIAN_PACKAGE_SHLIBDEPS to generate a package
dependency list.

For RPM, enable CPACK_RPM_PACKAGE_AUTOREQPROV to automatically generate
lists of shared libraries that this package requires and provides.

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

* Manually derive RPM provides list for libunwind.

[Why]
`dnf install` fails dependency resolution

[How]
Auto-generation did not add it to the "provides" list, despite it being
included in the package when OMNITRACE_BUILD_LIBUNWIND is enabled. So,
manually include these in the "CPACK_RPM_PACKAGE_PROVIDES" parameter.

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

* Fix cmake-format linting

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

---------

Signed-off-by: David Galiffi <David.Galiffi@amd.com>
2024-06-07 10:34:35 -05:00