Classes | |
class | TimerTest |
Typedefs | |
using | event_t = Event<execution_space> |
using | timer_t = Timer<execution_space> |
Functions | |
TEST (Event, impl_event_type) | |
TEST (Event, duration_instances) | |
TEST (Event, duration) | |
TEST_F (TimerTest, invalid_if_not_reset_and_not_stopped) | |
TEST_F (TimerTest, invalid_if_not_stopped) | |
TEST_F (TimerTest, invalid_if_not_reset) | |
TEST_F (TimerTest, valid_if_reset_and_stopped) | |
TEST_F (TimerTest, start_stop_elapsed) | |
TEST_F (TimerTest, duration) | |
TEST_F (TimerTest, reuse) | |
Definition at line 26 of file test_Event.cpp.
Definition at line 25 of file test_Timer.cpp.
Kokkos::utils::tests::timer::TEST | ( | Event | , |
duration | ) |
Definition at line 60 of file test_Event.cpp.
Kokkos::utils::tests::timer::TEST | ( | Event | , |
duration_instances | ) |
Definition at line 44 of file test_Event.cpp.
Kokkos::utils::tests::timer::TEST | ( | Event | , |
impl_event_type | ) |
Definition at line 29 of file test_Event.cpp.
Kokkos::utils::tests::timer::TEST_F | ( | TimerTest | , |
duration | ) |
Check that the elapsed time is greater than the waiting time of 100 ms.
Check the elapsed time in milliseconds.
Check the elapsed time in microseconds.
Check the elapsed time in seconds.
Check consistency.
Ensure the timer is effectively stopped.
Definition at line 116 of file test_Timer.cpp.
Kokkos::utils::tests::timer::TEST_F | ( | TimerTest | , |
invalid_if_not_reset | ) |
Definition at line 63 of file test_Timer.cpp.
Kokkos::utils::tests::timer::TEST_F | ( | TimerTest | , |
invalid_if_not_reset_and_not_stopped | ) |
Definition at line 42 of file test_Timer.cpp.
Kokkos::utils::tests::timer::TEST_F | ( | TimerTest | , |
invalid_if_not_stopped | ) |
Definition at line 52 of file test_Timer.cpp.
Kokkos::utils::tests::timer::TEST_F | ( | TimerTest | , |
reuse | ) |
The following page on the Cuda
event API https://docs.nvidia.com/cuda/cuda-runtime-api/group__CUDART__EVENT.html#group__CUDART__EVENT_1gf4fcb74343aa689f4159791967868446 mentions that: cudaEventRecord
can be called multiple times on the same event and will overwrite the previously captured state.
The following page on the HIP
even API https://rocm.docs.amd.com/projects/HIP/en/docs-6.0.2/doxygen/html/group___event.html#ga553b6f7a8e7b7dd9536d8a64c24d7e29 mentions that: If hipEventRecord
has been previously called on this event, then this call will overwrite any existing state in event.
It also warns that: If this function is called on an event that is currently being recorded, results are undefined.
This test helps us ensure that for a "reset -> stop -> reset -> stop -> ..." sequence, our timer is fine.
Check that the elapsed time is greater than the waiting time, but smaller than our "external" timer. This ensures that the timer restarted from zero in the loop iteration.
Definition at line 169 of file test_Timer.cpp.
Kokkos::utils::tests::timer::TEST_F | ( | TimerTest | , |
start_stop_elapsed | ) |
Kokkos::Timer
wrapped outside of it. Fencing is not required if the elapsed time for the external timer is retrieved after the one for the timer. Because retrieving the elapsed time from the timer synchronizes the stop event.
Definition at line 86 of file test_Timer.cpp.
Kokkos::utils::tests::timer::TEST_F | ( | TimerTest | , |
valid_if_reset_and_stopped | ) |
Definition at line 74 of file test_Timer.cpp.