VTK-m  2.0
Public Member Functions | Private Member Functions | Private Attributes | List of all members
vtkm::cont::DeviceAdapterTimerImplementation< vtkm::cont::DeviceAdapterTagCuda > Class Reference

Specialization of DeviceAdapterTimerImplementation for CUDA CUDA contains its own high resolution timer that are able to track how long it takes to execute async kernels. More...

#include <DeviceAdapterTimerImplementationCuda.h>

Public Member Functions

VTKM_CONT DeviceAdapterTimerImplementation ()
 
VTKM_CONT ~DeviceAdapterTimerImplementation ()
 
VTKM_CONT void Reset ()
 
VTKM_CONT void Start ()
 
VTKM_CONT void Stop ()
 
VTKM_CONT bool Started () const
 
VTKM_CONT bool Stopped () const
 
VTKM_CONT bool Ready () const
 
VTKM_CONT vtkm::Float64 GetElapsedTime () const
 

Private Member Functions

 DeviceAdapterTimerImplementation (const DeviceAdapterTimerImplementation< vtkm::cont::DeviceAdapterTagCuda > &)=delete
 
void operator= (const DeviceAdapterTimerImplementation< vtkm::cont::DeviceAdapterTagCuda > &)=delete
 

Private Attributes

bool StartReady
 
bool StopReady
 
cudaEvent_t StartEvent
 
cudaEvent_t StopEvent
 

Detailed Description

Specialization of DeviceAdapterTimerImplementation for CUDA CUDA contains its own high resolution timer that are able to track how long it takes to execute async kernels.

If we simply measured time on the CPU it would incorrectly just capture how long it takes to launch a kernel.

Constructor & Destructor Documentation

◆ DeviceAdapterTimerImplementation() [1/2]

◆ ~DeviceAdapterTimerImplementation()

◆ DeviceAdapterTimerImplementation() [2/2]

vtkm::cont::DeviceAdapterTimerImplementation< vtkm::cont::DeviceAdapterTagCuda >::DeviceAdapterTimerImplementation ( const DeviceAdapterTimerImplementation< vtkm::cont::DeviceAdapterTagCuda > &  )
privatedelete

Member Function Documentation

◆ GetElapsedTime()

VTKM_CONT vtkm::Float64 vtkm::cont::DeviceAdapterTimerImplementation< vtkm::cont::DeviceAdapterTagCuda >::GetElapsedTime ( ) const

◆ operator=()

void vtkm::cont::DeviceAdapterTimerImplementation< vtkm::cont::DeviceAdapterTagCuda >::operator= ( const DeviceAdapterTimerImplementation< vtkm::cont::DeviceAdapterTagCuda > &  )
privatedelete

◆ Ready()

VTKM_CONT bool vtkm::cont::DeviceAdapterTimerImplementation< vtkm::cont::DeviceAdapterTagCuda >::Ready ( ) const

◆ Reset()

VTKM_CONT void vtkm::cont::DeviceAdapterTimerImplementation< vtkm::cont::DeviceAdapterTagCuda >::Reset ( )

◆ Start()

VTKM_CONT void vtkm::cont::DeviceAdapterTimerImplementation< vtkm::cont::DeviceAdapterTagCuda >::Start ( )

◆ Started()

VTKM_CONT bool vtkm::cont::DeviceAdapterTimerImplementation< vtkm::cont::DeviceAdapterTagCuda >::Started ( ) const

◆ Stop()

VTKM_CONT void vtkm::cont::DeviceAdapterTimerImplementation< vtkm::cont::DeviceAdapterTagCuda >::Stop ( )

◆ Stopped()

VTKM_CONT bool vtkm::cont::DeviceAdapterTimerImplementation< vtkm::cont::DeviceAdapterTagCuda >::Stopped ( ) const

Member Data Documentation

◆ StartEvent

cudaEvent_t vtkm::cont::DeviceAdapterTimerImplementation< vtkm::cont::DeviceAdapterTagCuda >::StartEvent
private

◆ StartReady

bool vtkm::cont::DeviceAdapterTimerImplementation< vtkm::cont::DeviceAdapterTagCuda >::StartReady
private

◆ StopEvent

cudaEvent_t vtkm::cont::DeviceAdapterTimerImplementation< vtkm::cont::DeviceAdapterTagCuda >::StopEvent
private

◆ StopReady

bool vtkm::cont::DeviceAdapterTimerImplementation< vtkm::cont::DeviceAdapterTagCuda >::StopReady
private

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