QMCPACK
qmcplusplus::cusolver Namespace Reference

interface to cusolver calls for different data types S/C/D/Z More...

Functions

cusolverStatus_t getrf_bufferSize (cusolverDnHandle_t &handle, int m, int n, double *A, int lda, int *lwork)
 
cusolverStatus_t getrf_bufferSize (cusolverDnHandle_t &handle, int m, int n, std::complex< double > *A, int lda, int *lwork)
 
cusolverStatus_t getrf (cusolverDnHandle_t &handle, int m, int n, double *A, int lda, double *work, int *ipiv, int *info)
 
cusolverStatus_t getrf (cusolverDnHandle_t &handle, int m, int n, std::complex< double > *A, int lda, std::complex< double > *work, int *ipiv, int *info)
 
cusolverStatus_t getrs (cusolverDnHandle_t &handle, const cublasOperation_t &transa, int m, int n, const double *A, int lda, int *ipiv, double *B, int ldb, int *info)
 
cusolverStatus_t getrs (cusolverDnHandle_t &handle, const cublasOperation_t &transa, int m, int n, const std::complex< double > *A, int lda, int *ipiv, std::complex< double > *B, int ldb, int *info)
 

Detailed Description

interface to cusolver calls for different data types S/C/D/Z

Function Documentation

◆ getrf() [1/2]

cusolverStatus_t qmcplusplus::cusolver::getrf ( cusolverDnHandle_t &  handle,
int  m,
int  n,
double *  A,
int  lda,
double *  work,
int *  ipiv,
int *  info 
)
inline

◆ getrf() [2/2]

cusolverStatus_t qmcplusplus::cusolver::getrf ( cusolverDnHandle_t &  handle,
int  m,
int  n,
std::complex< double > *  A,
int  lda,
std::complex< double > *  work,
int *  ipiv,
int *  info 
)
inline

Definition at line 104 of file cusolver.hpp.

References qmcplusplus::Units::distance::A, cuDoubleComplex, qmcplusplus::lda, qmcplusplus::Units::distance::m, and qmcplusplus::n.

112 {
113  return cusolverDnZgetrf(handle, m, n, (cuDoubleComplex*)A, lda, (cuDoubleComplex*)work, ipiv, info);
114 }
#define cuDoubleComplex
Definition: cuda2hip.h:73

◆ getrf_bufferSize() [1/2]

cusolverStatus_t qmcplusplus::cusolver::getrf_bufferSize ( cusolverDnHandle_t &  handle,
int  m,
int  n,
double *  A,
int  lda,
int *  lwork 
)
inline

Definition at line 77 of file cusolver.hpp.

References qmcplusplus::Units::distance::A, qmcplusplus::lda, qmcplusplus::Units::distance::m, and qmcplusplus::n.

Referenced by cuSolverInverter< T_FP >::resize().

78 {
79  return cusolverDnDgetrf_bufferSize(handle, m, n, A, lda, lwork);
80 }

◆ getrf_bufferSize() [2/2]

cusolverStatus_t qmcplusplus::cusolver::getrf_bufferSize ( cusolverDnHandle_t &  handle,
int  m,
int  n,
std::complex< double > *  A,
int  lda,
int *  lwork 
)
inline

Definition at line 82 of file cusolver.hpp.

References qmcplusplus::Units::distance::A, cuDoubleComplex, qmcplusplus::lda, qmcplusplus::Units::distance::m, and qmcplusplus::n.

88 {
89  return cusolverDnZgetrf_bufferSize(handle, m, n, (cuDoubleComplex*)A, lda, lwork);
90 }
#define cuDoubleComplex
Definition: cuda2hip.h:73

◆ getrs() [1/2]

cusolverStatus_t qmcplusplus::cusolver::getrs ( cusolverDnHandle_t &  handle,
const cublasOperation_t transa,
int  m,
int  n,
const double *  A,
int  lda,
int *  ipiv,
double *  B,
int  ldb,
int *  info 
)
inline

Definition at line 116 of file cusolver.hpp.

References qmcplusplus::Units::distance::A, B(), qmcplusplus::lda, qmcplusplus::Units::distance::m, and qmcplusplus::n.

Referenced by cuSolverInverter< T_FP >::invert_transpose().

126 {
127  return cusolverDnDgetrs(handle, transa, m, n, A, lda, ipiv, B, ldb, info);
128 }
double B(double x, int k, int i, const std::vector< double > &t)

◆ getrs() [2/2]

cusolverStatus_t qmcplusplus::cusolver::getrs ( cusolverDnHandle_t &  handle,
const cublasOperation_t transa,
int  m,
int  n,
const std::complex< double > *  A,
int  lda,
int *  ipiv,
std::complex< double > *  B,
int  ldb,
int *  info 
)
inline

Definition at line 130 of file cusolver.hpp.

References qmcplusplus::Units::distance::A, B(), cuDoubleComplex, qmcplusplus::lda, qmcplusplus::Units::distance::m, and qmcplusplus::n.

140 {
141  return cusolverDnZgetrs(handle, transa, m, n, (const cuDoubleComplex*)A, lda, ipiv, (cuDoubleComplex*)B, ldb, info);
142 }
#define cuDoubleComplex
Definition: cuda2hip.h:73
double B(double x, int k, int i, const std::vector< double > &t)