SIRIUS 7.5.0
Electronic structure library and applications
Functions
sirius::acc::rocsolver Namespace Reference

Interface to ROCM eigensolver. More...

Functions

acc::blas_api::handle_t & rocsolver_handle ()
 
rocblas_operation get_rocblas_operation (char trans)
 
template<class T >
std::enable_if_t< std::is_same< T, double >::value > syheevd (rocblas_handle handle, const rocblas_evect evect, const rocblas_fill uplo, int n, T *A, int lda, T *D, T *E, int *info)
 _sy_mmetric or _he_rmitian STANDARD eigenvalue problem | double More...
 
template<class T >
std::enable_if_t< std::is_same< T, float >::value > syheevd (rocblas_handle handle, const rocblas_evect evect, const rocblas_fill uplo, int n, T *A, int lda, T *D, T *E, int *info)
 _sy_mmetric or _he_rmitian STANDARD eigenvalue problem | float More...
 
template<class T >
std::enable_if_t< std::is_same< T, double >::value > syheevd (rocblas_handle handle, const rocblas_evect evect, const rocblas_fill uplo, int n, std::complex< T > *A, int lda, T *D, T *E, int *info)
 _sy_mmetric or _he_rmitian STANDARD eigenvalue problem | complex double More...
 
template<class T >
std::enable_if_t< std::is_same< T, float >::value > syheevd (rocblas_handle handle, const rocblas_evect evect, const rocblas_fill uplo, int n, std::complex< T > *A, int lda, T *D, T *E, int *info)
 _sy_mmetric or _he_rmitian STANDARD eigenvalue problem | complex float More...
 
template<class T >
std::enable_if_t< std::is_same< T, double >::value > syhegvd (rocblas_handle handle, const rocblas_eform itype, const rocblas_evect evect, const rocblas_fill uplo, int n, T *A, int lda, T *B, int ldb, T *D, T *E, int *info)
 _sy_mmetric or _he_rmitian GENERALIZED eigenvalue problem | double More...
 
template<class T >
std::enable_if_t< std::is_same< T, float >::value > syhegvd (rocblas_handle handle, const rocblas_eform itype, const rocblas_evect evect, const rocblas_fill uplo, int n, T *A, int lda, T *B, int ldb, T *D, T *E, int *info)
 _sy_mmetric or _he_rmitian GENERALIZED eigenvalue problem | float More...
 
template<class T >
std::enable_if_t< std::is_same< T, float >::value > syhegvd (rocblas_handle handle, const rocblas_eform itype, const rocblas_evect evect, const rocblas_fill uplo, int n, std::complex< T > *A, int lda, std::complex< T > *B, int ldb, T *D, T *E, int *info)
 _sy_mmetric or _he_rmitian GENERALIZED eigenvalue problem | complex float More...
 
template<class T >
std::enable_if_t< std::is_same< T, double >::value > syhegvd (rocblas_handle handle, const rocblas_eform itype, const rocblas_evect evect, const rocblas_fill uplo, int n, std::complex< T > *A, int lda, std::complex< T > *B, int ldb, T *D, T *E, int *info)
 _sy_mmetric or _he_rmitian GENERALIZED eigenvalue problem | complex double More...
 
void zgetrs (rocblas_handle handle, char trans, int n, int nrhs, acc_complex_double_t *A, int lda, const int *devIpiv, acc_complex_double_t *B, int ldb)
 Linear Solvers.
 
void zgetrf (rocblas_handle handle, int m, int n, acc_complex_double_t *A, int *devIpiv, int lda, int *devInfo)
 

Detailed Description

Interface to ROCM eigensolver.

Function Documentation

◆ get_rocblas_operation()

rocblas_operation sirius::acc::rocsolver::get_rocblas_operation ( char  trans)
inline

Definition at line 58 of file rocsolver.hpp.

◆ syheevd() [1/4]

template<class T >
std::enable_if_t< std::is_same< T, double >::value > sirius::acc::rocsolver::syheevd ( rocblas_handle  handle,
const rocblas_evect  evect,
const rocblas_fill  uplo,
int  n,
T *  A,
int  lda,
T *  D,
T *  E,
int *  info 
)

