33 #define CEIL(a, b) ((a) + (b)-1) / (b)
35 #define PIXELPERBLOCK 10
101 int *xoff,
int *yoff);
102 int kl_loadarrays(
float *rabas,
float *azbas,
int *ord,
float *cr,
float *cp);
114 int get_IF(T *IF,
int *indx_pup,
long nb_pts,
float ampli);
117 long nb_pts,
float ampli,
int puponly);
119 int do_geomat(
float *d_geocov,
float *d_IF,
long n_pts);
148 long nactus,
long influsize,
long ninflupos,
long n_npoints,
149 float push4imat,
long nord,
float dx,
float dy,
float thetaML,
float G,
int device);
151 long nactus,
long influsize,
long ninflupos,
long n_npoints,
152 float push4imat,
long nord,
int device);
154 long nactus,
long influsize,
long ninflupos,
long n_npoints,
155 float push4imat,
long nord,
float dx,
float dy,
float thetaML,
float G,
int device,
int idx);
163 void comp_dmshape(
int threads,
int blocks, T *d_idata, T *d_odata,
int *pos,
164 int *istart,
int *npts, T *comm,
unsigned int n,
int N);
168 const int *iStart_t,
const int *iPos,
const int roiLength,
169 const dim3 threads,
const dim3 blocks,
const int shared);
172 void oneactu(
int threads,
int blocks, T *d_idata, T *d_odata,
int nactu,
173 T ampli,
int *xoff,
int *yoff,
int dim_im,
int dim_influ,
int N);
175 void oneactu(
int threads,
int blocks, T *d_idata, T *d_odata,
int nactu,
176 T ampli,
int dim_im,
int dim_influ,
int N);
179 int nactus,
int diminflu, T *comm,
int N);
182 int getIF(T *IF,
float *dmshape,
int *indx_pup,
long nb_pts,
int column,
184 int dm_dostatmat(
float *d_statcov,
long Nkl,
float *d_xpos,
float *d_ypos,
188 int convertToCom(uint16_t *volts,
float *com,
int N,
float volt_min,
float volt_max,
this file provides tools to CarmaObj
this class provides the context in which CarmaObj are created
cublasHandle_t get_cublas_handle()
cusparseHandle_t get_cusparse_handle()
this class provides wrappers to the generic carma sparse object
this class provides the dm features to COMPASS
int piston_filt(CarmaObj< float > *d_statcov)
CarmaObj< int > * d_influpos
CarmaObj< float > * d_KLbasis
cusparseHandle_t cusparse_handle()
int comp_shape(uint16_t *comm)
cublasHandle_t cublas_handle()
SutraDm(CarmaContext *context, const char *type, float altitude, long dim, long nactus, long influsize, long ninflupos, long n_npoints, float push4imat, long nord, float dx, float dy, float thetaML, float G, int device)
int do_geomat(float *d_geocov, float *d_IF, long n_pts)
int comp_shape(float *comm)
CarmaObj< float > * d_com
CarmaObj< int > * d_istart
int tt_loadarrays(float *influ)
int get_IF_sparse(CarmaSparseObj< T > *&d_IFsparse, int *indx_pup, long nb_pts, float ampli, int puponly)
int do_geomat_from_sparse(T *d_geocov, CarmaSparseObj< T > *d_IFsparse)
int pzt_loadarrays(float *influ, int *influpos, int *npoints, int *istart, int *xoff, int *yoff)
int kl_floloadarrays(float *covmat, float *filter, float *evals, float *bas)
int compute_KLbasis(float *xpos, float *ypos, int *indx, long dim, float norm, float ampli)
CarmaObj< int > * d_npoints
CarmaObj< float > * d_influ
int set_registration(float dx, float dy, float thetaML, float G)
int comp_oneactu(int nactu, float ampli)
int kl_loadarrays(float *rabas, float *azbas, int *ord, float *cr, float *cp)
int DDiago(CarmaObj< float > *d_statcov, CarmaObj< float > *d_geocov)
CarmaContext * current_context
int get_IF(T *IF, int *indx_pup, long nb_pts, float ampli)
int insert_dm(CarmaContext *context, const char *type, float alt, long dim, long nactus, long influsize, long ninflupos, long n_npoints, float push4imat, long nord, float dx, float dy, float thetaML, float G, int device, int idx)
int add_dm(CarmaContext *context, const char *type, float alt, long dim, long nactus, long influsize, long ninflupos, long n_npoints, float push4imat, long nord, float dx, float dy, float thetaML, float G, int device)
int add_dm(CarmaContext *context, const char *type, float alt, long dim, long nactus, long influsize, long ninflupos, long n_npoints, float push4imat, long nord, int device)
vector< SutraDm * > d_dms
this class provides the kl features to COMPASS
this class provides the phase features to COMPASS
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)
int fill_filtermat(float *filter, int nactu, int N, CarmaDevice *device)
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)
int dm_dostatmat(float *d_statcov, long Nkl, float *d_xpos, float *d_ypos, float norm, CarmaDevice *device)
int getIF(T *IF, float *dmshape, int *indx_pup, long nb_pts, int column, long nb_col, int puponly, CarmaDevice *device)
int find_nnz(float *d_data, int N, CarmaDevice *device)
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)
void comp_fulldmshape(int threads, int blocks, T *d_idata, T *d_odata, int nactus, int diminflu, T *comm, int N)
int convertToCom(uint16_t *volts, float *com, int N, float volt_min, float volt_max, uint16_t val_max, CarmaDevice *device)