16 #ifndef SUTRA_CONTROLLER_UTILS_H_
17 #define SUTRA_CONTROLLER_UTILS_H_
143 void matts_gpu_gb(
double *data,
int nrows,
int ncols,
int xoffset,
int yoffset,
144 int lda,
struct tomo_struct tomo,
151 double *L0,
double *cn2,
double *alphaX,
158 double *alphaX,
double *alphaY);
160 double *alphaX,
double *alphaY,
double *xactu,
161 double *yactu,
double *X,
double *Y,
long *NlayerDm,
162 long *indLayerDm,
double *alt_dm,
double *pitch,
163 double *k2,
double FoV);
164 void matcov_gpu_3(
double *data,
int nrows,
int ncols,
int xoffset,
int yoffset,
165 int lda,
struct tomo_struct tomo,
167 void matcov_gpu_4(
float *data,
int nrows,
int ncols,
int xoffset,
int yoffset,
170 void CPHIM(
float *data,
int nrows,
int ncols,
int xoffset,
int yoffset,
int lda,
176 long Ndphi,
double *L0diff_d,
int Nl0,
double convert);
180 void tab_u831J0(
double *tab_int_x,
double *tab_int_y,
long npts);
182 void cumsum(
double *odata,
double *idata,
int N);
this class provides the atmos features to COMPASS
this class provides the sensors features to COMPASS
cudaStream_t cphim_stream
cudaStream_t matcov_stream
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 cuda_zcen(double *idata, double *odata, int N, CarmaDevice *device)
void init_cphim_struct(struct cphim_struct *cphim_struct, SutraAtmos *atmos, SutraSensors *sensors, SutraDms *dms, double diamTel)
void init_tomo_gpu_gb(struct gtomo_struct *tomo_gpu, SutraAtmos *atmos, SutraSensors *sensors, double diamTel, double cobs)
void test_DPHI_highpass(double R, double x0, long npts, CarmaDevice *device)
void update_tomo_sys_gpu_gb(struct gtomo_struct *tomo_gpu, SutraSensors *sensors, double *alphaX, double *alphaY)
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_cphim_atm(struct cphim_struct *cphim_struct, SutraSensors *sensors, SutraAtmos *atmos, double *L0, double *cn2, double *alphaX, double *alphaY)
void tab_u831J0(double *tab_int_x, double *tab_int_y, long npts)
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 process_err(cudaError_t e, const char *str)
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 sub_pos_gpu_gb(struct gtomo_struct *tomo_gpu, long Nlayer)
void free_tomo_gpu_gb(struct gtomo_struct *tomo_gpu)
void cumsum(double *odata, double *idata, int N)
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 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 sub_pos_cphim(struct cphim_struct *cphim_struct, long Nlayer, long Nw, long Nsubap)
void tab_dphi_gpu_gb(double *tab_dphi, struct gtomo_struct *tomo_gpu, long Ndphi, double *L0diff_d, int Nl0, double convert)
void free_cphim_struct(struct cphim_struct *cphim_struct)
void generateXY(struct gtomo_struct *tomo_gpu, SutraSensors *sensors)