_sy_mmetric or _he_rmitian STANDARD eigenvalue problem | double

Definition at line 84 of file rocsolver.hpp.

◆ syheevd() [2/4]

template<class T >
std::enable_if_t< std::is_same< T, float >::value > sirius::acc::rocsolver::syheevd ( rocblas_handle  handle,
const rocblas_evect  evect,
const rocblas_fill  uplo,
int  n,
T *  A,
int  lda,
T *  D,
T *  E,
int *  info 
)

_sy_mmetric or _he_rmitian STANDARD eigenvalue problem | float

Definition at line 93 of file rocsolver.hpp.

◆ syheevd() [3/4]

template<class T >
std::enable_if_t< std::is_same< T, double >::value > sirius::acc::rocsolver::syheevd ( rocblas_handle  handle,
const rocblas_evect  evect,
const rocblas_fill  uplo,
int  n,
std::complex< T > *  A,
int  lda,
T *  D,
T *  E,
int *  info 
)

_sy_mmetric or _he_rmitian STANDARD eigenvalue problem | complex double

Definition at line 102 of file rocsolver.hpp.

◆ syheevd() [4/4]

template<class T >
std::enable_if_t< std::is_same< T, float >::value > sirius::acc::rocsolver::syheevd ( rocblas_handle  handle,
const rocblas_evect  evect,
const rocblas_fill  uplo,
int  n,
std::complex< T > *  A,
int  lda,
T *  D,
T *  E,
int *  info 
)

_sy_mmetric or _he_rmitian STANDARD eigenvalue problem | complex float

Definition at line 112 of file rocsolver.hpp.

◆ syhegvd() [1/4]

template<class T >
std::enable_if_t< std::is_same< T, double >::value > sirius::acc::rocsolver::syhegvd ( rocblas_handle  handle,
const rocblas_eform  itype,
const rocblas_evect  evect,
const rocblas_fill  uplo,
int  n,
T *  A,
int  lda,
T *  B,
int  ldb,
T *  D,
T *  E,
int *  info 
)

_sy_mmetric or _he_rmitian GENERALIZED eigenvalue problem | double

Definition at line 122 of file rocsolver.hpp.

◆ syhegvd() [2/4]

template<class T >
std::enable_if_t< std::is_same< T, float >::value > sirius::acc::rocsolver::syhegvd ( rocblas_handle  handle,
const rocblas_eform  itype,
const rocblas_evect  evect,
const rocblas_fill  uplo,
int  n,
T *  A,
int  lda,
T *  B,
int  ldb,
T *  D,
T *  E,
int *  info 
)

_sy_mmetric or _he_rmitian GENERALIZED eigenvalue problem | float

Definition at line 131 of file rocsolver.hpp.

◆ syhegvd() [3/4]

template<class T >
std::enable_if_t< std::is_same< T, float >::value > sirius::acc::rocsolver::syhegvd ( rocblas_handle  handle,
const rocblas_eform  itype,
const rocblas_evect  evect,
const rocblas_fill  uplo,
int  n,
std::complex< T > *  A,
int  lda,
std::complex< T > *  B,
int  ldb,
T *  D,
T *  E,
int *  info 
)

_sy_mmetric or _he_rmitian GENERALIZED eigenvalue problem | complex float

Definition at line 140 of file rocsolver.hpp.

◆ syhegvd() [4/4]

template<class T >
std::enable_if_t< std::is_same< T, double >::value > sirius::acc::rocsolver::syhegvd ( rocblas_handle  handle,
const rocblas_eform  itype,
const rocblas_evect  evect,
const rocblas_fill  uplo,
int  n,
std::complex< T > *  A,
int  lda,
std::complex< T > *  B,
int  ldb,
T *  D,
T *  E,
int *  info 
)

_sy_mmetric or _he_rmitian GENERALIZED eigenvalue problem | complex double

Definition at line 150 of file rocsolver.hpp.