COMPASS  5.0.0
End-to-end AO simulation tool using GPU acceleration
sutra_controller_utils.h File Reference

this file provides the controller utilities to COMPASS More...

#include <sutra_atmos.h>
#include <sutra_dm.h>
#include <sutra_sensors.h>
#include <cstdio>
Include dependency graph for sutra_controller_utils.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  gtomo_struct
 
struct  cphim_struct
 

Functions

void process_err (cudaError_t e, const char *str)
 
void matts_gpu_gb (double *data, int nrows, int ncols, int xoffset, int yoffset, int lda, struct tomo_struct tomo, struct gtomo_struct *tomo_gpu)
 
void init_tomo_gpu_gb (struct gtomo_struct *tomo_gpu, SutraAtmos *atmos, SutraSensors *sensors, double diamTel, double cobs)
 
void free_tomo_gpu_gb (struct gtomo_struct *tomo_gpu)
 
void update_tomo_atm_gpu_gb (struct gtomo_struct *tomo_gpu, SutraSensors *sensors, SutraAtmos *atmos, double *L0, double *cn2, double *alphaX, double *alphaY)
 
void update_tomo_sys_gpu_gb (struct gtomo_struct *tomo_gpu, SutraSensors *sensors, double *alphaX, double *alphaY)
 
void update_cphim_atm (struct cphim_struct *cphim_struct, SutraSensors *sensors, SutraAtmos *atmos, double *L0, double *cn2, double *alphaX, double *alphaY)
 
void update_cphim_sys (struct cphim_struct *cphim_struct, SutraSensors *sensors, double *alphaX, double *alphaY, double *xactu, double *yactu, double *X, double *Y, long *NlayerDm, long *indLayerDm, double *alt_dm, double *pitch, double *k2, double FoV)
 
void matcov_gpu_3 (double *data, int nrows, int ncols, int xoffset, int yoffset, int lda, struct tomo_struct tomo, struct gtomo_struct *tomo_gpu)
 
void matcov_gpu_4 (float *data, int nrows, int ncols, int xoffset, int yoffset, int lda, struct gtomo_struct *tomo_gpu, SutraAtmos *atmos, SutraSensors *sensors, double *alphaX, double *alphaY)
 
void CPHIM (float *data, int nrows, int ncols, int xoffset, int yoffset, int lda, struct cphim_struct *cphim_struct, SutraAtmos *atmos, SutraSensors *sensors, double *alphaX, double *alphaY, CarmaDevice *device)
 
void generateXY (struct gtomo_struct *tomo_gpu, SutraSensors *sensors)
 
void tab_dphi_gpu_gb (double *tab_dphi, struct gtomo_struct *tomo_gpu, long Ndphi, double *L0diff_d, int Nl0, double convert)
 
void sub_pos_gpu_gb (struct gtomo_struct *tomo_gpu, long Nlayer)
 
void sub_pos_cphim (struct cphim_struct *cphim_struct, long Nlayer, long Nw, long Nsubap)
 
void tab_u831J0 (double *tab_int_x, double *tab_int_y, long npts)
 
void cuda_zcen (double *idata, double *odata, int N, CarmaDevice *device)
 
void cumsum (double *odata, double *idata, int N)
 
void init_cphim_struct (struct cphim_struct *cphim_struct, SutraAtmos *atmos, SutraSensors *sensors, SutraDms *dms, double diamTel)
 
void free_cphim_struct (struct cphim_struct *cphim_struct)
 
void test_DPHI_highpass (double R, double x0, long npts, CarmaDevice *device)
 

Detailed Description

this file provides the controller utilities to COMPASS

Author
COMPASS Team https://github.com/ANR-COMPASS
Version
5.0.0
Date
2011/01/28

Definition in file sutra_controller_utils.h.

Function Documentation

◆ CPHIM()

void CPHIM ( float *  data,
int  nrows,
int  ncols,
int  xoffset,
int  yoffset,
int  lda,
struct cphim_struct cphim_struct,
SutraAtmos atmos,
SutraSensors sensors,
double *  alphaX,
double *  alphaY,
CarmaDevice device 
)

