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
68 lines
1.5 KiB
Markdown
68 lines
1.5 KiB
Markdown
---
|
|
status: accepted
|
|
author: aelwazir
|
|
start_date: 2026-04-17
|
|
pr: https://example.com/pr/0
|
|
implements: []
|
|
supersedes: []
|
|
---
|
|
|
|
# RFC-0000: Canonical example (non-binding)
|
|
|
|
## Summary
|
|
|
|
This file is a worked example demonstrating the RFC format. It is not a
|
|
live proposal and no implementation follows from it.
|
|
|
|
## Motivation
|
|
|
|
Contributors benefit from seeing a completed RFC before writing their first one.
|
|
|
|
## Design
|
|
|
|
(Illustrative; not implemented.) Add a "thermal-throttle detection" signal
|
|
to the `latency` bottleneck classifier that reads temperature counters
|
|
when available.
|
|
|
|
### Public-facing change
|
|
|
|
`perfxpert analyze` would emit a new recommendation category
|
|
`thermal_throttling` when `TEMPERATURE_EDGE > 95 C` correlates with
|
|
kernel slowdown.
|
|
|
|
### Internal change
|
|
|
|
- New tool `tools/thermal.py:classify_throttle`
|
|
- New knowledge entry `thermal_thresholds.yaml`
|
|
- New bottleneck sub-type in `bottleneck_types.yaml`
|
|
|
|
### Backward compatibility
|
|
|
|
Non-breaking. If thermal counters absent, classifier skips silently.
|
|
|
|
## Alternatives considered
|
|
|
|
(1) OS-level thermal probe — rejected: requires root.
|
|
(2) Ignore thermal entirely — rejected: leaves a real class of slowdowns invisible.
|
|
|
|
## Unresolved questions
|
|
|
|
- What per-arch threshold? Differs MI300X vs MI350X.
|
|
|
|
## Test plan
|
|
|
|
Tool unit tests, integration test with a thermal-throttled fixture,
|
|
proven-optimization entry with fixture-pair.
|
|
|
|
## Migration
|
|
|
|
n/a (additive)
|
|
|
|
## Prior art
|
|
|
|
AMD SMI / ROCm SMI thermal telemetry and existing ROCm monitoring flows.
|
|
|
|
## Approval checklist
|
|
|
|
- [x] Example (non-binding)
|