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
88 lines
3.1 KiB
Markdown
88 lines
3.1 KiB
Markdown
# profiler-hub
|
|
|
|
[](https://opensource.org/licenses/MIT)
|
|
[](https://github.com/ROCm/rocm-systems/actions/workflows/profiler-hub-ci.yml?query=branch%3Adevelop)
|
|
[](https://github.com/ROCm/rocm-systems/actions/workflows/profiler-hub-sanitizers.yml?query=branch%3Adevelop)
|
|
[](https://github.com/ROCm/rocm-systems/actions/workflows/profiler-hub-static-analysis.yml?query=branch%3Adevelop)
|
|
[](https://github.com/ROCm/rocm-systems/actions/workflows/profiler-hub-coverage.yml?query=branch%3Adevelop)
|
|
|
|
A C++ library for storing and retrieving ROCm profiling data using SQLite (rocpd database format).
|
|
|
|
## Overview
|
|
|
|
**profiler-hub** provides a high-performance storage layer for ROCm profiling tools. It offers a structured way to persist profiling data in the rocpd (SQLite) database format, enabling interoperability with ROCm profiling tools and analysis workflows.
|
|
|
|
This library is part of the [rocm-systems](https://github.com/ROCm/rocm-systems) monorepo and is used by rocprofiler-systems for trace data output.
|
|
|
|
## Requirements
|
|
|
|
- CMake 3.21+
|
|
- C++17 compatible compiler
|
|
- SQLite3 (bundled via CMake module)
|
|
- spdlog (for logging)
|
|
- Optional: `rocprofiler-sdk-rocpd` for schema compatibility
|
|
|
|
### System Package Dependencies
|
|
|
|
**Ubuntu/Debian:**
|
|
```bash
|
|
sudo apt install libsqlite3-dev libspdlog-dev libfmt-dev
|
|
```
|
|
|
|
**RHEL/Rocky Linux:**
|
|
```bash
|
|
sudo dnf install sqlite-devel spdlog-devel fmt-devel
|
|
```
|
|
|
|
**openSUSE:**
|
|
```bash
|
|
sudo zypper install sqlite3-devel spdlog-devel fmt-devel
|
|
```
|
|
|
|
## Building
|
|
|
|
### Standalone Build
|
|
|
|
```bash
|
|
cmake -S . -B build
|
|
cmake --build build -j$(nproc)
|
|
```
|
|
|
|
### Build Options
|
|
|
|
| Option | Default | Description |
|
|
|--------|---------|-------------|
|
|
| `PROFILER_HUB_BUILD_TESTS` | ON | Build unit tests |
|
|
| `PROFILER_HUB_BUILD_BENCHMARKS` | ON | Build performance benchmarks |
|
|
| `PROFILER_HUB_ENABLE_LOGGING` | OFF | Enable debug logging |
|
|
| `PROFILER_HUB_ENABLE_COVERAGE` | OFF | Enable code coverage instrumentation (requires Debug build, gcov, and lcov or gcovr) |
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
cmake --install build --prefix /opt/rocm
|
|
```
|
|
|
|
## Usage
|
|
|
|
### Linking with CMake
|
|
|
|
For projects using an installed profiler-hub:
|
|
|
|
```cmake
|
|
find_package(profiler-hub REQUIRED)
|
|
target_link_libraries(your_target PRIVATE profiler-hub::profiler-hub)
|
|
```
|
|
|
|
<!-- ## Benchmark -->
|
|
|
|
<!-- // TODO -->
|
|
<!-- | Benchmark | Description | Time (ns) | -->
|
|
<!-- |---------------------|-------------------------------|-----------| -->
|
|
|
|
## License
|
|
|
|
MIT License — Copyright (c) 2025 Advanced Micro Devices, Inc.
|
|
|
|
See [LICENSE](LICENSE) for details.
|