18 #ifndef CARMASPARSEHOSTOBJ_H_
19 #define CARMASPARSEHOSTOBJ_H_
22 template <
class T_data>
25 template <
class T_data>
35 void resize(
int new_nnz,
int dim1_,
int dim2_);
47 operator T_data*() {
return h_data; }
56 void _create(
int nnz_,
int dim1_,
int dim2_);
78 template <
class T_data>
82 void (*ptr_coomv)(
char* transa,
long* m,
long* k, T_data* alpha,
83 char* matdescra, T_data* val,
int* rowind,
84 int* colind,
int* nnz, T_data* x,
85 T_data* beta, T_data* y));
90 template <
class T_data>
97 template <
class T_data>
101 kp_gemm(
'N', alpha, A, B, betta, C);
void carma_gemv(T_data alpha, CarmaSparseHostObj< T_data > *A, CarmaHostObj< T_data > *x, T_data betta, CarmaHostObj< T_data > *y, void(*ptr_coomv)(char *transa, long *m, long *k, T_data *alpha, char *matdescra, T_data *val, int *rowind, int *colind, int *nnz, T_data *x, T_data *beta, T_data *y))
void carma_gemm(char op_A, T_data alpha, CarmaSparseHostObj< T_data > *A, CarmaHostObj< T_data > *B, T_data betta, CarmaHostObj< T_data > *C)
this class provides wrappers to the generic carma host object
this class provides wrappers to the generic carma sparse host object
char get_major_dim() const
CarmaSparseHostObj(const long *dims, T_data *M, char order)
void resize(int new_nnz, int dim1_, int dim2_)
void operator=(CarmaSparseHostObj< T_data > &M)
CarmaSparseHostObj(CarmaSparseObj< T_data > &sm)
void init_from_matrix(const long *dims, T_data *M, char major_dim)
T_data * operator[](int index)
T_data * get_data(int index)
CarmaSparseHostObj(CarmaSparseHostObj< T_data > &sm)
void copy_into_matrix(T_data *M, char major_dim)
virtual ~CarmaSparseHostObj()
int nz_elem
number of elements in the array
long dims_data[3]
dimensions of the array
void operator=(CarmaSparseObj< T_data > &M)
this class provides wrappers to the generic carma sparse object