Benchmark

Unified benchmarking API for comprehensive model analysis

source

BenchmarkResult


def BenchmarkResult(
    size:SizeMetrics | None=None, speed:dict[str, SpeedMetrics]=<factory>, compute:ComputeMetrics | None=None,
    memory:dict[str, MemoryMetrics]=<factory>, energy:dict[str, EnergyMetrics]=<factory>,
    _dict_cache:dict[str, Any] | None=None
)->None:

Structured container for benchmark results with typed access.

Provides both typed attribute access (e.g., result.speed["cpu"].mean_ms) and backward-compatible dict-like access (e.g., result["speed_cpu_mean_ms"]).


source

benchmark


def benchmark(
    model:torch.nn.Module, # model to profile
    sample:torch.Tensor, # input tensor (with batch dimension)
    metrics:Sequence[str]=('size', 'speed', 'compute', 'memory', 'energy'), # metrics to compute
    speed_devices:Sequence[str | torch.device] | None=None, # devices for speed (default: cpu + cuda)
    memory_devices:Sequence[str | torch.device] | None=None, # devices for memory
    energy_devices:Sequence[str | torch.device] | None=None, # devices for energy
    kwargs:VAR_KEYWORD
)->BenchmarkResult:

Run comprehensive benchmarks on a model.


See Also