(*args, **kwargs)
| 308 | def time_it(iters=1): |
| 309 | def decorator(func): |
| 310 | def func_wrapper(*args, **kwargs): |
| 311 | start_events = [arch.event(enable_timing=True) for _ in range(iters)] |
| 312 | end_events = [arch.event(enable_timing=True) for _ in range(iters)] |
| 313 | |
| 314 | for i in range(iters): |
| 315 | with torch.no_grad(): |
| 316 | l2_cache.zero_() # clear accelerator cache |
| 317 | C.copy_(C_rand) # re-randomize the target matrix |
| 318 | start_events[i].record() |
| 319 | ret = func(*args, **kwargs) |
| 320 | end_events[i].record() |
| 321 | arch.synchronize() |
| 322 | times = np.array([s.elapsed_time(e) for s, e in zip(start_events, end_events)]) |
| 323 | return times |
| 324 | return func_wrapper |
| 325 | return decorator |
| 326 |
nothing calls this directly
no test coverage detected