COMPASS  5.4.4
End-to-end AO simulation tool using GPU acceleration
sutra_utils.h File Reference
#include <carma.h>
#include <carma_obj.h>
#include <carma_sparse_obj.h>
Include dependency graph for sutra_utils.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

int compute_nmaxhr (long nvalid)
 
int cfillrealp (cuFloatComplex *d_odata, float *d_idata, int N, CarmaDevice *device)
 
int cgetrealp (float *d_odata, cuFloatComplex *d_idata, int N, CarmaDevice *device)
 
int abs2 (float *d_odata, cuFloatComplex *d_idata, int N, CarmaDevice *device)
 
int abs2 (float *d_odata, cuFloatComplex *d_idata, int N, float fact, CarmaDevice *device)
 
int abs2c (cuFloatComplex *d_odata, cuFloatComplex *d_idata, int N, CarmaDevice *device)
 
int convolve (cuFloatComplex *d_odata, cuFloatComplex *d_idata, int N, CarmaDevice *device)
 
int convolve_modulate (cuFloatComplex *d_odata, cuFloatComplex *d_idata, int mod, int N, CarmaDevice *device)
 
int subap_norm (float *d_odata, float *d_idata, float *fact, float *norm, float nphot, int n, int N, CarmaDevice *device)
 
int fillindx (float *d_odata, float *d_idata, int *indx, float alpha, float beta, int N, CarmaDevice *device)
 
int fillindx (float *d_odata, float *d_idata, int *indx, float alpha, int N, CarmaDevice *device)
 
int fillindx (float *d_odata, float *d_idata, int *indx, int N, CarmaDevice *device)
 
int fillarr2d (float *d_odata, float *d_idata, int x0, int Ncol, int NC, int N, CarmaDevice *device)
 
int fillarr2d (float *d_odata, float *d_idata, int x0, int Ncol, int NC, int N, int dir, CarmaDevice *device)
 
int getarr2d (float *d_odata, float *d_idata, int x0, int Ncol, int NC, int N, CarmaDevice *device)
 
template<class T >
int addai (T *d_odata, T *i_data, int i, int sgn, int N, CarmaDevice *device)
 
int subap_norm_async (float *d_odata, float *d_idata, float *fact, float *norm, float nphot, int n, int N, CarmaStreams *streams, CarmaDevice *device)
 
template<class T >
int roll (T *idata, int N, int M, int nim, CarmaDevice *device)
 
template<class T >
int roll (T *idata, int N, int M, CarmaDevice *device)
 
template<class T >
int roll_mult (T *odata, T *idata, int N, int M, T alpha, CarmaDevice *device)
 
template<class T >
int sutra_invgene (CarmaObj< T > *imat, CarmaObj< T > *cmat, CarmaObj< T > *eigenvals, CarmaObj< T > *mod2act, CarmaObj< T > *mes2mod, int nfilt)
 
template<class T >
int remove_avg (T *data, int N, CarmaDevice *device)
 
template<class T >
int mult_vect (T *d_data, T *scale, int N, CarmaDevice *device)
 
template<class T >
int mult_vect (T *d_data, T *scale, T gain, int N, CarmaDevice *device)
 
template<class T >
int mult_vect (T *d_data, T gain, int N, CarmaDevice *device)
 
int mult_int (float *o_data, float *i_data, float *scale, float gain, int N, CarmaDevice *device)
 
int mult_int (float *o_data, float *i_data, float *scale, float gain, int N, CarmaDevice *device, CarmaStreams *streams)
 
int mult_int (float *o_data, float *i_data, float gain, int N, CarmaDevice *device)
 
int add_md (float *o_matrix, float *i_matrix, float *i_vector, int N, CarmaDevice *device)
 

Function Documentation

◆ abs2() [1/2]

int abs2 ( float *  d_odata,
cuFloatComplex *  d_idata,
int  N,
CarmaDevice device 
)

◆ abs2() [2/2]

int abs2 ( float *  d_odata,
cuFloatComplex *  d_idata,
int  N,
float  fact,
CarmaDevice device 
)

◆ abs2c()

int abs2c ( cuFloatComplex *  d_odata,
cuFloatComplex *  d_idata,
int  N,
CarmaDevice device 
)

◆ add_md()

int add_md ( float *  o_matrix,
float *  i_matrix,
float *  i_vector,
int  N,
CarmaDevice device 
)

