Files
rustytorch/crates/tooling/rtx-bench
builderandClaude Sonnet 4.6 301f223b91 refactor(rustytorch): full clean review 2026-04-30
- fix(workspace): exclude crates/training/rtx-distributed from workspace members
  — RNCCL path deps absent in standalone checkout blocked all cargo operations
- refactor(rtx-backend-webgpu): split compute.rs (1654 lines) into compute/mod.rs
  (1040) + compute/conv.rs (628) — both within 1250-line limit
- fix(rtx-bench): add missing src/bin/main.rs declared in [[bin]] Cargo.toml entry
- fix(gitignore): narrow `bin/` exclusion to /bin/ only; add !**/src/bin/ exception
  to allow Rust source binary directories
- style(rtx-eval): 67x "literal".to_string() → "literal".to_owned() in automation,
  validation, metrics, lib, core, error modules and build.rs

All tests pass (64 tests across rtx-eval + rtx-backend-webgpu, 0 failures).
Clippy clean (-D warnings) on all changed crates.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-04-30 08:27:50 -07:00
..
2026-03-04 00:08:42 +00:00
2026-03-04 00:08:42 +00:00
2026-03-04 00:08:42 +00:00
2026-03-04 00:08:42 +00:00
2026-03-04 00:08:42 +00:00

RTX Benchmark Suite

A comprehensive benchmarking framework for the RustyTorch++ platform, providing performance analysis across all components of the ML/AI stack.

Features

Core Infrastructure Benchmarks

  • Tensor Operations: Creation, arithmetic, linear algebra, reductions, shape manipulation
  • Memory Management: Allocation patterns, pool performance, GPU memory, fragmentation analysis
  • Autograd System: Forward/backward passes, computation graphs, gradient computation
  • Runtime Performance: Device management, context switching, kernel compilation
  • GPU Kernels: CUDA/ROCm kernel execution, compilation time, memory transfers

Model Architecture Benchmarks

  • Transformer Models: BERT, GPT, T5 with different sizes and configurations
  • Vision Models: ResNet, ViT, EfficientNet with various input sizes
  • Multimodal Models: CLIP, DALL-E, cross-modal attention mechanisms
  • Scaling Analysis: Batch size optimization, sequence length impact, memory usage

Distributed Training Benchmarks

  • Multi-GPU Scaling: Efficiency analysis across GPU counts
  • Communication Patterns: Gradient synchronization, bandwidth utilization
  • Load Balancing: Work distribution effectiveness
  • Fault Tolerance: Recovery time analysis

Production Inference Benchmarks

  • Latency Analysis: Single request latency (p50, p95, p99)
  • Throughput Testing: Batch processing performance, concurrent requests
  • Memory Efficiency: Peak allocation, garbage collection impact
  • Model Loading: Initialization and warm-up performance

Compression & Optimization Benchmarks

  • Quantization: Accuracy vs speed tradeoffs across bit depths
  • Model Pruning: Sparsity impact on performance and memory
  • Knowledge Distillation: Student model convergence rates
  • Optimization Techniques: Various acceleration methods

Competitive Analysis Framework

  • Framework Comparisons: PyTorch, TensorFlow, ONNX Runtime
  • MLPerf Benchmarks: Industry-standard compliance testing
  • Hardware Optimization: Platform-specific performance analysis
  • Statistical Validation: Rigorous comparison methodology

Architecture

TDD Implementation

The benchmark suite follows strict Test-Driven Development:

  • All benchmarks start with failing tests
  • Statistical rigor with confidence intervals
  • Regression detection and alerting
  • Comprehensive validation of measurements

Statistical Analysis

  • Coefficient of variation tracking
  • Outlier detection using IQR method
  • Welch's t-test for significance testing
  • Confidence interval calculation
  • Performance regression detection

Reporting System

  • HTML Reports: Interactive visualizations and detailed analysis
  • JSON Export: Machine-readable results for automation
  • CSV Data: Raw measurements for external analysis
  • Regression Alerts: Automated performance regression detection

Usage

Command Line Interface

# Run all benchmark suites
rtx-bench all --gpu --competitive

# Run specific benchmark categories
rtx-bench core --devices cpu,cuda:0 --iterations 100
rtx-bench models --models bert,gpt,resnet --batch-sizes 1,8,16,32
rtx-bench distributed --num-gpus 4 --backend nccl
rtx-bench inference --concurrency-levels 1,10,50,100 --batch-processing
rtx-bench competitive --frameworks pytorch,tensorflow --mlperf