◆ cuda_zcen()

void cuda_zcen ( double *  idata,
double *  odata,
int  N,
CarmaDevice device 
)

◆ cumsum()

void cumsum ( double *  odata,
double *  idata,
int  N 
)

◆ free_cphim_struct()

void free_cphim_struct ( struct cphim_struct cphim_struct)

◆ free_tomo_gpu_gb()

void free_tomo_gpu_gb ( struct gtomo_struct tomo_gpu)

◆ generateXY()

void generateXY ( struct gtomo_struct tomo_gpu,
SutraSensors sensors 
)

◆ init_cphim_struct()

void init_cphim_struct ( struct cphim_struct cphim_struct,
SutraAtmos atmos,
SutraSensors sensors,
SutraDms dms,
double  diamTel 
)

◆ init_tomo_gpu_gb()

void init_tomo_gpu_gb ( struct gtomo_struct tomo_gpu,
SutraAtmos atmos,
SutraSensors sensors,
double  diamTel,
double  cobs 
)

◆ matcov_gpu_3()

void matcov_gpu_3 ( double *  data,
int  nrows,
int  ncols,
int  xoffset,
int  yoffset,
int  lda,
struct tomo_struct  tomo,
struct gtomo_struct tomo_gpu 
)

◆ matcov_gpu_4()

void matcov_gpu_4 ( float *  data,
int  nrows,
int  ncols,
int  xoffset,
int  yoffset,
int  lda,
struct gtomo_struct tomo_gpu,
SutraAtmos atmos,
SutraSensors sensors,
double *  alphaX,
double *  alphaY 
)

◆ matts_gpu_gb()

void matts_gpu_gb ( double *  data,
int  nrows,
int  ncols,
int  xoffset,
int  yoffset,
int  lda,
struct tomo_struct  tomo,
struct gtomo_struct tomo_gpu 
)

◆ process_err()

void process_err ( cudaError_t  e,
const char *  str 
)

◆ sub_pos_cphim()

void sub_pos_cphim ( struct cphim_struct cphim_struct,
long  Nlayer,
long  Nw,
long  Nsubap 
)

◆ sub_pos_gpu_gb()

void sub_pos_gpu_gb ( struct gtomo_struct tomo_gpu,
long  Nlayer 
)

◆ tab_dphi_gpu_gb()

void tab_dphi_gpu_gb ( double *  tab_dphi,
struct gtomo_struct tomo_gpu,
long  Ndphi,
double *  L0diff_d,
int  Nl0,
double  convert 
)

◆ tab_u831J0()

void tab_u831J0 ( double *  tab_int_x,
double *  tab_int_y,
long  npts 
)

◆ test_DPHI_highpass()

void test_DPHI_highpass ( double  R,
double  x0,
long  npts,
CarmaDevice device 
)

◆ update_cphim_atm()

void update_cphim_atm ( struct cphim_struct cphim_struct,
SutraSensors sensors,
SutraAtmos atmos,
double *  L0,
double *  cn2,
double *  alphaX,
double *  alphaY 
)

◆ update_cphim_sys()

void update_cphim_sys ( struct cphim_struct cphim_struct,
SutraSensors sensors,
double *  alphaX,
double *  alphaY,
double *  xactu,
double *  yactu,
double *  X,
double *  Y,
long *  NlayerDm,
long *  indLayerDm,
double *  alt_dm,
double *  pitch,
double *  k2,
double  FoV 
)

◆ update_tomo_atm_gpu_gb()

void update_tomo_atm_gpu_gb ( struct gtomo_struct tomo_gpu,
SutraSensors sensors,
SutraAtmos atmos,
double *  L0,
double *  cn2,
double *  alphaX,
double *  alphaY 
)

◆ update_tomo_sys_gpu_gb()

void update_tomo_sys_gpu_gb ( struct gtomo_struct tomo_gpu,
SutraSensors sensors,
double *  alphaX,
double *  alphaY 
)