/* * Copyright (c) Advanced Micro Devices, Inc., or its affiliates. * * SPDX-License-Identifier: MIT */ #include #include #include #include #include /** * @addtogroup event event * @{ * @ingroup PerformanceTestEvent */ class HipEventElapsedTimeBenchmark : public Benchmark { public: void operator()() { hipEvent_t start, end; float time; HIP_CHECK(hipEventCreate(&start)); HIP_CHECK(hipEventCreate(&end)); HIP_CHECK(hipEventRecord(start)); std::this_thread::sleep_for(std::chrono::milliseconds(5)); /* idle for 5 ms */ HIP_CHECK(hipEventRecord(end)); HIP_CHECK(hipEventSynchronize(end)); TIMED_SECTION(kTimerTypeCpu) { HIP_CHECK(hipEventElapsedTime(&time, start, end)); } HIP_CHECK(hipEventDestroy(start)); HIP_CHECK(hipEventDestroy(end)); } }; /** * Test Description * ------------------------ * - Executes `hipEventElapsedTime` * Test source * ------------------------ * - performance/api/event/hipEventElapsedTime.cc * Test requirements * ------------------------ * - HIP_VERSION >= 5.2 */ HIP_TEST_CASE(Performance_hipEventElapsedTime) { HipEventElapsedTimeBenchmark benchmark; benchmark.Run(); } /** * End doxygen group event. * @} */