SIRIUS 7.5.0
Electronic structure library and applications
Classes | Namespaces | Macros | Functions
cusolver.hpp File Reference

Interface to CUDA eigen-solver library. More...

Go to the source code of this file.

Classes

struct  sirius::acc::cusolver::type_wrapper< float >
 
struct  sirius::acc::cusolver::type_wrapper< double >
 
struct  sirius::acc::cusolver::type_wrapper< std::complex< float > >
 
struct  sirius::acc::cusolver::type_wrapper< std::complex< double > >
 

Namespaces

module  sirius
 Namespace of the SIRIUS library.
 
namespace  sirius::acc
 Namespace for accelerator-related functions.
 
namespace  sirius::acc::cusolver
 Interface to cuSolver library.
 

Macros

#define CALL_CUSOLVER(func__, args__)
 

Functions

void sirius::acc::cusolver::error_message (cusolverStatus_t status)
 
cusolverDnHandle_t & sirius::acc::cusolver::cusolver_handle ()
 
void sirius::acc::cusolver::create_handle ()
 
void sirius::acc::cusolver::destroy_handle ()
 
template<typename T >
int sirius::acc::cusolver::potrf (int n__, T *A__, int lda__)
 
template<typename T >
int sirius::acc::cusolver::trtri (int n__, T *A__, int lda__)
 

Detailed Description

Interface to CUDA eigen-solver library.

Definition in file cusolver.hpp.

Macro Definition Documentation

◆ CALL_CUSOLVER

#define CALL_CUSOLVER (   func__,
  args__ 
)
Value:
{ \
cusolverStatus_t status; \
if ((status = func__ args__) != CUSOLVER_STATUS_SUCCESS) { \
acc::cusolver::error_message(status); \
char nm[1024]; \
gethostname(nm, 1024); \
std::printf("hostname: %s\n", nm); \
std::printf("Error in %s at line %i of file %s\n", #func__, __LINE__, __FILE__); \
acc::stack_backtrace(); \
} \
}
@ nm
Non-magnetic case.

Definition at line 58 of file cusolver.hpp.