Files
rocm-systems/.github/workflows/generate_afar.yml
T
Madsen, Jonathan 7166b1ab58 [rocprofv3] Add rocpd output support (part 1: prelude) (#401)
* [rocprofv3] Add rocpd output support (part 1: prelude)

- git submodules for sqlite3, GOTCHA, and pybind11
- HIP stream data
- rocprofiler_query_intercept_table_name(...)
- serialization load
- rocprofiler::sdk::get_perfetto_category(KindT)
- rocprofiler::sdk::parse::strip
- common library updates
  - md5sum
  - hasher
  - simple_timer
  - static_tl_object
  - get_process_start_time_ns(pid_t)
- output library updates
  - node_info
  - file_generator (generator is now virtual base class)
  - stream info updates

* Added submodules

* Code review updates

* Minor unused-but-set-X warning fixes

* Update CI

- install libsqlite3-dev package

* Update CI

- install libsqlite3-dev package

* Fix static thread-local object memory leak

- also fix signal handler chaining

* Remove URL from comment

* Remove page migration exception

* Enable ROCPROFILER_BUILD_SQLITE3 by default

- try find_package(SQLite3) first and then build when ROCPROFILER_BUILD_SQLITE3=ON

* Fix gotcha installation

- make install of target optional

* Validate tracing + counter collection dispatch data

- i.e. correlation ids, thread ids, timestamps

* Make find_package(SQLite3) optional

- ROCm CI does not have SQLite3 dev package installed and cannot build from source (missing tclsh)

* Fixes to tracing + counter collection test

* get_process_start_time_ns update

- original implementation did not work

* Fix pytest-packages test_perfetto_data for counter collection

- erroneous failure when used with same PMC + multiple agents

* cmake policy: option() honors normal variables

- for GOTCHA submodule

* Improve samples/api_buffered_tracing stability

- reduce likelihood of sporadic exception throw

* Update gotcha submodule

---------

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2025-05-18 20:11:26 -05:00

71 líneas
2.3 KiB
YAML

name: Generate AFAR
on:
workflow_dispatch:
inputs:
rocm-release:
description: 'ROCm Release Version'
required: true
type: string
build-number:
description: 'ROCm CI Build Number'
required: true
type: string
build-job-name:
description: 'ROCm CI Build Job Name'
required: true
type: string
rocprofiler-sdk-revision:
description: 'ROCProfiler-SDK Commit Hash'
default: 'amd-staging'
required: true
type: string
extra-cmake-args:
description: 'Extra Arguments to give to cmake configuration'
required: false
type: string
package-types:
description: 'Package types provided to `CPACK_GENERATOR`'
required: true
default: 'STGZ'
type: string
jobs:
generate-packages-ubuntu-22:
runs-on: mi300-emu-runner-set
steps:
- uses: actions/checkout@v4
with:
ref: '${{ inputs.rocprofiler-sdk-revision }}'
path: 'rocprofiler-sdk'
- name: Install Requirements
timeout-minutes: 10
shell: bash
run: |
git config --global --add safe.directory '${{github.workspace}}/*'
apt-get update
amdgpu-repo --rocm-build=${{ inputs.build-job-name }}/${{ inputs.build-number }}
apt-get upgrade -y
apt-get install -y build-essential cmake rocm-llvm-dev python3-pip libdw-dev libsqlite3-dev
python3 -m pip install -r ${{github.workspace}}/rocprofiler-sdk/requirements.txt
- name: Building ROCProfiler-SDK Packages
shell: bash
run: |
cmake -B build-rocprofiler-sdk -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/opt/rocm -DCPACK_GENERATOR="${{ inputs.package-types }}" -DROCPROFILER_BUILD_{TESTS,SAMPLES}=ON ${{ inputs.extra-cmake-args }} ${{github.workspace}}/rocprofiler-sdk
cmake --build build-rocprofiler-sdk --parallel 16
cmake --build build-rocprofiler-sdk --target package --parallel 16
- name: Archive Packages
uses: actions/upload-artifact@v4
with:
name: Packages-${{ inputs.rocm-release }}
path: |
${{github.workspace}}/build-*/*.sh
${{github.workspace}}/build-*/*.deb
${{github.workspace}}/build-*/*.rpm
${{github.workspace}}/build-*/*.tar.gz