COMPASS  5.4.4
End-to-end AO simulation tool using GPU acceleration
CarmaObj< T_data > Class Template Reference

this class provides wrappers to the generic carma object More...

#include <carma_obj.h>

Inheritance diagram for CarmaObj< T_data >:
Collaboration diagram for CarmaObj< T_data >:

Public Member Functions

 CarmaObj ()
 
 CarmaObj (const CarmaObj< T_data > *obj)
 
 CarmaObj (CarmaContext *current_context, const long *dims_data)
 
 CarmaObj (CarmaContext *current_context, const std::vector< long > &dims)
 
 CarmaObj (CarmaContext *current_context, const CarmaObj< T_data > *obj)
 
 CarmaObj (CarmaContext *current_context, const long *dims_data, const T_data *data)
 
 CarmaObj (CarmaContext *current_context, const long *dims_data, int nb_streams)
 
 CarmaObj (CarmaContext *current_context, const CarmaObj< T_data > *obj, int nb_streams)
 
 CarmaObj (CarmaContext *current_context, const long *dims_data, const T_data *data, int nb_streams)
 
 CarmaObj (const CarmaObj &)=delete
 
 ~CarmaObj ()
 
void sync_h_data ()
 
T_data * get_h_data ()
 
int get_nb_streams () const
 
int add_stream ()
 
int add_stream (int nb)
 
int del_stream ()
 
int del_stream (int nb)
 
cudaStream_t get_cuda_stream (int stream)
 
int wait_stream (int stream)
 
int wait_all_streams ()
 
void swap_ptr (T_data *ptr)
 
void dealloc ()
 
 operator T_data * ()
 
std::string to_string ()
 
 operator std::string ()
 
const T_data operator[] (int index) const
 
T_data * get_data ()
 
T_data * get_data_at (int index)
 
T_data * get_o_data ()
 
const T_data get_o_data_value () const
 
const long * get_dims ()
 
long get_dims (int i)
 
int get_nb_elements ()
 
CarmaContextget_context ()
 
int get_device ()
 
bool is_rng_init ()
 
template<typename T_dest >
int host2device (const T_dest *data)
 
template<typename T_dest >
int device2host (T_dest *data)
 
int host2device_async (const T_data *data, cudaStream_t stream)
 
int device2host_async (T_data *data, cudaStream_t stream)
 
int device2host_opt (T_data *data)
 
int host2device_vect (const T_data *data, int incx, int incy)
 
int device2host_vect (T_data *data, int incx, int incy)
 
int host2device_mat (const T_data *data, int lda, int ldb)
 
int device2host_mat (T_data *data, int lda, int ldb)
 
int copy_into (T_data *data, int nb_elem)
 
int copy_from (const T_data *data, int nb_elem)
 
int copy_from_async (const T_data *data, int nb_elem, cudaStream_t stream)
 
int reset ()
 
int reset (cudaStream_t stream)
 
int memset (T_data value)
 
cufftHandle * get_plan ()
 FFT plan. More...
 
cufftType get_type_plan ()
 FFT plan type. More...
 
unsigned int * get_values ()
 optional data (used for sort) More...
 
T_data sum ()
 
void init_reduceCub ()
 
void reduceCub (cudaStream_t stream)
 
void reduceCub ()
 
void clip (T_data min, T_data max, cudaStream_t stream)
 
void clip (T_data min, T_data max)
 
int transpose (CarmaObj< T_data > *source)
 
int aimax (int incx)
 
int aimin (int incx)
 
T_data asum (int incx)
 
T_data nrm2 (int incx)
 
T_data dot (CarmaObj< T_data > *source, int incx, int incy)
 
void scale (T_data alpha, int incx)
 
void swap (CarmaObj< T_data > *source, int incx, int incy)
 
void copy (CarmaObj< T_data > *source, int incx, int incy)
 
void axpy (T_data alpha, CarmaObj< T_data > *source, int incx, int incy, int offset=0)
 
void rot (CarmaObj< T_data > *source, int incx, int incy, T_data sc, T_data ss)
 
void gemv (char trans, T_data alpha, CarmaObj< T_data > *matA, int lda, CarmaObj< T_data > *vectx, int incx, T_data beta, int incy)
 
void ger (T_data alpha, CarmaObj< T_data > *vectx, int incx, CarmaObj< T_data > *vecty, int incy, int lda)
 
void symv (char uplo, T_data alpha, CarmaObj< T_data > *matA, int lda, CarmaObj< T_data > *vectx, int incx, T_data beta, int incy)
 
void gemm (char transa, char transb, T_data alpha, CarmaObj< T_data > *matA, int lda, CarmaObj< T_data > *matB, int ldb, T_data beta, int ldc)
 
void symm (char side, char uplo, T_data alpha, CarmaObj< T_data > *matA, int lda, CarmaObj< T_data > *matB, int ldb, T_data beta, int ldc)
 
void syrk (char uplo, char transa, T_data alpha, CarmaObj< T_data > *matA, int lda, T_data beta, int ldc)
 
void syrkx (char uplo, char transa, T_data alpha, CarmaObj< T_data > *matA, int lda, CarmaObj< T_data > *matB, int ldb, T_data beta, int ldc)
 
void geam (char transa, char transb, T_data alpha, CarmaObj< T_data > *matA, int lda, T_data beta, CarmaObj< T_data > *matB, int ldb, int ldc)
 
void dgmm (char side, CarmaObj< T_data > *matA, int lda, CarmaObj< T_data > *vectx, int incx, int ldc)
 
int init_prng ()
 
int init_prng (long seed)
 
int destroy_prng ()
 
int prng (T_data *output, char gtype, float alpha, float beta)
 
int prng (T_data *output, char gtype, float alpha)
 
int prng (char gtype, float alpha, float beta)
 
int prng (char gtype, float alpha)
 
int prng (char gtype)
 
int prng_montagn (float init_montagn)
 
int init_prng_host (int seed)
 
int prng_host (char gtype)
 
int prng_host (char gtype, T_data stddev)
 
int prng_host (char gtype, T_data stddev, T_data alpha)
 
int destroy_prng_host ()
 

Protected Member Functions

void init (CarmaContext *current_context, const long *dims_data, const T_data *data, bool fromHost, int nb_streams)
 

Protected Attributes

T_data * d_data = nullptr
 Input data => change to vector. More...
 
std::vector< T_data > h_data
 
T_data * o_data = nullptr
 optional data (used for scan / reduction) More...
 
T_data * cub_data = nullptr
 optional data (used for scan / reduction) More...
 
size_t cub_data_size = 0
 
int ndim = 0
 
long * dims_data = nullptr
 dimensions of the array More...
 
int nb_elem = 0
 number of elements in the array More...
 
int device = -1
 device where the CarmaObj is allocate More...
 
CarmaContextcurrent_context
 
curandGenerator_t gen
 
curandState * d_states
 
int nb_threads
 
int nb_blocks
 
bool keys_only
 
bool owner = true
 
unsigned int * values
 optional data (used for sort) More...
 
size_t * d_num_valid
 used for compact More...
 
cufftHandle plan
 FFT plan. More...
 
cufftType type_plan
 FFT plan type. More...
 
CarmaStreamsstreams
 

Detailed Description

template<class T_data>
class CarmaObj< T_data >

this class provides wrappers to the generic carma object

Author
COMPASS Team https://github.com/ANR-COMPASS
Version
5.4.4
Date
2022/01/24

Definition at line 92 of file carma_obj.h.

Constructor & Destructor Documentation

◆ CarmaObj() [1/10]

template<class T_data >
CarmaObj< T_data >::CarmaObj ( )

◆ CarmaObj() [2/10]

template<class T_data >
CarmaObj< T_data >::CarmaObj ( const CarmaObj< T_data > *  obj)

◆ CarmaObj() [3/10]

template<class T_data >
CarmaObj< T_data >::CarmaObj ( CarmaContext current_context,
const long *  dims_data 
)

◆ CarmaObj() [4/10]

template<class T_data >
CarmaObj< T_data >::CarmaObj ( CarmaContext current_context,
const std::vector< long > &  dims 
)

◆ CarmaObj() [5/10]

template<class T_data >
CarmaObj< T_data >::CarmaObj ( CarmaContext current_context,
const CarmaObj< T_data > *  obj 
)

◆ CarmaObj() [6/10]

template<class T_data >
CarmaObj< T_data >::CarmaObj ( CarmaContext current_context,
const long *  dims_data,
const T_data *  data 
)

◆ CarmaObj() [7/10]

template<class T_data >
CarmaObj< T_data >::CarmaObj ( CarmaContext current_context,
const long *  dims_data,
int  nb_streams 
)

◆ CarmaObj() [8/10]

template<class T_data >
CarmaObj< T_data >::CarmaObj ( CarmaContext current_context,
const CarmaObj< T_data > *  obj,
int  nb_streams 
)

◆ CarmaObj() [9/10]

template<class T_data >
CarmaObj< T_data >::CarmaObj ( CarmaContext current_context,
const long *  dims_data,
const T_data *  data,
int  nb_streams 
)

◆ CarmaObj() [10/10]

template<class T_data >
CarmaObj< T_data >::CarmaObj ( const CarmaObj< T_data > &  )
delete

◆ ~CarmaObj()

template<class T_data >
CarmaObj< T_data >::~CarmaObj ( )

Member Function Documentation

◆ add_stream() [1/2]

template<class T_data >
int CarmaObj< T_data >::add_stream ( )

Definition at line 154 of file carma_obj.h.

Here is the call graph for this function:

◆ add_stream() [2/2]

template<class T_data >
int CarmaObj< T_data >::add_stream ( int  nb)

Definition at line 158 of file carma_obj.h.

Here is the call graph for this function:

◆ aimax()

template<class T_data >
int CarmaObj< T_data >::aimax ( int  incx)

◆ aimin()

template<class T_data >
int CarmaObj< T_data >::aimin ( int  incx)

◆ asum()

template<class T_data >
T_data CarmaObj< T_data >::asum ( int  incx)

◆ axpy()

template<class T_data >
void CarmaObj< T_data >::axpy ( T_data  alpha,
CarmaObj< T_data > *  source,
int  incx,
int  incy,
int  offset = 0 
)

◆ clip() [1/2]

template<class T_data >
void CarmaObj< T_data >::clip ( T_data  min,
T_data  max 
)

Definition at line 275 of file carma_obj.h.

◆ clip() [2/2]

template<class T_data >
void CarmaObj< T_data >::clip ( T_data  min,
T_data  max,
cudaStream_t  stream 
)
Here is the call graph for this function:

◆ copy()

template<class T_data >
void CarmaObj< T_data >::copy ( CarmaObj< T_data > *  source,
int  incx,
int  incy 
)

◆ copy_from()

template<class T_data >
int CarmaObj< T_data >::copy_from ( const T_data *  data,
int  nb_elem 
)

◆ copy_from_async()

template<class T_data >
int CarmaObj< T_data >::copy_from_async ( const T_data *  data,
int  nb_elem,
cudaStream_t  stream 
)

◆ copy_into()

template<class T_data >
int CarmaObj< T_data >::copy_into ( T_data *  data,
int  nb_elem 
)

◆ dealloc()

template<class T_data >
void CarmaObj< T_data >::dealloc ( )

General Utilities

Definition at line 187 of file carma_obj.h.

Here is the caller graph for this function:

◆ del_stream() [1/2]

template<class T_data >
int CarmaObj< T_data >::del_stream ( )

Definition at line 162 of file carma_obj.h.

Here is the call graph for this function:

◆ del_stream() [2/2]

template<class T_data >
int CarmaObj< T_data >::del_stream ( int  nb)

Definition at line 166 of file carma_obj.h.

Here is the call graph for this function:

◆ destroy_prng()

template<class T_data >
int CarmaObj< T_data >::destroy_prng ( )

◆ destroy_prng_host()

template<class T_data >
int CarmaObj< T_data >::destroy_prng_host ( )

◆ device2host()

template<class T_data >
template<typename T_dest >
int CarmaObj< T_data >::device2host ( T_dest *  data)
Here is the caller graph for this function:

◆ device2host_async()

template<class T_data >
int CarmaObj< T_data >::device2host_async ( T_data *  data,
cudaStream_t  stream 
)

◆ device2host_mat()

template<class T_data >
int CarmaObj< T_data >::device2host_mat ( T_data *  data,
int  lda,
int  ldb 
)

◆ device2host_opt()

template<class T_data >
int CarmaObj< T_data >::device2host_opt ( T_data *  data)

◆ device2host_vect()

template<class T_data >
int CarmaObj< T_data >::device2host_vect ( T_data *  data,
int  incx,
int  incy 
)

◆ dgmm()

template<class T_data >
void CarmaObj< T_data >::dgmm ( char  side,
CarmaObj< T_data > *  matA,
int  lda,
CarmaObj< T_data > *  vectx,
int  incx,
int  ldc 
)

Curand

◆ dot()

template<class T_data >
T_data CarmaObj< T_data >::dot ( CarmaObj< T_data > *  source,
int  incx,
int  incy 
)

◆ geam()

template<class T_data >
void CarmaObj< T_data >::geam ( char  transa,
char  transb,
T_data  alpha,
CarmaObj< T_data > *  matA,
int  lda,
T_data  beta,
CarmaObj< T_data > *  matB,
int  ldb,
int  ldc 
)

◆ gemm()

template<class T_data >
void CarmaObj< T_data >::gemm ( char  transa,
char  transb,
T_data  alpha,
CarmaObj< T_data > *  matA,
int  lda,
CarmaObj< T_data > *  matB,
int  ldb,
T_data  beta,
int  ldc 
)

◆ gemv()

template<class T_data >
void CarmaObj< T_data >::gemv ( char  trans,
T_data  alpha,
CarmaObj< T_data > *  matA,
int  lda,
CarmaObj< T_data > *  vectx,
int  incx,
T_data  beta,
int  incy 
)

◆ ger()

template<class T_data >
void CarmaObj< T_data >::ger ( T_data  alpha,
CarmaObj< T_data > *  vectx,
int  incx,
CarmaObj< T_data > *  vecty,
int  incy,
int  lda 
)

◆ get_context()

template<class T_data >
CarmaContext* CarmaObj< T_data >::get_context ( )

Definition at line 220 of file carma_obj.h.

Here is the caller graph for this function:

◆ get_cuda_stream()

template<class T_data >
cudaStream_t CarmaObj< T_data >::get_cuda_stream ( int  stream)

Definition at line 170 of file carma_obj.h.

Here is the call graph for this function:

◆ get_data()

template<class T_data >
T_data* CarmaObj< T_data >::get_data ( )

Definition at line 208 of file carma_obj.h.

◆ get_data_at()

template<class T_data >
T_data* CarmaObj< T_data >::get_data_at ( int  index)

Definition at line 209 of file carma_obj.h.

Here is the caller graph for this function:

◆ get_device()

template<class T_data >
int CarmaObj< T_data >::get_device ( )

Definition at line 222 of file carma_obj.h.

Here is the caller graph for this function:

◆ get_dims() [1/2]

template<class T_data >
const long* CarmaObj< T_data >::get_dims ( )

Definition at line 217 of file carma_obj.h.

Here is the caller graph for this function:

◆ get_dims() [2/2]

template<class T_data >
long CarmaObj< T_data >::get_dims ( int  i)

Definition at line 218 of file carma_obj.h.

◆ get_h_data()

template<class T_data >
T_data* CarmaObj< T_data >::get_h_data ( )

Definition at line 147 of file carma_obj.h.

◆ get_nb_elements()

template<class T_data >
int CarmaObj< T_data >::get_nb_elements ( )

Definition at line 219 of file carma_obj.h.

Here is the caller graph for this function:

◆ get_nb_streams()

template<class T_data >
int CarmaObj< T_data >::get_nb_streams ( ) const

get the number of streams attached to the host object

Definition at line 149 of file carma_obj.h.

Here is the call graph for this function:

◆ get_o_data()

template<class T_data >
T_data* CarmaObj< T_data >::get_o_data ( )

Definition at line 210 of file carma_obj.h.

◆ get_o_data_value()

template<class T_data >
const T_data CarmaObj< T_data >::get_o_data_value ( ) const

Definition at line 211 of file carma_obj.h.

◆ get_plan()

template<class T_data >
cufftHandle* CarmaObj< T_data >::get_plan ( )

FFT plan.

Definition at line 262 of file carma_obj.h.

◆ get_type_plan()

template<class T_data >
cufftType CarmaObj< T_data >::get_type_plan ( )

FFT plan type.

Definition at line 264 of file carma_obj.h.

◆ get_values()

template<class T_data >
unsigned int* CarmaObj< T_data >::get_values ( )

optional data (used for sort)

sum

Definition at line 267 of file carma_obj.h.

◆ host2device()

template<class T_data >
template<typename T_dest >
int CarmaObj< T_data >::host2device ( const T_dest *  data)

◆ host2device_async()

template<class T_data >
int CarmaObj< T_data >::host2device_async ( const T_data *  data,
cudaStream_t  stream 
)

◆ host2device_mat()

template<class T_data >
int CarmaObj< T_data >::host2device_mat ( const T_data *  data,
int  lda,
int  ldb 
)

◆ host2device_vect()

template<class T_data >
int CarmaObj< T_data >::host2device_vect ( const T_data *  data,
int  incx,
int  incy 
)

◆ init()

template<class T_data >
void CarmaObj< T_data >::init ( CarmaContext current_context,
const long *  dims_data,
const T_data *  data,
bool  fromHost,
int  nb_streams 
)
protected

◆ init_prng() [1/2]

template<class T_data >
int CarmaObj< T_data >::init_prng ( )

◆ init_prng() [2/2]

template<class T_data >
int CarmaObj< T_data >::init_prng ( long  seed)

◆ init_prng_host()

template<class T_data >
int CarmaObj< T_data >::init_prng_host ( int  seed)

◆ init_reduceCub()

template<class T_data >
void CarmaObj< T_data >::init_reduceCub ( )

◆ is_rng_init()

template<class T_data >
bool CarmaObj< T_data >::is_rng_init ( )

Memory transfers both ways

Definition at line 224 of file carma_obj.h.

◆ memset()

template<class T_data >
int CarmaObj< T_data >::memset ( T_data  value)

Definition at line 257 of file carma_obj.h.

Here is the call graph for this function:

◆ nrm2()

template<class T_data >
T_data CarmaObj< T_data >::nrm2 ( int  incx)

◆ operator std::string()

template<class T_data >
CarmaObj< T_data >::operator std::string ( )

Definition at line 200 of file carma_obj.h.

Here is the call graph for this function:

◆ operator T_data *()

template<class T_data >
CarmaObj< T_data >::operator T_data * ( )

Definition at line 192 of file carma_obj.h.

◆ operator[]()

template<class T_data >
const T_data CarmaObj< T_data >::operator[] ( int  index) const

Definition at line 202 of file carma_obj.h.

◆ prng() [1/5]

template<class T_data >
int CarmaObj< T_data >::prng ( char  gtype)

◆ prng() [2/5]

template<class T_data >
int CarmaObj< T_data >::prng ( char  gtype,
float  alpha 
)

◆ prng() [3/5]

template<class T_data >
int CarmaObj< T_data >::prng ( char  gtype,
float  alpha,
float  beta 
)

◆ prng() [4/5]

template<class T_data >
int CarmaObj< T_data >::prng ( T_data *  output,
char  gtype,
float  alpha 
)

◆ prng() [5/5]

template<class T_data >
int CarmaObj< T_data >::prng ( T_data *  output,
char  gtype,
float  alpha,
float  beta 
)

◆ prng_host() [1/3]

template<class T_data >
int CarmaObj< T_data >::prng_host ( char  gtype)

◆ prng_host() [2/3]

template<class T_data >
int CarmaObj< T_data >::prng_host ( char  gtype,
T_data  stddev 
)

◆ prng_host() [3/3]

template<class T_data >
int CarmaObj< T_data >::prng_host ( char  gtype,
T_data  stddev,
T_data  alpha 
)

◆ prng_montagn()

template<class T_data >
int CarmaObj< T_data >::prng_montagn ( float  init_montagn)

◆ reduceCub() [1/2]

template<class T_data >
void CarmaObj< T_data >::reduceCub ( )

Definition at line 272 of file carma_obj.h.

Here is the caller graph for this function:

◆ reduceCub() [2/2]

template<class T_data >
void CarmaObj< T_data >::reduceCub ( cudaStream_t  stream)

◆ reset() [1/2]

template<class T_data >
int CarmaObj< T_data >::reset ( )

Definition at line 249 of file carma_obj.h.

◆ reset() [2/2]

template<class T_data >
int CarmaObj< T_data >::reset ( cudaStream_t  stream)

Definition at line 253 of file carma_obj.h.

◆ rot()

template<class T_data >
void CarmaObj< T_data >::rot ( CarmaObj< T_data > *  source,
int  incx,
int  incy,
T_data  sc,
T_data  ss 
)

◆ scale()

template<class T_data >
void CarmaObj< T_data >::scale ( T_data  alpha,
int  incx 
)

◆ sum()

template<class T_data >
T_data CarmaObj< T_data >::sum ( )

◆ swap()

template<class T_data >
void CarmaObj< T_data >::swap ( CarmaObj< T_data > *  source,
int  incx,
int  incy 
)

◆ swap_ptr()

template<class T_data >
void CarmaObj< T_data >::swap_ptr ( T_data *  ptr)

Definition at line 181 of file carma_obj.h.

Here is the call graph for this function:

◆ symm()

template<class T_data >
void CarmaObj< T_data >::symm ( char  side,
char  uplo,
T_data  alpha,
CarmaObj< T_data > *  matA,
int  lda,
CarmaObj< T_data > *  matB,
int  ldb,
T_data  beta,
int  ldc 
)

◆ symv()

template<class T_data >
void CarmaObj< T_data >::symv ( char  uplo,
T_data  alpha,
CarmaObj< T_data > *  matA,
int  lda,
CarmaObj< T_data > *  vectx,
int  incx,
T_data  beta,
int  incy 
)

◆ sync_h_data()

template<class T_data >
void CarmaObj< T_data >::sync_h_data ( )

Definition at line 142 of file carma_obj.h.

Here is the call graph for this function:

◆ syrk()

template<class T_data >
void CarmaObj< T_data >::syrk ( char  uplo,
char  transa,
T_data  alpha,
CarmaObj< T_data > *  matA,
int  lda,
T_data  beta,
int  ldc 
)

◆ syrkx()

template<class T_data >
void CarmaObj< T_data >::syrkx ( char  uplo,
char  transa,
T_data  alpha,
CarmaObj< T_data > *  matA,
int  lda,
CarmaObj< T_data > *  matB,
int  ldb,
T_data  beta,
int  ldc 
)

◆ to_string()

template<class T_data >
std::string CarmaObj< T_data >::to_string ( )

Definition at line 194 of file carma_obj.h.

Here is the caller graph for this function:

◆ transpose()

template<class T_data >
int CarmaObj< T_data >::transpose ( CarmaObj< T_data > *  source)

transpose

◆ wait_all_streams()

template<class T_data >
int CarmaObj< T_data >::wait_all_streams ( )

Definition at line 177 of file carma_obj.h.

Here is the call graph for this function:

◆ wait_stream()

template<class T_data >
int CarmaObj< T_data >::wait_stream ( int  stream)

Definition at line 173 of file carma_obj.h.

Here is the call graph for this function:

Member Data Documentation

◆ cub_data

template<class T_data >
T_data* CarmaObj< T_data >::cub_data = nullptr
protected

optional data (used for scan / reduction)

Definition at line 97 of file carma_obj.h.

◆ cub_data_size

template<class T_data >
size_t CarmaObj< T_data >::cub_data_size = 0
protected

Definition at line 98 of file carma_obj.h.

◆ current_context

template<class T_data >
CarmaContext* CarmaObj< T_data >::current_context
protected

Definition at line 103 of file carma_obj.h.

◆ d_data

template<class T_data >
T_data* CarmaObj< T_data >::d_data = nullptr
protected

Input data => change to vector.

Definition at line 94 of file carma_obj.h.

◆ d_num_valid

template<class T_data >
size_t* CarmaObj< T_data >::d_num_valid
protected

used for compact

Definition at line 115 of file carma_obj.h.

◆ d_states

template<class T_data >
curandState* CarmaObj< T_data >::d_states
protected

Definition at line 106 of file carma_obj.h.

◆ device

template<class T_data >
int CarmaObj< T_data >::device = -1
protected

device where the CarmaObj is allocate

Definition at line 102 of file carma_obj.h.

◆ dims_data

template<class T_data >
long* CarmaObj< T_data >::dims_data = nullptr
protected

dimensions of the array

Definition at line 100 of file carma_obj.h.

◆ gen

template<class T_data >
curandGenerator_t CarmaObj< T_data >::gen
protected

Definition at line 105 of file carma_obj.h.

◆ h_data

template<class T_data >
std::vector<T_data> CarmaObj< T_data >::h_data
protected

Definition at line 95 of file carma_obj.h.

◆ keys_only

template<class T_data >
bool CarmaObj< T_data >::keys_only
protected

Definition at line 111 of file carma_obj.h.

◆ nb_blocks

template<class T_data >
int CarmaObj< T_data >::nb_blocks
protected

Definition at line 109 of file carma_obj.h.

◆ nb_elem

template<class T_data >
int CarmaObj< T_data >::nb_elem = 0
protected

number of elements in the array

Definition at line 101 of file carma_obj.h.

◆ nb_threads

template<class T_data >
int CarmaObj< T_data >::nb_threads
protected

Definition at line 108 of file carma_obj.h.

◆ ndim

template<class T_data >
int CarmaObj< T_data >::ndim = 0
protected

Definition at line 99 of file carma_obj.h.

◆ o_data

template<class T_data >
T_data* CarmaObj< T_data >::o_data = nullptr
protected

optional data (used for scan / reduction)

Definition at line 96 of file carma_obj.h.

◆ owner

template<class T_data >
bool CarmaObj< T_data >::owner = true
protected

Definition at line 112 of file carma_obj.h.

◆ plan

template<class T_data >
cufftHandle CarmaObj< T_data >::plan
protected

FFT plan.

Definition at line 117 of file carma_obj.h.

◆ streams

template<class T_data >
CarmaStreams* CarmaObj< T_data >::streams
protected

Definition at line 120 of file carma_obj.h.

◆ type_plan

template<class T_data >
cufftType CarmaObj< T_data >::type_plan
protected

FFT plan type.

Definition at line 118 of file carma_obj.h.

◆ values

template<class T_data >
unsigned int* CarmaObj< T_data >::values
protected

optional data (used for sort)

Definition at line 114 of file carma_obj.h.


The documentation for this class was generated from the following files: