Source code for habitat.profiling.run_time

import torch


[docs]class RunTimeProfiler: def __init__(self, warm_up=3, measure_for=3): self._warm_up = warm_up self._measure_for = measure_for self._start_event = torch.cuda.Event(enable_timing=True) self._end_event = torch.cuda.Event(enable_timing=True)
[docs] def measure_ms(self, runnable): for _ in range(self._warm_up): runnable() self._start_event.record() for _ in range(self._measure_for): runnable() self._end_event.record() torch.cuda.synchronize() return ( self._start_event.elapsed_time(self._end_event) / self._measure_for
)