Summary
Counter-set preflight validation currently checks only whether metric names appear in ncu --query-metrics. It does not validate actual support on the target kernel/device/replay path, and kernel-row attribution during profiling is fragile when no kernel regex is configured.
Evidence
src/kernel_tuner/profiling/compatibility.py:47
src/kernel_tuner/profiling/compatibility.py:59
src/kernel_tuner/profiling/adapter.py:65
src/kernel_tuner/profiling/adapter.py:124
src/kernel_tuner/profiling/adapter.py:276
docs/research/04_signal_and_profiling_plan.md:100
Why This Matters
The system can mark a counter set acceptable for reportable use even when the counters are not reliably obtainable for the actual profiled kernel. It can also attribute counters to the wrong kernel row.
Expected Fix
- Strengthen compatibility validation beyond simple metric-name discovery.
- Improve kernel-row attribution, ideally with explicit kernel filtering for reportable counter sets.
- Document fallback behavior when exact attribution is not possible.
Acceptance Criteria
- Reportable counter sets use defensible kernel attribution.
- Preflight acceptance is harder to produce as a false positive.
- Tests cover compatibility and row-selection behavior.
Summary
Counter-set preflight validation currently checks only whether metric names appear in
ncu --query-metrics. It does not validate actual support on the target kernel/device/replay path, and kernel-row attribution during profiling is fragile when no kernel regex is configured.Evidence
src/kernel_tuner/profiling/compatibility.py:47src/kernel_tuner/profiling/compatibility.py:59src/kernel_tuner/profiling/adapter.py:65src/kernel_tuner/profiling/adapter.py:124src/kernel_tuner/profiling/adapter.py:276docs/research/04_signal_and_profiling_plan.md:100Why This Matters
The system can mark a counter set acceptable for reportable use even when the counters are not reliably obtainable for the actual profiled kernel. It can also attribute counters to the wrong kernel row.
Expected Fix
Acceptance Criteria