Files
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

142 lines
4.3 KiB
ReStructuredText

.. meta::
:description: "ROCprofiler-SDK is a tooling infrastructure for profiling general-purpose GPU compute applications running on the ROCm software."
:keywords: "Installing ROCprofiler-SDK, Install ROCprofiler-SDK, Build ROCprofiler-SDK"
.. _installing-rocprofiler-sdk:
*********************************
Build ROCprofiler-SDK from source
*********************************
To build ROCprofiler-SDK as part of the ROCm Core SDK, see `TheRock build
instructions
<https://github.com/ROCm/TheRock/blob/main/docs/development/README.md>`__.
TheRock is the recommended way to build ROCm components from source.
Alternatively, you can build ROCprofiler-SDK standalone using the instructions given in the following sections.
Supported systems
=================
ROCprofiler-SDK is supported on Linux. For more information, see :doc:`ROCm Core SDK components <rocm:release-components>`.
Identifying the operating system
--------------------------------
To identify the Linux distribution and version, see the ``/etc/os-release`` and ``/usr/lib/os-release`` files:
.. code-block:: bash
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.4 LTS (Focal Fossa)"
ID=ubuntu
...
VERSION_ID="20.04"
...
The relevant fields are ``ID`` and the ``VERSION_ID``.
Build requirements
==================
To build on Linux, install the following dependencies:
.. tab-set::
.. tab-item:: Debian-based distros
.. code-block:: bash
sudo apt install -y libdw-dev libsqlite3-dev
.. tab-item:: RHEL-based distros
.. code-block:: bash
sudo dnf install elfutils elfutils-devel sqlite-devel clang-tools-extra gcc gcc-c++ cmake make openssl-devel
python3 -m pip install --upgrade pip
python3 -m pip install scikit-build
.. tab-item:: SLES
.. code-block:: bash
sudo zypper install gcc12 gcc12-c++ cmake make python3-devel elfutils sqlite3-devel libelf-devel libdw-devel
export CXX=/usr/bin/g++-12
export CC=/usr/bin/gcc-12
.. note::
The above ``export`` statements set the compiler environment variables only for the current terminal session. If you open a new terminal or log out, these variables will be unset. To make these settings permanent, add the following lines to your ``~/.bashrc`` file:
.. code-block:: bash
export CXX=/usr/bin/g++-12
export CC=/usr/bin/gcc-12
Alternatively, ensure these variables are set before building ROCprofiler-SDK.
To build ROCprofiler-SDK, install ``CMake`` as explained in the following section.
Install CMake
-------------
Install `CMake <https://cmake.org/>`_ version 3.21 (or later).
.. note::
If the ``CMake`` installed on the system is too old, you can install a new
version using various methods. One of the easiest options is to use PyPi
(Python's pip).
.. code-block:: bash
/usr/local/bin/python -m pip install --user 'cmake==3.22.0'
export PATH=${HOME}/.local/bin:${PATH}
Build ROCprofiler-SDK
=====================
.. code-block:: bash
git clone --no-checkout --filter=blob:none https://github.com/ROCm/rocm-systems.git
cd rocm-systems
git sparse-checkout init --cone
git sparse-checkout set projects/rocprofiler-sdk
git checkout develop
python3 -m pip install -r projects/rocprofiler-sdk/requirements.txt
cmake \
-B rocprofiler-sdk-build \
-DCMAKE_INSTALL_PREFIX=/opt/rocm \
-DCMAKE_PREFIX_PATH=/opt/rocm \
projects/rocprofiler-sdk
cmake --build rocprofiler-sdk-build --target all --parallel $(nproc)
Installing ROCprofiler-SDK
---------------------------
To install ROCprofiler-SDK from the ``rocprofiler-sdk-build`` directory, run:
.. code-block:: bash
cmake --build rocprofiler-sdk-build --target install
Testing ROCprofiler-SDK
------------------------
To run the built tests, ``cd`` into the ``rocprofiler-sdk-build`` directory and run:
.. code-block:: bash
ctest --output-on-failure -O ctest.all.log
.. note::
Running a few of these tests require you to install `pandas <https://pandas.pydata.org/>`_ and `pytest <https://docs.pytest.org/en/stable/>`_ first.
.. code-block:: bash
/usr/local/bin/python -m pip install -r requirements.txt