latency
shrinkai.profiler.latency
Functions:
| Name | Description |
|---|---|
measure_latency |
Measures average inference latency and throughput (FPS / samples per second). |
synchronize_device |
Synchronizes device streams to ensure precise time measurement. |
Functions:
measure_latency
measure_latency(
model: Module,
sample_input: Tensor,
device: device,
num_runs: int = 100,
warmup_runs: int = 15,
) -> dict[str, float]
Measures average inference latency and throughput (FPS / samples per second).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
model
|
Module
|
Model to profile. |
required |
sample_input
|
Tensor
|
Input batch tensor matching inference shape. |
required |
device
|
device
|
Computing device. |
required |
num_runs
|
int
|
Number of timed inference iterations. |
100
|
warmup_runs
|
int
|
Initial iterations discarded to warm up hardware caches. |
15
|
Returns:
| Type | Description |
|---|---|
dict[str, float]
|
dict[str, float]: Latency per sample (ms), per batch (ms), and throughput (FPS). |
Source code in src/shrinkai/profiler/latency.py
synchronize_device
Synchronizes device streams to ensure precise time measurement.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
device
|
device
|
Active PyTorch computing device. |
required |