From f70f369d46f77bab77314b15ec49cd4b2de06563 Mon Sep 17 00:00:00 2001 From: "Verma, Saurabh" Date: Wed, 25 Jun 2025 13:11:18 +0530 Subject: [PATCH] PC-Sampling doc updates - FW version (#455) * Initial doc update * addressed review comments * addressed review comments - 2 * accept reviewer suggestions Co-authored-by: Rawat, Swati * accept reviewer suggestions-2 Co-authored-by: Rawat, Swati * accept reviewer suggestions-3 Co-authored-by: Rawat, Swati * accept reviewer suggestions-4 Co-authored-by: Rawat, Swati * Update README.md Co-authored-by: Rawat, Swati * Update CHANGELOG.md as per viewer suggestions Co-authored-by: Rawat, Swati * accept review suggestion Co-authored-by: Indic, Vladimir * accept reviewer suggestion Co-authored-by: Rawat, Swati * accept reviewer suggestions Co-authored-by: Rawat, Swati --------- Co-authored-by: Rawat, Swati Co-authored-by: Indic, Vladimir Co-authored-by: Bhardwaj, Gopesh --- CHANGELOG.md | 2 ++ README.md | 5 ++++- source/docs/how-to/using-pc-sampling.rst | 19 ++++++++++++++++++- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 85b1339e10..84b2004b05 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -208,6 +208,8 @@ Full documentation for ROCprofiler-SDK is available at [rocm.docs.amd.com/projec - Fixed potential data race in rocprofiler-sdk double buffering scheme - Usage of std::regex in core rocprofiler-sdk library which causes segfaults/exceptions when used under dual ABI - Fixed perfetto counter collection by introducing per dispatch accumulation. +- Fixed queue preemption error and HSA_STATUS_ERROR_INVALID_PACKET_FORMAT error for stochastic PC-sampling for MI300X, leading to more stable runs. +- Fixed the system hang issue for host-trap PC-sampling on MI300X. ### Removed diff --git a/README.md b/README.md index f391c97236..921d54e961 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ Please report issues on GitHub OR send an email to [!WARNING] > The latest mainline version of AQLprofile can be found at [https://repo.radeon.com/rocm/misc/aqlprofile/](https://repo.radeon.com/rocm/misc/aqlprofile/). However, it's important to note that updates to the public AQLProfile may not occur as frequently as updates to the rocprofiler-sdk. This discrepancy could lead to a potential mismatch between the AQLprofile binary and the rocprofiler-sdk source. diff --git a/source/docs/how-to/using-pc-sampling.rst b/source/docs/how-to/using-pc-sampling.rst index f8dc0d4a6f..10e82dfa53 100644 --- a/source/docs/how-to/using-pc-sampling.rst +++ b/source/docs/how-to/using-pc-sampling.rst @@ -49,7 +49,24 @@ The output lists if ``rocprofv3`` supports PC sampling on the GPU and the suppor The preceding output shows that the GPU supports PC sampling with the ``ROCPROFILER_PC_SAMPLING_METHOD_HOST_TRAP`` method and the ``ROCPROFILER_PC_SAMPLING_UNIT_TIME`` unit. The minimum and maximum intervals are also displayed. -Based on the preceding configuration, you can use the following command to profile the application using PC sampling: +.. note:: + Important firmware fixes to host-trap and stochastic PC-sampling for AMD Instinct MI300X have been made in ROCm 7.0. + To ensure that you have the latest fixes, check if you have the correct firmware versions installed: + + For host-trap PC-sampling on MI300X: PSP TOS Firmware >= version 00.36.02.59 or 0x00360259 + For stochastic PC-sampling on MI300X as described in the following section: MEC Firmware feature version: 50, firmware version >= 0x0000001a + +To check the firmware versions, use: + +.. code-block:: bash + + # To check PSP TOS Firmware: + sudo cat /sys/kernel/debug/dri/0/amdgpu_firmware_info | grep SOS + + # To check MEC Firmware: + sudo cat /sys/kernel/debug/dri/1/amdgpu_firmware_info | grep MEC + +Based on the available PC-sampling configurations, use the following command to profile the application using PC-sampling: .. code-block:: bash