test_evaluator_multi_gpu
¶
Multi-replica eval through the public Evaluator API.
Skipped automatically when fewer than 2 CUDA devices are visible.
Functions¶
fastvideo.tests.eval.test_evaluator_multi_gpu.baseline_scores
¶
Reference scores computed on a single-GPU evaluator. The multi-GPU runs must reproduce these exactly when handed the same input list — that's the only way to verify round-robin dispatch isn't dropping or reordering samples.
Source code in fastvideo/tests/eval/test_evaluator_multi_gpu.py
fastvideo.tests.eval.test_evaluator_multi_gpu.test_multi_gpu_dispatch_preserves_order_and_scores
¶
Same samples, multi-GPU dispatch — results must match the single-GPU baseline element-for-element. This verifies (a) the round-robin doesn't reorder, (b) every sample is scored exactly once, © the workers don't share mutable state.
Source code in fastvideo/tests/eval/test_evaluator_multi_gpu.py
fastvideo.tests.eval.test_evaluator_multi_gpu.test_multi_gpu_evaluator_kwargs_form_runs_on_one_replica
¶
The kwargs form (single sample) is documented to always hit worker 0; this test pins the contract so future refactors don't accidentally fan out a single call.
Source code in fastvideo/tests/eval/test_evaluator_multi_gpu.py
fastvideo.tests.eval.test_evaluator_multi_gpu.test_multi_gpu_release_cuda_memory_runs_clean
¶
release_cuda_memory must hit every replica without crashing.