COMPASS  5.4.4
End-to-end AO simulation tool using GPU acceleration
carma_cusolver.h File Reference

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

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

Go to the source code of this file.

Macros

#define SOLVER_EIG_MODE_VECTOR   'V'
 
#define SOLVER_EIG_MODE_NOVECTOR   'N'
 

Functions

cusolverStatus_t carma_init_cusolver (cusolverDnHandle_t *cusolver_handle)
 
cusolverStatus_t carma_shutdown_cusolver (cusolverDnHandle_t cusolver_handle)
 
template<class T >
int carma_syevd (char jobz, CarmaObj< T > *mat, CarmaObj< T > *eigenvals)
 
template<class T >
int carma_potr_inv (CarmaObj< T > *d_iA)
 
template<class T >
int carma_syevd (cusolverDnHandle_t cusolver_handle, char jobz, long N, T *mat, T *eigenvals)
 
template<class T >
int carma_potr_inv (cusolverDnHandle_t cusolver_handle, long N, T *h_A)
 

Detailed Description

this file provides wrappers to the cuSolver functions

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

Definition in file carma_cusolver.h.

Macro Definition Documentation

◆ SOLVER_EIG_MODE_NOVECTOR

#define SOLVER_EIG_MODE_NOVECTOR   'N'

Definition at line 28 of file carma_cusolver.h.

◆ SOLVER_EIG_MODE_VECTOR

#define SOLVER_EIG_MODE_VECTOR   'V'

Definition at line 25 of file carma_cusolver.h.

Function Documentation

◆ carma_init_cusolver()

cusolverStatus_t carma_init_cusolver ( cusolverDnHandle_t *  cusolver_handle)

◆ carma_potr_inv() [1/2]

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

◆ carma_potr_inv() [2/2]

template<class T >
int carma_potr_inv ( cusolverDnHandle_t  cusolver_handle,
long  N,
T *  h_A 
)

◆ carma_shutdown_cusolver()

cusolverStatus_t carma_shutdown_cusolver ( cusolverDnHandle_t  cusolver_handle)

◆ carma_syevd() [1/2]

template<class T >
int carma_syevd ( char  jobz,
CarmaObj< T > *  mat,
CarmaObj< T > *  eigenvals 
)

◆ carma_syevd() [2/2]

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