Expand description
trueno-cupti: CUDA Profiling for ComputeBrick Analysis
Rust bindings for NVIDIA CUPTI (CUDA Profiling Tools Interface). Enables detailed GPU profiling for cbtop visualization.
§Features
- Activity Tracing: Kernel execution, memory copies, synchronization
- Metrics Collection: SM utilization, warp occupancy, memory throughput
- Callback API: Real-time notifications of CUDA operations
- PC Sampling: Instruction-level performance analysis
§Example
ⓘ
use trueno_cupti::{Profiler, ActivityKind};
let profiler = Profiler::new()?;
profiler.enable(ActivityKind::Kernel)?;
profiler.enable(ActivityKind::MemoryCopy)?;
// Run CUDA workload...
let records = profiler.flush()?;
for record in records {
println!("{}: {} ns", record.name, record.duration_ns);
}§Hardware Requirements
- NVIDIA GPU (Compute Capability 3.0+)
- CUDA Toolkit 11.0+ with CUPTI
- Linux (primary), Windows (experimental)
Re-exports§
pub use activity::ActivityKind;pub use activity::ActivityRecord;pub use activity::KernelRecord;pub use activity::MemcpyRecord;pub use callback::CallbackDomain;pub use callback::CallbackId;pub use error::CuptiError;pub use error::CuptiResult;pub use metrics::MetricId;pub use metrics::MetricValue;pub use metrics::SmMetrics;pub use metrics::WarpMetrics;
Modules§
- activity
- Activity tracing for CUDA operations.
- callback
- Callback API for real-time CUDA event notifications.
- error
- Error types for trueno-cupti.
- metrics
- GPU metrics collection via CUPTI.
Structs§
- Profiler
- CUPTI Profiler - main entry point for GPU profiling.
- Profiler
Builder - Builder for configuring profiler options.