diff --git a/projects/rocprofiler-sdk/.github/workflows/docs.yml b/projects/rocprofiler-sdk/.github/workflows/docs.yml index 8699648f7a..4decdfc94b 100644 --- a/projects/rocprofiler-sdk/.github/workflows/docs.yml +++ b/projects/rocprofiler-sdk/.github/workflows/docs.yml @@ -30,6 +30,7 @@ env: jobs: build-docs: runs-on: ubuntu-latest + container: continuumio/miniconda3 permissions: contents: read pages: write @@ -39,41 +40,28 @@ jobs: uses: actions/checkout@v4 with: submodules: true - - name: Install Conda - shell: bash -el {0} - run: | - curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh - bash ./Miniconda3-latest-Linux-x86_64.sh -b - name: Setup Pages uses: actions/configure-pages@v5 - name: Create Docs Directory run: mkdir -p docs/_doxygen/rocprofiler-sdk mkdir -p docs/_doxygen/roctx - - name: Install Conda environment - shell: bash -el {0} - working-directory: source/docs - run: | - conda env create -n rocprofiler-docs -f environment.yml - name: Install documentation dependencies timeout-minutes: 10 shell: bash run: | - sudo apt-get update - sudo apt-get install -y doxygen graphviz - sudo python3 -m pip install sphinx - sudo python3 -m pip install doxysphinx rocm-docs-core + apt-get update + apt-get install -y doxygen graphviz build-essential cmake - name: Build Docs shell: bash -el {0} working-directory: source/docs run: | - source /home/runner/.bashrc - export PATH=/home/runner/miniconda3/bin:$PATH conda init conda env create -n rocprofiler-docs -f environment.yml - source activate conda activate rocprofiler-docs - sudo ../scripts/update-docs.sh + python3 -m pip install sphinx + python3 -m pip install doxysphinx rocm-docs-core + ../scripts/update-docs.sh - name: Upload artifact if: ${{ github.event_name == 'workflow_dispatch' }} uses: actions/upload-pages-artifact@v3 diff --git a/projects/rocprofiler-sdk/source/docs/CMakeLists.txt b/projects/rocprofiler-sdk/source/docs/CMakeLists.txt index d146276191..00a174b31d 100644 --- a/projects/rocprofiler-sdk/source/docs/CMakeLists.txt +++ b/projects/rocprofiler-sdk/source/docs/CMakeLists.txt @@ -22,10 +22,11 @@ find_program(CHMOD_CMD NAMES chmod) if(NOT EXISTS ${PROJECT_BINARY_DIR}/external/miniconda.sh) message( STATUS - "Downloading https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh" + "Downloading https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh" ) file( - DOWNLOAD https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh + DOWNLOAD + https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh ${PROJECT_BINARY_DIR}/external/miniconda.sh STATUS MINICONDA_DOWNLOAD_RET INACTIVITY_TIMEOUT 60 @@ -34,7 +35,7 @@ if(NOT EXISTS ${PROJECT_BINARY_DIR}/external/miniconda.sh) if(NOT MINICONDA_DOWNLOAD_RET EQUAL 0) message( FATAL_ERROR - "Download to ${PROJECT_BINARY_DIR}/external/miniconda.sh from https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh failed" + "Download to ${PROJECT_BINARY_DIR}/external/miniconda.sh from https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh failed" ) endif() endif() @@ -89,7 +90,7 @@ export PATH source ${CONDA_ROOT}/bin/activate conda config --set always_yes yes -conda update -c defaults -n base conda +conda update -n base conda if [ ! -d '${CONDA_ROOT}/envs/rocprofiler-docs' ]; then ${CONDA_ROOT}/bin/conda env create -n rocprofiler-docs -f ${CMAKE_CURRENT_LIST_DIR}/environment.yml diff --git a/projects/rocprofiler-sdk/source/docs/environment.yml b/projects/rocprofiler-sdk/source/docs/environment.yml index 179ca354f3..9105eb4b69 100644 --- a/projects/rocprofiler-sdk/source/docs/environment.yml +++ b/projects/rocprofiler-sdk/source/docs/environment.yml @@ -1,7 +1,7 @@ name: rocprofiler-docs channels: - conda-forge - - defaults + dependencies: - _libgcc_mutex=0.1=conda_forge - _openmp_mutex=4.5=2_gnu @@ -18,7 +18,6 @@ dependencies: - cmake=3.27.4=hcfe8598_4 - colorama=0.4.6=pyhd8ed1ab_0 - commonmark=0.9.1=py_0 - - docutils=0.18.1=py311h06a4308_3 - doxygen=1.9.8=h661eb56_0 - expat=2.5.0=hcb278e6_1 - font-ttf-dejavu-sans-mono=2.37=hab24e00_0 diff --git a/projects/rocprofiler-sdk/source/docs/how-to/using-rocprofv3.rst b/projects/rocprofiler-sdk/source/docs/how-to/using-rocprofv3.rst index 7e3d1c8163..3c282a21ee 100644 --- a/projects/rocprofiler-sdk/source/docs/how-to/using-rocprofv3.rst +++ b/projects/rocprofiler-sdk/source/docs/how-to/using-rocprofv3.rst @@ -85,7 +85,7 @@ The following table lists the commonly used ``rocprofv3`` command-line options c | ``--hsa-trace`` [BOOL] |br| |br| |br| |br| |br| |br| |br| |br| | ``--rccl-trace`` [BOOL] |br| |br| |br| |br| | ``--kokkos-trace`` [BOOL] |br| |br| |br| |br| - | ``--rocdecode-trace`` [BOOL] |br| |br| |br| |br| + | ``--rocdecode-trace`` [BOOL] - | Combination of ``--hip-runtime-trace`` and ``--hip-compiler-trace``. This option only enables the HIP API tracing. Unlike previous iterations of ``rocprof``, this option doesn't enable kernel tracing, memory copy tracing, and so on. |br| |br| | Collects marker (ROCTx) traces. Similar to ``--roctx-trace`` option in earlier ``rocprof`` versions, but with improved ``ROCTx`` library with more features. |br| |br| | Collects kernel dispatch traces. |br| |br| @@ -95,7 +95,7 @@ The following table lists the commonly used ``rocprofv3`` command-line options c | Collects ``--hsa-core-trace``, ``--hsa-amd-trace``, ``--hsa-image-trace``, and ``--hsa-finalizer-trace``. This option only enables the HSA API tracing. Unlike previous iterations of ``rocprof``, this doesn't enable kernel tracing, memory copy tracing, and so on. |br| |br| | Collects traces for RCCL (ROCm Communication Collectives Library), which is also pronounced as 'Rickle'. |br| |br| | Enables builtin Kokkos tools support, which implies enabling ``--marker-trace`` collection and ``--kernel-rename``. |br| |br| - | Collects traces for rocDecode APIs. |br| |br| + | Collects traces for rocDecode APIs. * - Granular tracing - | ``--hip-runtime-trace`` [BOOL] |br| |br| |br| |br| @@ -162,16 +162,16 @@ The following table lists the commonly used ``rocprofv3`` command-line options c | Specifies Perfetto shared memory size hint in KB. Default: 64 KB. * - Display - - ``-L`` [BOOL] \| ``--list-avail`` [BOOL] - - Lists the PC sampling configurations and metrics available in the counter_defs.yaml file for counter collection. In earlier ``rocprof`` versions, this was known as ``--list-basic``, ``--list-derived``, and ``--list-counters``. + - | ``-L`` [BOOL] \| ``--list-avail`` [BOOL] |br| + - | Lists the PC sampling configurations and metrics available in the counter_defs.yaml file for counter collection. In earlier ``rocprof`` versions, this was known as ``--list-basic``, ``--list-derived``, and ``--list-counters``. * - Other - - ``--preload`` [PRELOAD ...] - - Specifies libraries to prepend to ``LD_PRELOAD``. It is useful for sanitizer libraries. - - ``--minimum-output-data`` - - Output files are generated only if output data size is greater than minimum output data size. It can be used for controlling the generation of output files so that user don't recieve empty files. The input is in KB units. - - ``--disable-signal-handlers`` - - Disables the signal handlers in the rocprofv3 tool. It disables the prioritizing of rocprofv3 signal handler over application installed signal handler. When --disable-signal-handlers is set to true, and application has its signal handler on SIGSEGV or similar installed, then its signal handler will be used not the rocprofv3 signal handler. Note: glog still installs signal handlers which provide backtraces. + - | ``--preload`` PRELOAD |br| |br| + | ``--minimum-output-data`` |br| |br| + | ``--disable-signal-handlers`` + - | Specifies libraries to prepend to ``LD_PRELOAD``. It is useful for sanitizer libraries. |br| |br| + | Output files are generated only if output data size is greater than minimum output data size. It can be used for controlling the generation of output files so that user don't recieve empty files. The input is in KB units. |br| |br| + | Disables the signal handlers in the rocprofv3 tool. It disables the prioritizing of rocprofv3 signal handler over application installed signal handler. When --disable-signal-handlers is set to true, and application has its signal handler on SIGSEGV or similar installed, then its signal handler will be used not the rocprofv3 signal handler. Note: glog still installs signal handlers which provide backtraces. To see exhaustive list of ``rocprofv3`` options: @@ -1019,6 +1019,7 @@ The generated Perfetto trace file can be opened in the `Perfetto UI .. image:: /data/perfetto_counters.png