SIRIUS 7.5.0
Electronic structure library and applications
Functions
nlcglib/preconditioner/diag_mm.cu File Reference

Matrix-matrix multiplication with a diagonal matrix. More...

Go to the source code of this file.

Functions

template<class T >
__global__ std::enable_if_t<!std::is_same< acc_complex_double_t, T >::value > diag_mm (const T *diag, int n, const T *X, int lda_x, int ncols, T *Y, int lda_y, T alpha)
 
template<class T >
__global__ std::enable_if_t< std::is_same< acc_complex_double_t, T >::value > diag_mm (const T *diag, int n, const T *X, int lda_x, int ncols, T *Y, int lda_y, T alpha)
 
template<class T >
void call_diagmm (const T *diag, int n, const T *X, int lda_x, int ncols, T *Y, int lda_y, T alpha)
 
void ddiagmm (const double *diag, int n, const double *X, int lda_x, int ncols, double *Y, int lda_y, double alpha)
 
void sdiagmm (const float *diag, int n, const float *X, int lda_x, int ncols, float *Y, int lda_y, float alpha)
 
void zdiagmm (const std::complex< double > *diag, int n, const std::complex< double > *X, int lda_x, int ncols, std::complex< double > *Y, int lda_y, std::complex< double > alpha)
 

Detailed Description

Matrix-matrix multiplication with a diagonal matrix.

Definition in file nlcglib/preconditioner/diag_mm.cu.

Function Documentation

◆ diag_mm() [1/2]

template<class T >
__global__ std::enable_if_t<!std::is_same< acc_complex_double_t, T >::value > diag_mm ( const T *  diag,
int  n,
const T *  X,
int  lda_x,
int  ncols,
T *  Y,
int  lda_y,
alpha 
)

Definition at line 34 of file nlcglib/preconditioner/diag_mm.cu.

◆ diag_mm() [2/2]

template<class T >
__global__ std::enable_if_t< std::is_same< acc_complex_double_t, T >::value > diag_mm ( const T *  diag,
int  n,
const T *  X,
int  lda_x,
int  ncols,
T *  Y,
int  lda_y,
alpha 
)

Definition at line 48 of file nlcglib/preconditioner/diag_mm.cu.

◆ call_diagmm()

template<class T >
void call_diagmm ( const T *  diag,
int  n,
const T *  X,
int  lda_x,
int  ncols,
T *  Y,
int  lda_y,
alpha 
)

Definition at line 62 of file nlcglib/preconditioner/diag_mm.cu.

◆ ddiagmm()

void ddiagmm ( const double *  diag,
int  n,
const double *  X,
int  lda_x,
int  ncols,
double *  Y,
int  lda_y,
double  alpha 
)

Definition at line 76 of file nlcglib/preconditioner/diag_mm.cu.

◆ sdiagmm()

void sdiagmm ( const float *  diag,
int  n,
const float *  X,
int  lda_x,
int  ncols,
float *  Y,
int  lda_y,
float  alpha 
)

Definition at line 82 of file nlcglib/preconditioner/diag_mm.cu.

◆ zdiagmm()

void zdiagmm ( const std::complex< double > *  diag,
int  n,
const std::complex< double > *  X,
int  lda_x,
int  ncols,
std::complex< double > *  Y,
int  lda_y,
std::complex< double >  alpha 
)

Definition at line 87 of file nlcglib/preconditioner/diag_mm.cu.