# Generate reports from existing results
rtx-bench report --input results/ --regression --historical --formats html,json

Programmatic API

use rtx_bench::{BenchmarkConfig, BenchmarkSuite};

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    // Configure benchmarks
    let config = BenchmarkConfig::default()
        .with_warmup_iterations(10)
        .with_measurement_iterations(100)
        .with_gpu_enabled(true)
        .with_confidence_level(0.95);

    // Run comprehensive benchmark suite
    let suite = BenchmarkSuite::new(config);
    let results = suite.run_all_benchmarks().await?;

    // Generate detailed report
    let report_config = ReportConfig::default();
    let generator = ReportGenerator::new(report_config.clone());
    let report = generator.generate_report(&results, &report_config).await?;

    println!("Benchmark completed: {}", report.summary.average_execution_time_ms);
    Ok(())
}

Benchmark Categories

1. Core Infrastructure Performance

  • Tensor operations across different sizes and data types
  • Memory allocation patterns and pool effectiveness
  • GPU memory transfer optimization
  • Autograd computation graph efficiency
  • Kernel compilation and execution timing

2. Model Architecture Analysis

  • Forward pass latency and throughput
  • Training step performance including backward pass
  • Memory usage profiling during training/inference
  • Batch size scaling characteristics
  • Sequence length impact analysis

3. Distributed Training Evaluation

  • Multi-GPU communication efficiency
  • Gradient synchronization overhead
  • Load balancing across devices
  • Fault recovery mechanisms
  • Scaling efficiency with device count

4. Production Inference Metrics

  • Single request latency distribution
  • Concurrent request handling capability
  • Batch processing throughput optimization
  • Model loading and initialization time
  • Memory efficiency under production load

5. Competitive Performance Analysis

  • Head-to-head comparisons with leading frameworks
  • MLPerf benchmark compliance validation
  • Hardware-specific optimization effectiveness
  • Industry standard performance verification

Output and Reporting

Statistical Validation

All benchmarks include:

  • Minimum sample size validation (configurable)
  • Outlier detection and filtering
  • Coefficient of variation analysis
  • Statistical significance testing
  • Confidence interval calculation

Performance Regression Detection

  • Automated comparison against historical baselines
  • Statistical significance testing for changes
  • Severity classification (Low/Medium/High/Critical)
  • Root cause analysis suggestions
  • Alert generation for significant regressions

Report Formats

  • Interactive HTML: Rich visualizations, charts, and drill-down analysis
  • JSON: Structured data for integration with CI/CD pipelines
  • CSV: Raw data export for custom analysis tools
  • Regression Alerts: Automated notifications for performance issues

Configuration

Benchmark Configuration

BenchmarkConfig {
    warmup_iterations: 5,
    measurement_iterations: 50,
    max_duration: Duration::from_secs(300),
    enable_gpu: true,
    enable_distributed: false,
    confidence_level: 0.95,
    min_sample_size: 30,
    collect_memory_stats: true,
    target_devices: vec!["cpu", "cuda:0"],
}

Report Configuration

ReportConfig {
    include_statistics: true,
    include_regression_analysis: true,
    include_historical_comparison: true,
    generate_html: true,
    generate_json: true,
    generate_csv: false,
    regression_threshold: 5.0, // 5% performance change threshold
}

Integration

CI/CD Pipeline Integration

- name: Performance Benchmarks
  run: |
    rtx-bench all --output-dir results/ --formats json
    rtx-bench report --input results/ --regression --formats html

Automated Regression Detection

The benchmark suite automatically detects:

  • Performance regressions above configurable thresholds
  • Memory usage increases
  • Statistical significance of changes
  • High variance indicating unstable performance

System Requirements

  • Rust 1.70.0 or later
  • CUDA 12.0+ (for GPU benchmarks)
  • 16GB+ RAM recommended for full benchmark suite
  • Multi-GPU setup for distributed training benchmarks

Contributing

The benchmark suite follows strict quality standards:

  • All benchmarks must include statistical validation
  • Minimum 95% test coverage for new components
  • Performance regression tests for all changes
  • Documentation with runnable examples

License

Licensed under either Apache 2.0 or MIT at your option.