@@ -20,37 +20,27 @@ def test_event_init_disabled():
20
20
cuda .core .experimental ._event .Event () # Ensure back door is locked.
21
21
22
22
23
- @pytest .mark .parametrize ("enable_timing" , [True , False , None ])
24
- def test_timing (init_cuda , enable_timing ):
25
- options = EventOptions (enable_timing = enable_timing )
23
+ def test_timing_success (init_cuda ):
24
+ options = EventOptions (enable_timing = True )
26
25
stream = Device ().create_stream ()
27
26
delay_seconds = 0.5
28
27
e1 = stream .record (options = options )
29
28
time .sleep (delay_seconds )
30
29
e2 = stream .record (options = options )
31
30
e2 .sync ()
32
- for e in (e1 , e2 ):
33
- assert e .is_timing_disabled == (True if enable_timing is None else not enable_timing )
34
- if enable_timing :
35
- elapsed_time_ms = e2 - e1
36
- assert isinstance (elapsed_time_ms , float )
37
- # Using a generous tolerance, to avoid flaky tests:
38
- # We only want to exercise the __sub__ method, this test is not meant
39
- # to stress-test the CUDA driver or time.sleep().
40
- delay_ms = delay_seconds * 1000
41
- if os .name == "nt" : # noqa: SIM108
42
- # For Python <=3.10, the Windows timer resolution is typically limited to 15.6 ms by default.
43
- generous_tolerance = 100
44
- else :
45
- # Most modern Linux kernels have a default timer resolution of 1 ms.
46
- generous_tolerance = 20
47
- assert delay_ms - generous_tolerance <= elapsed_time_ms < delay_ms + generous_tolerance
31
+ elapsed_time_ms = e2 - e1
32
+ assert isinstance (elapsed_time_ms , float )
33
+ # Using a generous tolerance, to avoid flaky tests:
34
+ # We only want to exercise the __sub__ method, this test is not meant
35
+ # to stress-test the CUDA driver or time.sleep().
36
+ delay_ms = delay_seconds * 1000
37
+ if os .name == "nt" : # noqa: SIM108
38
+ # For Python <=3.10, the Windows timer resolution is typically limited to 15.6 ms by default.
39
+ generous_tolerance = 100
48
40
else :
49
- with pytest .raises (RuntimeError ) as e :
50
- elapsed_time_ms = e2 - e1
51
- msg = str (e )
52
- assert "disabled by default" in msg
53
- assert "CUDA_ERROR_INVALID_HANDLE" in msg
41
+ # Most modern Linux kernels have a default timer resolution of 1 ms.
42
+ generous_tolerance = 20
43
+ assert delay_ms - generous_tolerance <= elapsed_time_ms < delay_ms + generous_tolerance
54
44
55
45
56
46
def test_is_sync_busy_waited (init_cuda ):
@@ -91,6 +81,8 @@ def test_error_timing_disabled():
91
81
92
82
event1 = stream .record (options = enabled )
93
83
event2 = stream .record (options = disabled )
84
+ assert not event1 .is_timing_disabled
85
+ assert event2 .is_timing_disabled
94
86
stream .sync ()
95
87
with pytest .raises (RuntimeError , match = "^Both Events must be created with timing enabled" ):
96
88
event2 - event1
0 commit comments