Files
TheRock/rocm-systems/projects/rocprofiler-systems/docs/install/install.rst
T
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

221 lines
7.7 KiB
ReStructuredText

.. meta::
:description: Installation instructions for ROCm Systems Profiler (rocprofiler-systems)
:keywords: rocprof, sys, rocprofiler, systems, rocm, tool, profiler, install
.. _installation:
*****************************
Install ROCm Systems Profiler
*****************************
Before you begin, verify that your system is supported. For more information,
see :ref:`ROCm Core SDK components <rocm:release-components>`.
For advanced workflows, source builds, or custom configurations, see
:doc:`./build`.
.. _install-rocm:
Install the ROCm Core SDK
=========================
ROCm Systems Profiler (rocprofiler-systems) is included with the ROCm Core SDK
on Linux. For the most complete installation, we recommend that developers use
the ``amdrocm-core-sdk`` meta package.
For instructions, see :doc:`Install AMD ROCm <rocm:install/rocm>`. Use the
selector panel on that page to view instructions appropriate for your system
environment.
.. note::
The `TheRock <https://github.com/ROCm/TheRock>`__ build system also publishes
nightly builds for the ROCm Core SDK and its components, including ROCm Systems
Profiler. See `Nightly release status
<https://github.com/ROCm/TheRock#nightly-release-status>`__ for details.
.. _install-base:
Install ROCm profilers on Linux
===============================
Alternatively, if you want to install ROCm Systems Profiler as part of the ROCm
Profiler package (a subset of the ROCm Core SDK ``amdrocm-core-sdk``) without
additional ROCm libraries and tools, install the ``amdrocm-profiler`` package.
This includes the ROCm profilers, dependencies, and base packages.
1. Complete the :doc:`ROCm installation prerequisites <rocm:install/rocm>` to
install dependencies and configure GPU access permissions.
2. Install the ROCm Profiler package that matches your desired ROCm version.
.. tab-set::
.. tab-item:: Package manager
On Linux, package names use the following format:
.. code-block:: shell-session
amdrocm-profiler<rocm_version>
``<rocm_version>`` represents the ROCm Core SDK version to install. Omit
this suffix to install the latest available version.
For example, to install the latest ROCm Profiler package release for
supported GPU architectures:
.. tab-set::
.. tab-item:: Debian-based distros
Use the following command on Ubuntu and other Debian-based Linux
distributions to install ROCm profilers:
.. code-block:: bash
sudo apt install amdrocm-profiler
.. tab-item:: RHEL-based distros
Use the following command on RHEL, Oracle Linux, and other RHEL-based
Linux distributions to install ROCm profilers:
.. code-block:: bash
sudo dnf install amdrocm-profiler
.. tab-item:: SLES
Use the following command on SLES to install ROCm profilers:
.. code-block:: bash
sudo zypper install amdrocm-profiler
.. tab-item:: pip
Use the following commands to create and activate a Python virtual
environment, then install ROCm with the ``[profiler]`` extra:
.. code-block:: bash
# Create and activate a Python virtual environment.
python3 -m venv .venv
source .venv/bin/activate
# Install ROCm and the profilers from the AMD package repository.
python -m pip install --index-url https://repo.amd.com/rocm/whl-multi-arch/ "rocm[profiler]"
.. note::
This pip installation option installs only the components required to run ROCm profiling tools (ROCm Systems Profiler and :doc:`ROCm Compute Profiler <rocprofiler-compute:index>`). It doesn't include other components for developing or building ROCm applications. To install the full development environment, use ``pip install "rocm[devel]"`` or refer to the appropriate pip installation instruction under :doc:`Install AMD ROCm <rocm:install/rocm>` for your system environment.
.. _post-installation-steps:
Post-installation steps
=======================
After installation, you can optionally configure the ROCm Systems Profiler environment.
You should also test the executables to confirm ROCm Systems Profiler is correctly installed.
Configure the environment
-------------------------
If environment modules are available and preferred, then add them using these commands:
* Replacing ``1.0.0`` with the desired version number to load:
.. code-block:: shell
module use /opt/rocprofiler-systems/share/modulefiles
module load rocprofiler-systems/1.0.0
* Alternatively, you can directly source the ``setup-env.sh`` script:
.. code-block:: shell
source /opt/rocprofiler-systems/share/rocprofiler-systems/setup-env.sh
Test the executables
-----------------------------------
Successful execution of these commands confirms that the installation does not have any
issues locating the installed libraries:
.. code-block:: shell
rocprof-sys-instrument --help
rocprof-sys-avail --help
.. note::
If ROCm support is enabled, you might have to add the path to the ROCm libraries to ``LD_LIBRARY_PATH``,
for example, ``export LD_LIBRARY_PATH=/opt/rocm/lib:${LD_LIBRARY_PATH}``.
.. _post-installation-troubleshooting:
Troubleshooting
===============
This section explains how to resolve certain issues that might happen when you first use ROCm Systems Profiler.
Issues with RHEL and SELinux
----------------------------
RHEL (Red Hat Enterprise Linux) and related distributions of Linux automatically enable a security feature
named SELinux (Security-Enhanced Linux) that prevents ROCm Systems Profiler from running.
This issue applies to any Linux distribution with SELinux installed, including RHEL and Rocky Linux.
The problem can happen with any GPU, or even without a GPU.
The problem occurs after you instrument a program and try to
run ``rocprof-sys-run`` with the instrumented program.
.. code-block:: shell
g++ hello.cpp -o hello
rocprof-sys-instrument -M sampling -o hello.instr -- ./hello
rocprof-sys-run -- ./hello.instr
Instead of successfully running the binary with call-stack sampling,
ROCm Systems Profiler crashes with a segmentation fault.
.. note::
If you are physically logged in on the system (not using SSH or a remote connection),
the operating system might display an SELinux pop-up warning in the notifications.
To workaround this problem, either disable SELinux or configure it to use a more
permissive setting.
To avoid this problem for the duration of the current session, run this command
from the shell:
.. code-block:: shell
sudo setenforce 0
For a permanent workaround, edit the SELinux configuration file using the command
``sudo vim /etc/sysconfig/selinux`` and change the ``SELINUX`` setting to
either ``Permissive`` or ``Disabled``.
.. note::
Permanently changing the SELinux settings can have security implications.
Ensure you review your system security settings before making any changes.
Modifying RPATH details
-----------------------
If you're experiencing problems loading your application with an instrumented library,
then you might have to check and modify the RPATH specified in your application.
See the section on `troubleshooting RPATHs <../how-to/instrumenting-rewriting-binary-application.html#rpath-troubleshooting>`_
for further details.
Configuring PAPI to collect hardware counters
---------------------------------------------
To use PAPI to collect the majority of hardware counters, ensure
the ``/proc/sys/kernel/perf_event_paranoid`` setting has a value less than or equal to ``2``.
For more information, see the :ref:`rocprof-sys_papi_events` section.