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
)