Skip to main content

Crate trueno_cupti

Crate trueno_cupti 

Source
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.
ProfilerBuilder
Builder for configuring profiler options.