Ginkgo
Generated from pipelines/1330831941 branch based on master. Ginkgo version 1.8.0
A numerical linear algebra library targeting many-core architectures
|
A timer using events for timing on a CudaExecutor. More...
#include <ginkgo/core/base/timer.hpp>
Public Member Functions | |
void | record (time_point &time) override |
Records a time point at the current time. | |
void | wait (time_point &time) override |
Waits until all kernels in-process when recording the time point are finished. | |
std::chrono::nanoseconds | difference_async (const time_point &start, const time_point &stop) override |
Computes the difference between the two time points in nanoseconds. More... | |
CudaTimer (std::shared_ptr< const CudaExecutor > exec) | |
Public Member Functions inherited from gko::Timer | |
time_point | create_time_point () |
Returns a newly created time point. More... | |
std::chrono::nanoseconds | difference (time_point &start, time_point &stop) |
Computes the difference between the two time points in nanoseconds. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from gko::Timer | |
static std::unique_ptr< Timer > | create_for_executor (std::shared_ptr< const Executor > exec) |
Creates the timer type most suitable for recording accurate timings of kernels on the given executor. More... | |
A timer using events for timing on a CudaExecutor.
|
overridevirtual |
Computes the difference between the two time points in nanoseconds.
This asynchronous version does not synchronize itself, so the time points need to have been synchronized with, i.e. timer->wait(stop)
needs to have been called. The version is intended for more advanced users who want to measure the overhead of timing functionality separately.
start | the first time point (earlier) |
end | the second time point (later) |
Implements gko::Timer.