8157437273
* Add missing copyright headers in rocprofiler-systems * Update python-tests * Update causal test --------- Co-authored-by: David Galiffi <David.Galiffi@amd.com>
43 línte
1.0 KiB
C++
43 línte
1.0 KiB
C++
/*************************************************************************
|
|
* Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.
|
|
* Modifications Copyright (c) 2020-2022 Advanced Micro Devices, Inc. All rights reserved.
|
|
*
|
|
* See LICENSE.txt for license information
|
|
************************************************************************/
|
|
|
|
#include "timer.h"
|
|
|
|
// Make sure to compile this translation unit with the host compiler and not
|
|
// nvcc, lest you hit an internal compiler error (ICE) with GCC 10.3.0
|
|
#include <chrono>
|
|
|
|
namespace
|
|
{
|
|
std::uint64_t
|
|
now()
|
|
{
|
|
using clock = std::chrono::steady_clock;
|
|
return std::chrono::duration_cast<std::chrono::nanoseconds>(
|
|
clock::now().time_since_epoch())
|
|
.count();
|
|
}
|
|
} // namespace
|
|
|
|
timer::timer() { t0 = now(); }
|
|
|
|
double
|
|
timer::elapsed() const
|
|
{
|
|
std::uint64_t t1 = now();
|
|
return 1.e-9 * (t1 - t0);
|
|
}
|
|
|
|
double
|
|
timer::reset()
|
|
{
|
|
std::uint64_t t1 = now();
|
|
double ans = 1.e-9 * (t1 - t0);
|
|
t0 = t1;
|
|
return ans;
|
|
}
|