[Easy] Add more check for elapsedTime of torch.xxx.Event and torch.Event (#151404)

As the title stated

**Changes:**
- Add **record**, **query** and **enable_timing** check
- Add related tests
Pull Request resolved: https://github.com/pytorch/pytorch/pull/151404
Approved by: https://github.com/albanD
This commit is contained in:
FFFrog
2025-04-18 10:09:57 +08:00
committed by PyTorch MergeBot
parent 29317f8585
commit 783be8f932
5 changed files with 68 additions and 10 deletions

View File

@ -112,6 +112,23 @@ class TestAccelerator(TestCase):
self.assertTrue(t_host.is_pinned())
self.assertEqual(t_acc.cpu(), t_host)
def test_generic_event_behavior(self):
event1 = torch.Event(enable_timing=False)
event2 = torch.Event(enable_timing=False)
with self.assertRaisesRegex(
ValueError,
"Both events must be recorded before calculating elapsed time",
):
event1.elapsed_time(event2)
event1.record()
event2.record()
with self.assertRaisesRegex(
ValueError,
"Both events must be created with argument 'enable_timing=True'",
):
event1.elapsed_time(event2)
if __name__ == "__main__":
run_tests()