Gromacs  2018.8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Enumerations | Variables
gpuregiontimer.h File Reference
#include <string>
#include "gromacs/utility/gmxassert.h"
+ Include dependency graph for gpuregiontimer.h:
+ This graph shows which files directly or indirectly include this file:

Description

Defines the GPU region timer implementation/wrapper classes. The implementations live in gpuregiontimer.cuh for CUDA and gpuregiontimer_ocl.h for OpenCL.

Author
Aleksei Iupinov a.yup.nosp@m.inov.nosp@m.@gmai.nosp@m.l.co.nosp@m.m

Classes

struct  GpuTraits< GpuFramework >
 GPU build-path traits such as types. More...
 
class  GpuRegionTimerImpl< framework >
 This is a GPU region timing implementation interface. It should provide methods for measuring the last timespan. Copying/assignment is disabled since the underlying timing events are owned by this. More...
 
class  GpuRegionTimerWrapper< framework >
 This is a GPU region timing wrapper class. It allows for host-side tracking of the accumulated execution timespans in GPU code (measuring kernel or transfers duration). It also partially tracks the correctness of the timer state transitions, as far as current implementation allows (see TODO in getLastRangeTime() for a disabled check). Internally it uses GpuRegionTimerImpl for measuring regions. More...
 

Enumerations

enum  GpuFramework { CUDA, OpenCL }
 Enumeration of possible GPU build-paths. More...
 

Variables

static const bool c_debugTimerState = true
 Debug GPU timers in debug builds only.
 

Enumeration Type Documentation

enum GpuFramework
strong

Enumeration of possible GPU build-paths.

Todo:
Move somewhere general?