Ginkgo  Generated from pipelines/1556235455 branch based on develop. Ginkgo version 1.9.0
A numerical linear algebra library targeting many-core architectures
Public Member Functions | List of all members
gko::CudaTimer Class Reference

A timer using events for timing on a CudaExecutor. More...

#include <ginkgo/core/base/timer.hpp>

Inheritance diagram for gko::CudaTimer:
[legend]
Collaboration diagram for gko::CudaTimer:
[legend]

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< Timercreate_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...
 

Detailed Description

A timer using events for timing on a CudaExecutor.

Note
When using a CudaExecutor with a custom stream, make sure that the stream's lifetime is longer than the lifetime of this timer.

Member Function Documentation

◆ difference_async()

std::chrono::nanoseconds gko::CudaTimer::difference_async ( const time_point start,
const time_point stop 
)
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.

Parameters
startthe first time point (earlier)
endthe second time point (later)
Returns
the difference between the time points in nanoseconds.

Implements gko::Timer.


The documentation for this class was generated from the following file: