COMPASS  5.0.0
End-to-end AO simulation tool using GPU acceleration
CarmaSparseObj Class Reference

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

#include <carma_sparse_host_obj.h>

Inheritance diagram for CarmaSparseObj:
Collaboration diagram for CarmaSparseObj:

Public Member Functions

 CarmaSparseObj (CarmaContext *current_context)
 
 CarmaSparseObj (CarmaObj< T_data > *M)
 
 CarmaSparseObj (CarmaSparseObj< T_data > *M)
 
 CarmaSparseObj (CarmaContext *current_context, CarmaSparseHostObj< T_data > *M)
 
 CarmaSparseObj (CarmaContext *current_context, const long *dims, T_data *M, bool load_from_host)
 
 CarmaSparseObj (CarmaContext *current_context, const long *dims, T_data *values, int *colind, int *rowind, int nz, bool load_from_host)
 
virtual ~CarmaSparseObj ()
 
void operator= (CarmaSparseObj< T_data > &M)
 
void operator= (CarmaSparseHostObj< T_data > &M)
 
void resize (int nnz_, int dim1_, int dim2_)
 
void init_from_transpose (CarmaSparseObj< T_data > *M)
 
bool is_column_major ()
 
char get_major_dim () const
 
void set_majorDim (char c)
 
 operator T_data * ()
 
T_data * operator[] (int index)
 
T_data * get_data ()
 
T_data * get_data (int index)
 
const long * get_dims ()
 
long get_dims (int i)
 
int get_nonzero_elem ()
 
CarmaContextget_context ()
 
int get_device ()
 
void sparse_to_host (int *h_rowInd, int *h_colInd, T_data *h_data)
 

Public Attributes

long dims_data [3]
 dimensions of the array More...
 
int nz_elem
 number of elements in the array More...
 
int device
 device where the CarmaObj is allocate More...
 
CarmaContextcurrent_context
 
T_data * d_data
 
int * d_rowind
 
int * d_colind
 
cusparseMatDescr_t descr
 
char major_dim
 
std::string format
 
int block_dim
 
union {
   magma_d_sparse_matrix   d_sparse_mat
 
   magma_s_sparse_matrix   s_sparse_mat
 
}; 
 

Detailed Description

this class provides wrappers to the generic carma sparse object

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

Definition at line 48 of file carma_sparse_host_obj.h.

Constructor & Destructor Documentation

◆ CarmaSparseObj() [1/6]

CarmaSparseObj::CarmaSparseObj ( CarmaContext current_context)

◆ CarmaSparseObj() [2/6]

CarmaSparseObj::CarmaSparseObj ( CarmaObj< T_data > *  M)

◆ CarmaSparseObj() [3/6]

CarmaSparseObj::CarmaSparseObj ( CarmaSparseObj< T_data > *  M)

◆ CarmaSparseObj() [4/6]

CarmaSparseObj::CarmaSparseObj ( CarmaContext current_context,
CarmaSparseHostObj< T_data > *  M 
)

◆ CarmaSparseObj() [5/6]

CarmaSparseObj::CarmaSparseObj ( CarmaContext current_context,
const long *  dims,
T_data *  M,
bool  load_from_host 
)

◆ CarmaSparseObj() [6/6]

CarmaSparseObj::CarmaSparseObj ( CarmaContext current_context,
const long *  dims,
T_data *  values,
int *  colind,
int *  rowind,
int  nz,
bool  load_from_host 
)

◆ ~CarmaSparseObj()

virtual CarmaSparseObj::~CarmaSparseObj ( )
virtual

Member Function Documentation

◆ get_context()

CarmaContext* CarmaSparseObj::get_context ( )

Definition at line 113 of file carma_sparse_obj.h.

113 { return current_context; }

◆ get_data() [1/2]

T_data* CarmaSparseObj::get_data ( )

Definition at line 108 of file carma_sparse_obj.h.

108 { return d_data; }

◆ get_data() [2/2]

T_data* CarmaSparseObj::get_data ( int  index)

Definition at line 109 of file carma_sparse_obj.h.

109 { return &d_data[index]; }

◆ get_device()

int CarmaSparseObj::get_device ( )

Definition at line 115 of file carma_sparse_obj.h.

115 { return device; }

◆ get_dims() [1/2]

const long* CarmaSparseObj::get_dims ( )

Definition at line 110 of file carma_sparse_obj.h.

110 { return dims_data; }

◆ get_dims() [2/2]

long CarmaSparseObj::get_dims ( int  i)

Definition at line 111 of file carma_sparse_obj.h.

111 { return dims_data[i]; }

◆ get_major_dim()

char CarmaSparseObj::get_major_dim ( ) const

Definition at line 102 of file carma_sparse_obj.h.

102 { return major_dim; }

◆ get_nonzero_elem()

int CarmaSparseObj::get_nonzero_elem ( )

Definition at line 112 of file carma_sparse_obj.h.

112 { return nz_elem; }

◆ init_from_transpose()

void CarmaSparseObj::init_from_transpose ( CarmaSparseObj< T_data > *  M)

◆ is_column_major()

bool CarmaSparseObj::is_column_major ( )

◆ operator T_data *()

CarmaSparseObj::operator T_data * ( )

Definition at line 106 of file carma_sparse_obj.h.

106 { return d_data; }

◆ operator=() [1/2]

void CarmaSparseObj::operator= ( CarmaSparseHostObj< T_data > &  M)

◆ operator=() [2/2]

void CarmaSparseObj::operator= ( CarmaSparseObj< T_data > &  M)

◆ operator[]()

T_data* CarmaSparseObj::operator[] ( int  index)

Definition at line 107 of file carma_sparse_obj.h.

107 { return &d_data[index]; }

◆ resize()

void CarmaSparseObj::resize ( int  nnz_,
int  dim1_,
int  dim2_ 
)

◆ set_majorDim()

void CarmaSparseObj::set_majorDim ( char  c)

General Utilities

Definition at line 103 of file carma_sparse_obj.h.

◆ sparse_to_host()

void CarmaSparseObj::sparse_to_host ( int *  h_rowInd,
int *  h_colInd,
T_data *  h_data 
)

Member Data Documentation

◆ @1

union { ... }

◆ block_dim

int CarmaSparseObj::block_dim

Definition at line 74 of file carma_sparse_obj.h.

◆ current_context

CarmaContext* CarmaSparseObj::current_context

Definition at line 64 of file carma_sparse_obj.h.

◆ d_colind

int* CarmaSparseObj::d_colind

Definition at line 69 of file carma_sparse_obj.h.

◆ d_data

T_data* CarmaSparseObj::d_data

Definition at line 67 of file carma_sparse_obj.h.

◆ d_rowind

int* CarmaSparseObj::d_rowind

Definition at line 68 of file carma_sparse_obj.h.

◆ d_sparse_mat

magma_d_sparse_matrix CarmaSparseObj::d_sparse_mat

Definition at line 78 of file carma_sparse_obj.h.

◆ descr

cusparseMatDescr_t CarmaSparseObj::descr

Definition at line 70 of file carma_sparse_obj.h.

◆ device

int CarmaSparseObj::device

device where the CarmaObj is allocate

Definition at line 63 of file carma_sparse_obj.h.

◆ dims_data

long CarmaSparseObj::dims_data[3]

dimensions of the array

Definition at line 61 of file carma_sparse_obj.h.

◆ format

std::string CarmaSparseObj::format

Definition at line 73 of file carma_sparse_obj.h.

◆ major_dim

char CarmaSparseObj::major_dim

Definition at line 72 of file carma_sparse_obj.h.

◆ nz_elem

int CarmaSparseObj::nz_elem

number of elements in the array

Definition at line 62 of file carma_sparse_obj.h.

◆ s_sparse_mat

magma_s_sparse_matrix CarmaSparseObj::s_sparse_mat

Definition at line 79 of file carma_sparse_obj.h.


The documentation for this class was generated from the following files:
debug_pyr.index
int index
Definition: debug_pyr.py:78
CarmaSparseObj::current_context
CarmaContext * current_context
Definition: carma_sparse_obj.h:64
CarmaSparseObj::dims_data
long dims_data[3]
dimensions of the array
Definition: carma_sparse_obj.h:61
CarmaSparseObj::major_dim
char major_dim
Definition: carma_sparse_obj.h:72
CarmaSparseObj::d_data
T_data * d_data
Definition: carma_sparse_obj.h:67
CarmaSparseObj::nz_elem
int nz_elem
number of elements in the array
Definition: carma_sparse_obj.h:62
CarmaSparseObj::device
int device
device where the CarmaObj is allocate
Definition: carma_sparse_obj.h:63
layers_test.i
int i
Definition: layers_test.py:43