Commit Graph

8938 Commits

Author SHA1 Message Date
Joseph Macaranas 7af4bd7ddf Add roccv to scope 2025-07-15 15:20:42 -04:00
cfallows-amd 10c696521d Update workflows for building (#812)
* Update workflows for building testing in pipeline: rhel8 now tests rhel8 and 9, and for both rhel and ubuntu files we are using the same image as rocprofiler-systems which is consistently updated on docker hub.

---------

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
2025-07-15 15:12:21 -04:00
Joseph Macaranas 1b18684171 Add aqlprofile to readme 2025-07-15 14:53:47 -04:00
Wang, Huanran 5c45c77ec7 [rocprofv3] Sanitize string of command in rocpd (#467)
Sanitize string of command in rocpd

Co-authored-by: Huanran Wang <huanrwan@amd.com>
2025-07-15 13:01:14 -04:00
cfallows-amd 1d834f4190 Fix roofline block print during CLI output (#811)
Fix roofline panel in CLI analyze stage when using --block option. Improve roofline CLI output checks and logs.

---------

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
2025-07-15 12:42:27 -04:00
amd-jmacaran c3f8f57c80 Reset state of repo with updated README 2025-07-15 12:29:35 -04:00
Tumakaev, Aleksei 4af73d078f [rocprofv3] Fix incorrect position of Allocation_Size header in memory_allocation csv (#510)
Fix incorrect position of Allocation_Size header in memory_allocation csv
2025-07-15 18:15:22 +02:00
xuchen-amd bfb2dc0795 Update TUI docs. (#796) 2025-07-15 11:13:24 -04:00
Fei Zheng e1da9355c2 Update peak flops for MI350 (#810) 2025-07-15 08:46:13 -06:00
xuchen-amd b4b50502e3 Remove rocm-smi for ROCm 7.1 (#809) 2025-07-15 10:28:53 -04:00
Sajina PK d26486ad83 Update gotcha submodule from timemory (#277)
* Update gotcha submodule from timemory

* Fix build failure and add copilot suggestions

* Fix formatting errors
2025-07-14 21:12:10 -04:00
darren-amd c996c23a13 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>
2025-07-14 19:31:14 -04:00
Sajina PK be06384250 Make CMakeFile fixes to align with rocDecode and rocJpeg changes (#281) 2025-07-14 19:23:19 -04:00
David Galiffi 86f025e5fd Adding sqlite-dev to our ci docker images (#280) 2025-07-14 17:37:47 -04:00
Fei Zheng 5b8d12fde2 Update cli doc description (#804) 2025-07-14 13:05:01 -06:00
Fei Zheng 78c1898ba0 Update PC sampling doc (#798) 2025-07-14 13:04:14 -06:00
zichguan-amd 7946ddb647 rocr: check _SC_LEVEL1_DCACHE_LINESIZE before use
Support musl
Fixes ROCm/ROCR-Runtime#318

Signed-off-by: zichguan-amd <zichuan.guan@amd.com>
2025-07-14 14:44:31 -04:00
xuchen-amd a3dc98e251 rocm-smi deprecation warning (#806) 2025-07-14 13:35:47 -04:00
Pratik Basyal 81d95d8e4a roofline footnote updated (#808) 2025-07-14 13:27:43 -04:00
Kandula, Venkateshwar reddy d2393c97f8 [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>
2025-07-11 16:22:12 -05:00
xuchen-amd 23664c72f7 tui user experience improvement (#805) 2025-07-11 16:51:55 -04:00
Welton, Benjamin 7e3ea0c58e [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>
2025-07-11 12:46:19 -07:00
Chris Freehill c065d9a7e2 rocr: Ensure AqlQueue can exit on memory error
A hang would occur when a memory error occurs because the
AQLQueue destructor would be waiting for a signal that
wouldn't come. This change allows it to break out of the
wait loop.
2025-07-11 12:58:21 -05:00
Alysa Liu 4fab4d70e6 rocrtst: migrate from rsmi API to amdsmi API
Replace ROCm SMI (rsmi) API calls with AMDSMI (amdsmi) API calls
in rocrtst.

Signed-off-by: Alysa Liu <Alysa.Liu@amd.com>
2025-07-11 11:22:34 -04:00
Honglei Huang 412e386b50 rocr/driver: move wallclock frequency query to driver layer
Move the wallclock frequency query from GpuAgent to driver layer to improve
code organization and support multiple driver types. This change:

1. Add GetWallclockFrequency API to KFD/XDNA drivers
2. Move libdrm GPU info query from GpuAgent to driver implementation
3. Update GpuAgent to use the new driver API

Signed-off-by: Honglei Huang <Honglei1.Huang@amd.com>
2025-07-11 16:14:29 +08:00
Honglei Huang 9bc38e2ee6 rocr/driver: add support for getting GPU tile configuration
- Implemented GetTileConfig in KfdDriver to retrieve tile configuration for
a specific node.
- Added a stub implementation of GetTileConfig in XdnaDriver.
- Updated driver.h to include a virtual GetTileConfig method.
- Extended hsa_internal.h with a new hsa_get_tile_config function.
- Integrated hsa_get_tile_config into hsa.cpp to call the driver-specific
  implementation.
- Updated driver headers to declare the new GetTileConfig method.

Signed-off-by: Honglei Huang <Honglei1.Huang@amd.com>
2025-07-11 16:14:29 +08:00
Honglei Huang 8d077dba3b rocr/driver: add GetClockCounters API to driver interface
This commit introduces a new GetClockCounters API to the driver interface.

- Implemented GetClockCounters in KfdDriver to fetch clock counters
  using hsaKmtGetClockCounters.
- Added a stub implementation of GetClockCounters in XdnaDriver that
  returns HSA_STATUS_ERROR.
- Modified GpuAgent to use driver().GetClockCounters instead of
  directly calling hsaKmtGetClockCounters.

Signed-off-by: Honglei Huang <Honglei1.Huang@amd.com>
2025-07-11 16:14:29 +08:00
Honglei Huang 05b83e72d9 rocr/driver: add GetDeviceHandle to driver interface
This commit introduces a new GetDeviceHandle API to the driver
interface, allowing retrieval of the device handle for a
specific node.

- Implemented GetDeviceHandle in KfdDriver to fetch the AMD GPU
  device handle using hsaKmtGetAMDGPUDeviceHandle.
- Added a stub implementation of GetDeviceHandle in XdnaDriver
  that returns HSA_STATUS_ERROR.
- Modified GpuAgent::InitLibDrm to use driver().GetDeviceHandle
  instead of directly calling hsaKmtGetAMDGPUDeviceHandle.

Signed-off-by: Honglei Huang <Honglei1.Huang@amd.com>
2025-07-11 16:14:29 +08:00
Honglei Huang 837fd044d0 rocr: replace DMABuf export paths by driver interface
This change improves code maintainability and error handling by
centralizing DMABuf export functionality in the driver interface.

- Replace direct hsaKmtExportDMABufHandle calls with driver's ExportDMABuf method
- Improve error handling with more specific error status returns
- Add explicit invalid parameter checks and assertions
- Consolidate DMABuf export logic in IPC and VMemory paths
- Propagate detailed error status from driver layer

Signed-off-by: Honglei Huang <Honglei1.Huang@amd.com>
2025-07-11 13:36:45 +08:00
Tony Gutierrez cb7b0c8d9f rocr: Remove driver usage from filter device
Slightly refactor the RvdFilter so it doesn't need to call into the driver.
2025-07-10 09:41:34 -07:00
Nagaraj, Sriraksha 3aaffc42da [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
2025-07-10 11:41:12 -05:00
David Yat Sin 4c2dec5bb8 doc: Fix doxygen comments for in-out params 2025-07-10 08:21:01 -04:00
vedithal-amd 000fd4f5b2 Fix roofline and TUI bugs (#803)
* Fix roofline rocm version bug
* Fix utils bug
* Remove unnecessary tests
* Do not check textual-fspicker package in cmake build
* Use rocprofv3 to test MI 100 and fix tests
2025-07-09 19:15:46 -04:00
xuchen-amd 8585cd8e8f Generalize config path. (#802)
* Generalize config path.

* Fix format.

* Fix typo.
2025-07-09 18:57:21 -04:00
Elwazir, Ammar e5161f6e06 Fixing Docs Workflow (#505) 2025-07-09 17:19:16 -05:00
Elwazir, Ammar d68e1754d7 Fix Docs Workflow (#504)
* Update docs.yml

* Update docs.yml

* Update docs.yml
2025-07-09 12:45:49 -05:00
Elwazir, Ammar 37d7d92036 Update Runners (#20)
* Update continuous-integration.yml

* Update formatting.yml

* Update sync-mainline.yaml

* Update sync-staging.yaml

* Update continuous-integration.yml

* Update formatting.yml

* Update continuous-integration.yml

* Update continuous-integration.yml
2025-07-09 11:50:41 -05:00
Elwazir, Ammar a871e3534a 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>
2025-07-09 11:46:47 -05:00
Elwazir, Ammar 899d48d1ca Runners Update (#148)
* Update codeql.yml

* Update sync-mainline.yaml

* Update sync-staging.yaml
2025-07-09 11:42:23 -05:00
U, Srihari 6f2a5a9646 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.
2025-07-09 21:05:45 +05:30
GabrPham 7dba992ebd Update threading to use more stable threading module
Unstable threading was causing segmentation faults. Update to use more
recent threading module rather than the _thread module solved
segmentation fault issue.

multiple issues solved by this commit:
	[SWDEV-537518]
	[SWDEV-540377]
	[SWDEV-540223]

Signed-off-by: GabrPham <gabrpham_amdeng@amd.com>
2025-07-09 09:36:44 -05:00
Welton, Benjamin 2c4e20b951 [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>
2025-07-08 23:41:22 -07:00
Welton, Benjamin 2fa98c4d14 [SDK] Added retry for signal wait (#494)
Added retry for signal wait

Co-authored-by: Benjamin Welton <bewelton@amd.com>
2025-07-08 23:28:02 -07:00
Honglei Huang 45af009c5d libhsakmt: use uint32_t for loop index variables
This patch changes the type of several loop index variables from int to
uint32_t in fmm.c. The affected functions are:
- __fmm_release
- _fmm_map_to_gpu
- _fmm_unmap_from_gpu

To fix compile warning:

warning: comparison of integer expressions of different signedness:
'int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
 2009 |         for (i = 0; i < object->handle_num; i++) {

Signed-off-by: Honglei Huang <Honglei1.Huang@amd.com>
2025-07-09 13:15:42 +08:00
vedithal-amd c51b9d16c3 Fix util tests (#797)
* Fix profile tests
* Update known issue for corrupted memory chart
2025-07-08 17:15:09 -04:00
cfallows-amd 3df0d1dded Update roofline bins for rocm7 changes (#755)
* Update current bins to have rocm6 suffix. Add new rocm7 bins, built on rocm7.0 latest due to hip updates.

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>

* Re-add rocm version check for roof bins.

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>

* Rebuild roofline binaries on top of latest rocm7 (#16379) after recent mainline promotions.
Adjusting version and distro combinations of bins following rocm6 vs rocm 7 supported OS.
*rhel8 not supported on rocm7, also not built anymore
*sles15 not supported on rocm7 but is still being built
*ubuntu stays as 22.04 and above for rocm7

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>

* Minor fixes after testing.

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>

* Fixed bad copy after finding it in testing ctest.

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>

* Remove runpath from new bin

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>

* Rework target_binary map return in detect_roofline- we should not be returning maps of different sizes or with different keys for the same method. Expected output should be consistent in case we run into bad position, or for testing purposes. Manually tested all possible roofline bin expected cases to comfirm functionality and expected user output.

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>

* Update changelog with new roofline distro minimums

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>

---------

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
2025-07-08 16:51:50 -04:00
xuchen-amd 60a50e681b Add tui cmake install. (#794) 2025-07-08 11:18:26 -04:00
Kian Cossettini 67bc147780 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
2025-07-08 11:05:14 -04:00
Fei Zheng 1b7445faa4 PC Sampling: fix potential_end_offset (#792)
* fix potential_end_offset

* format code: unrelated
2025-07-08 08:52:01 -04:00
Fei Zheng 239e6550f4 format with isort (#793) 2025-07-08 08:51:20 -04:00