Expand description
Launch telemetry: timing, occupancy, and register usage reporting.
This module provides post-launch diagnostics for GPU kernel execution.
After a kernel launch, LaunchTelemetry captures grid/block dimensions,
GPU-side timing, achieved occupancy, and register usage. A
TelemetryCollector accumulates entries and produces a
TelemetrySummary with per-kernel aggregation.
Telemetry can be exported to JSON, CSV, or Chrome trace format via
TelemetryExporter.
§Example
use oxicuda_launch::telemetry::{LaunchTelemetry, TelemetryCollector};
let mut collector = TelemetryCollector::new(1000);
let entry = LaunchTelemetry::new("vector_add", (4, 1, 1), (256, 1, 1))
.with_elapsed_ms(0.5)
.with_achieved_occupancy(0.85);
collector.record(entry);
let summary = collector.summary();
assert_eq!(summary.total_launches, 1);Structs§
- Kernel
Stats - Aggregated statistics for a single kernel across multiple launches.
- Launch
Telemetry - Telemetry data collected after a single kernel launch.
- Telemetry
Collector - Accumulates
LaunchTelemetryentries and produces summaries. - Telemetry
Exporter - Export telemetry data in various formats.
- Telemetry
Summary - Summary of all collected telemetry data.
Enums§
- SmVersion
- GPU architecture version for occupancy estimation.
Functions§
- estimate_
occupancy - Estimates theoretical occupancy for a kernel launch configuration.