COMPASS  5.0.0
End-to-end AO simulation tool using GPU acceleration
carma_magma.h File Reference

this file provides wrappers to the magma functions More...

#include <carma_host_obj.h>
#include <carma_obj.h>
#include <carma_sparse_obj.h>
Include dependency graph for carma_magma.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

int carma_magma_disabled ()
 
template<class T >
int carma_magma_syevd (char jobz, CarmaObj< T > *mat, CarmaHostObj< T > *eigenvals)
 
template<class T >
int carma_magma_syevd_m (long ngpu, char jobz, long N, T *mat, T *eigenvals)
 
template<class T >
int carma_magma_syevd_m (long ngpu, char jobz, CarmaHostObj< T > *mat, CarmaHostObj< T > *eigenvals)
 
template<class T >
int carma_magma_syevd_m (long ngpu, char jobz, CarmaHostObj< T > *mat, CarmaHostObj< T > *eigenvals, CarmaHostObj< T > *U)
 
template<class T >
int carma_magma_getri (CarmaObj< T > *d_iA)
 
template<class T >
int carma_magma_potri (CarmaObj< T > *d_iA)
 
template<class T >
int carma_magma_potri_m (long num_gpus, CarmaHostObj< T > *h_A, CarmaObj< T > *d_iA)
 
template<class T >
int carma_magma_syevd (char jobz, long N, T *mat, T *eigenvals)
 
template<class T_data >
int carma_magma_svd_cpu (CarmaHostObj< T_data > *imat, CarmaHostObj< T_data > *eigenvals, CarmaHostObj< T_data > *mod2act, CarmaHostObj< T_data > *mes2mod)
 
template<class T >
int carma_magma_getri_cpu (CarmaHostObj< T > *h_A)
 
template<class T >
int carma_magma_potri_cpu (CarmaHostObj< T > *h_A)
 
template<class T >
int carma_magma_syevd_cpu (char jobz, CarmaHostObj< T > *h_A, CarmaHostObj< T > *eigenvals)
 
template<class T >
int carma_magma_getri_cpu (long N, T *h_A)
 
template<class T >
int carma_magma_potri_cpu (long N, T *h_A)
 
template<class T >
int carma_magma_syevd_cpu (char jobz, long N, T *h_A, T *eigenvals)
 
template<class T >
int carma_magma_axpy_cpu (long N, T alpha, T *h_X, long incX, T *h_Y, long incY)
 
template<class T >
int carma_gemm_cpu (char transa, char transb, long m, long n, long k, T alpha, T *A, long lda, T *B, long ldb, T beta, T *C, long ldc)
 
template<class T_data >
int carma_magma_gemv (char trans, int m, int n, T_data alpha, T_data *matA, int lda, T_data *vectx, int incx, T_data beta, T_data *vecty, int incy)
 
template<class T_data >
int carma_magma_csr2ell (CarmaSparseObj< T_data > *dA)
 
template<class T_data >
int carma_magma_spmv (T_data alpha, CarmaSparseObj< T_data > *dA, CarmaObj< T_data > *dx, T_data beta, CarmaObj< T_data > *dy)
 
template<class T_data >
int carma_magma_sparse_free (CarmaSparseObj< T_data > *dA)
 

Detailed Description

this file provides wrappers to the magma functions

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

Definition in file carma_magma.h.

Function Documentation

◆ carma_gemm_cpu()

template<class T >
int carma_gemm_cpu ( char  transa,
char  transb,
long  m,
long  n,
long  k,
alpha,
T *  A,
long  lda,
T *  B,
long  ldb,
beta,
T *  C,
long  ldc 
)

◆ carma_magma_axpy_cpu()

template<class T >
int carma_magma_axpy_cpu ( long  N,
alpha,
T *  h_X,
long  incX,
T *  h_Y,
long  incY 
)

◆ carma_magma_csr2ell()

template<class T_data >
int carma_magma_csr2ell ( CarmaSparseObj< T_data > *  dA)

◆ carma_magma_disabled()

int carma_magma_disabled ( )

◆ carma_magma_gemv()

template<class T_data >
int carma_magma_gemv ( char  trans,
int  m,
int  n,
T_data  alpha,
T_data *  matA,
int  lda,
T_data *  vectx,
int  incx,
T_data  beta,
T_data *  vecty,
int  incy 
)
Here is the caller graph for this function:

◆ carma_magma_getri()

template<class T >
int carma_magma_getri ( CarmaObj< T > *  d_iA)

◆ carma_magma_getri_cpu() [1/2]

template<class T >
int carma_magma_getri_cpu ( CarmaHostObj< T > *  h_A)

◆ carma_magma_getri_cpu() [2/2]

template<class T >
int carma_magma_getri_cpu ( long  N,
T *  h_A 
)

◆ carma_magma_potri()

template<class T >
int carma_magma_potri ( CarmaObj< T > *  d_iA)

◆ carma_magma_potri_cpu() [1/2]

template<class T >
int carma_magma_potri_cpu ( CarmaHostObj< T > *  h_A)

◆ carma_magma_potri_cpu() [2/2]

template<class T >
int carma_magma_potri_cpu ( long  N,
T *  h_A 
)

◆ carma_magma_potri_m()

template<class T >
int carma_magma_potri_m ( long  num_gpus,
CarmaHostObj< T > *  h_A,
CarmaObj< T > *  d_iA 
)

◆ carma_magma_sparse_free()

template<class T_data >
int carma_magma_sparse_free ( CarmaSparseObj< T_data > *  dA)

◆ carma_magma_spmv()

template<class T_data >
int carma_magma_spmv ( T_data  alpha,
CarmaSparseObj< T_data > *  dA,
CarmaObj< T_data > *  dx,
T_data  beta,
CarmaObj< T_data > *  dy 
)

◆ carma_magma_svd_cpu()

template<class T_data >
int carma_magma_svd_cpu ( CarmaHostObj< T_data > *  imat,
CarmaHostObj< T_data > *  eigenvals,
CarmaHostObj< T_data > *  mod2act,
CarmaHostObj< T_data > *  mes2mod 
)

◆ carma_magma_syevd() [1/2]

template<class T >
int carma_magma_syevd ( char  jobz,
CarmaObj< T > *  mat,
CarmaHostObj< T > *  eigenvals 
)
Here is the caller graph for this function:

◆ carma_magma_syevd() [2/2]

template<class T >
int carma_magma_syevd ( char  jobz,
long  N,
T *  mat,
T *  eigenvals 
)

◆ carma_magma_syevd_cpu() [1/2]

template<class T >
int carma_magma_syevd_cpu ( char  jobz,
CarmaHostObj< T > *  h_A,
CarmaHostObj< T > *  eigenvals 
)

◆ carma_magma_syevd_cpu() [2/2]

template<class T >
int carma_magma_syevd_cpu ( char  jobz,
long  N,
T *  h_A,
T *  eigenvals 
)

◆ carma_magma_syevd_m() [1/3]

template<class T >
int carma_magma_syevd_m ( long  ngpu,
char  jobz,
CarmaHostObj< T > *  mat,
CarmaHostObj< T > *  eigenvals 
)

◆ carma_magma_syevd_m() [2/3]

template<class T >
int carma_magma_syevd_m ( long  ngpu,
char  jobz,
CarmaHostObj< T > *  mat,
CarmaHostObj< T > *  eigenvals,
CarmaHostObj< T > *  U 
)

◆ carma_magma_syevd_m() [3/3]

template<class T >
int carma_magma_syevd_m ( long  ngpu,
char  jobz,
long  N,
T *  mat,
T *  eigenvals 
)