COMPASS  5.0.0
End-to-end AO simulation tool using GPU acceleration
sutra_dm.h File Reference
#include <carma_utils.h>
#include <sutra_kl.h>
#include <sutra_phase.h>
#include <sutra_utils.h>
#include <map>
#include <cuda.h>
Include dependency graph for sutra_dm.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  SutraDm
 this class provides the dm features to COMPASS More...
 
class  SutraDms
 

Macros

#define CHEAT_CODE
 
#define BLOCKSIZE   512
 
#define CEIL(a, b)   ((a) + (b)-1) / (b)
 
#define MAXSPOT   16
 
#define PIXELPERBLOCK   10
 

Functions

template<class T >
void comp_dmshape (int threads, int blocks, T *d_idata, T *d_odata, int *pos, int *istart, int *npts, T *comm, unsigned int n, int N)
 
template<class T >
void comp_dmshape2 (T *outData, const T *cmdVector, const T *influData, const int *iStart_t, const int *iPos, const int roiLength, const dim3 threads, const dim3 blocks, const int shared)
 
template<class T >
void oneactu (int threads, int blocks, T *d_idata, T *d_odata, int nactu, T ampli, int *xoff, int *yoff, int dim_im, int dim_influ, int N)
 
template<class T >
void oneactu (int threads, int blocks, T *d_idata, T *d_odata, int nactu, T ampli, int dim_im, int dim_influ, int N)
 
template<class T >
void comp_fulldmshape (int threads, int blocks, T *d_idata, T *d_odata, int nactus, int diminflu, T *comm, int N)
 
template<class T >
int getIF (T *IF, float *dmshape, int *indx_pup, long nb_pts, int column, long nb_col, int puponly, CarmaDevice *device)
 
int dm_dostatmat (float *d_statcov, long Nkl, float *d_xpos, float *d_ypos, float norm, CarmaDevice *device)
 
int fill_filtermat (float *filter, int nactu, int N, CarmaDevice *device)
 
int find_nnz (float *d_data, int N, CarmaDevice *device)
 
int convertToCom (uint16_t *volts, float *com, int N, float volt_min, float volt_max, uint16_t val_max, CarmaDevice *device)
 

Macro Definition Documentation

◆ BLOCKSIZE

#define BLOCKSIZE   512

Definition at line 58 of file sutra_dm.h.

◆ CEIL

#define CEIL (   a,
 
)    ((a) + (b)-1) / (b)

Definition at line 59 of file sutra_dm.h.

◆ CHEAT_CODE

#define CHEAT_CODE

Definition at line 54 of file sutra_dm.h.

◆ MAXSPOT

#define MAXSPOT   16

Definition at line 60 of file sutra_dm.h.

◆ PIXELPERBLOCK

#define PIXELPERBLOCK   10

Definition at line 61 of file sutra_dm.h.

Function Documentation

◆ comp_dmshape()

template<class T >
void comp_dmshape ( int  threads,
int  blocks,
T *  d_idata,
T *  d_odata,
int *  pos,
int *  istart,
int *  npts,
T *  comm,
unsigned int  n,
int  N 
)

◆ comp_dmshape2()

template<class T >
void comp_dmshape2 ( T *  outData,
const T *  cmdVector,
const T *  influData,
const int *  iStart_t,
const int *  iPos,
const int  roiLength,
const dim3  threads,
const dim3  blocks,
const int  shared 
)

◆ comp_fulldmshape()

template<class T >
void comp_fulldmshape ( int  threads,
int  blocks,
T *  d_idata,
T *  d_odata,
int  nactus,
int  diminflu,
T *  comm,
int  N 
)

◆ convertToCom()

int convertToCom ( uint16_t *  volts,
float *  com,
int  N,
float  volt_min,
float  volt_max,
uint16_t  val_max,
CarmaDevice device 
)

◆ dm_dostatmat()

int dm_dostatmat ( float *  d_statcov,
long  Nkl,
float *  d_xpos,
float *  d_ypos,
float  norm,
CarmaDevice device 
)

◆ fill_filtermat()

int fill_filtermat ( float *  filter,
int  nactu,
int  N,
CarmaDevice device 
)

◆ find_nnz()

int find_nnz ( float *  d_data,
int  N,
CarmaDevice device 
)

◆ getIF()

template<class T >
int getIF ( T *  IF,
float *  dmshape,
int *  indx_pup,
long  nb_pts,
int  column,
long  nb_col,
int  puponly,
CarmaDevice device 
)

◆ oneactu() [1/2]

template<class T >
void oneactu ( int  threads,
int  blocks,
T *  d_idata,
T *  d_odata,
int  nactu,
ampli,
int *  xoff,
int *  yoff,
int  dim_im,
int  dim_influ,
int  N 
)

◆ oneactu() [2/2]

template<class T >
void oneactu ( int  threads,
int  blocks,
T *  d_idata,
T *  d_odata,
int  nactu,
ampli,
int  dim_im,
int  dim_influ,
int  N 
)