◆ addai()

template<class T >
int addai ( T *  d_odata,
T *  i_data,
int  i,
int  sgn,
int  N,
CarmaDevice device 
)

◆ cfillrealp()

int cfillrealp ( cuFloatComplex *  d_odata,
float *  d_idata,
int  N,
CarmaDevice device 
)

◆ cgetrealp()

int cgetrealp ( float *  d_odata,
cuFloatComplex *  d_idata,
int  N,
CarmaDevice device 
)

◆ compute_nmaxhr()

int compute_nmaxhr ( long  nvalid)

◆ convolve()

int convolve ( cuFloatComplex *  d_odata,
cuFloatComplex *  d_idata,
int  N,
CarmaDevice device 
)

◆ convolve_modulate()

int convolve_modulate ( cuFloatComplex *  d_odata,
cuFloatComplex *  d_idata,
int  mod,
int  N,
CarmaDevice device 
)

◆ fillarr2d() [1/2]

int fillarr2d ( float *  d_odata,
float *  d_idata,
int  x0,
int  Ncol,
int  NC,
int  N,
CarmaDevice device 
)

◆ fillarr2d() [2/2]

int fillarr2d ( float *  d_odata,
float *  d_idata,
int  x0,
int  Ncol,
int  NC,
int  N,
int  dir,
CarmaDevice device 
)

◆ fillindx() [1/3]

int fillindx ( float *  d_odata,
float *  d_idata,
int *  indx,
float  alpha,
float  beta,
int  N,
CarmaDevice device 
)

◆ fillindx() [2/3]

int fillindx ( float *  d_odata,
float *  d_idata,
int *  indx,
float  alpha,
int  N,
CarmaDevice device 
)

◆ fillindx() [3/3]

int fillindx ( float *  d_odata,
float *  d_idata,
int *  indx,
int  N,
CarmaDevice device 
)

◆ getarr2d()

int getarr2d ( float *  d_odata,
float *  d_idata,
int  x0,
int  Ncol,
int  NC,
int  N,
CarmaDevice device 
)

◆ mult_int() [1/3]

int mult_int ( float *  o_data,
float *  i_data,
float *  scale,
float  gain,
int  N,
CarmaDevice device 
)

◆ mult_int() [2/3]

int mult_int ( float *  o_data,
float *  i_data,
float *  scale,
float  gain,
int  N,
CarmaDevice device,
CarmaStreams streams 
)

◆ mult_int() [3/3]

int mult_int ( float *  o_data,
float *  i_data,
float  gain,
int  N,
CarmaDevice device 
)

◆ mult_vect() [1/3]

template<class T >
int mult_vect ( T *  d_data,
T *  scale,
int  N,
CarmaDevice device 
)

◆ mult_vect() [2/3]

template<class T >
int mult_vect ( T *  d_data,
T *  scale,
gain,
int  N,
CarmaDevice device 
)

◆ mult_vect() [3/3]

template<class T >
int mult_vect ( T *  d_data,
gain,
int  N,
CarmaDevice device 
)

◆ remove_avg()

template<class T >
int remove_avg ( T *  data,
int  N,
CarmaDevice device 
)

◆ roll() [1/2]

template<class T >
int roll ( T *  idata,
int  N,
int  M,
CarmaDevice device 
)

◆ roll() [2/2]

template<class T >
int roll ( T *  idata,
int  N,
int  M,
int  nim,
CarmaDevice device 
)

◆ roll_mult()

template<class T >
int roll_mult ( T *  odata,
T *  idata,
int  N,
int  M,
alpha,
CarmaDevice device 
)

◆ subap_norm()

int subap_norm ( float *  d_odata,
float *  d_idata,
float *  fact,
float *  norm,
float  nphot,
int  n,
int  N,
CarmaDevice device 
)

◆ subap_norm_async()

int subap_norm_async ( float *  d_odata,
float *  d_idata,
float *  fact,
float *  norm,
float  nphot,
int  n,
int  N,
CarmaStreams streams,
CarmaDevice device 
)

◆ sutra_invgene()

template<class T >
int sutra_invgene ( CarmaObj< T > *  imat,
CarmaObj< T > *  cmat,
CarmaObj< T > *  eigenvals,
CarmaObj< T > *  mod2act,
CarmaObj< T > *  mes2mod,
int  nfilt 
)