COMPASS  5.0.0
End-to-end AO simulation tool using GPU acceleration
CarmaClock Class Reference

#include <carma_timer.h>

Collaboration diagram for CarmaClock:

Public Member Functions

 CarmaClock (CarmaContext *context, int i)
 
 ~CarmaClock ()
 
void tic ()
 
void toc ()
 

Public Attributes

CarmaObj< double > * time_buffer
 
double gpu_freq
 
long cc
 
long long int * clock_counter
 

Detailed Description

Definition at line 90 of file carma_timer.h.

Constructor & Destructor Documentation

◆ CarmaClock()

CarmaClock::CarmaClock ( CarmaContext context,
int  i 
)

Definition at line 97 of file carma_timer.h.

97  {
98  cudaDeviceProp cdp;
99  cudaGetDeviceProperties(&cdp, context->get_active_device());
100  gpu_freq = cdp.clockRate * 1000;
101  long dims[2] = {1, i};
102  time_buffer = new CarmaObj<double>(context, dims);
103  cc = 0;
104  cudaMalloc(&clock_counter, sizeof(long long int));
105  }

◆ ~CarmaClock()

CarmaClock::~CarmaClock ( )

Definition at line 107 of file carma_timer.h.

107  {
108  delete time_buffer;
109  cudaFree(clock_counter);
110  }

Member Function Documentation

◆ tic()

void CarmaClock::tic ( )

Definition at line 112 of file carma_timer.h.

Here is the call graph for this function:

◆ toc()

void CarmaClock::toc ( )

Definition at line 114 of file carma_timer.h.

114  {
116  cc++;
117  if (cc >= time_buffer->get_nb_elements()) cc = 0;
118  }
Here is the call graph for this function:

Member Data Documentation

◆ cc

long CarmaClock::cc

Definition at line 94 of file carma_timer.h.

◆ clock_counter

long long int* CarmaClock::clock_counter

Definition at line 95 of file carma_timer.h.

◆ gpu_freq

double CarmaClock::gpu_freq

Definition at line 93 of file carma_timer.h.

◆ time_buffer

CarmaObj<double>* CarmaClock::time_buffer

Definition at line 92 of file carma_timer.h.


The documentation for this class was generated from the following file:
CarmaClock::clock_counter
long long int * clock_counter
Definition: carma_timer.h:95
CarmaClock::time_buffer
CarmaObj< double > * time_buffer
Definition: carma_timer.h:92
get_clock_count
void get_clock_count(long long int *clock_counter)
CarmaObj< double >
CarmaObj::get_nb_elements
int get_nb_elements()
Definition: carma_obj.h:241
CarmaObj::get_data_at
T_data * get_data_at(int index)
Definition: carma_obj.h:231
naga.array.context
context
Definition: array.py:47
CarmaClock::gpu_freq
double gpu_freq
Definition: carma_timer.h:93
CarmaClock::cc
long cc
Definition: carma_timer.h:94
layers_test.i
int i
Definition: layers_test.py:43