QMCPACK
delayed_update_helper.h File Reference
+ Include dependency graph for delayed_update_helper.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void applyW_stageV_cuda (const int *delay_list_gpu, const int delay_count, float *temp_gpu, const int numorbs, const int ndelay, float *V_gpu, const float *Ainv, cudaStream_t hstream)
 helper function for delayed update algorithm W matrix is applied and copy selected rows of Ainv into V More...
 
void applyW_stageV_cuda (const int *delay_list_gpu, const int delay_count, std::complex< float > *temp_gpu, const int numorbs, const int ndelay, std::complex< float > *V_gpu, const std::complex< float > *Ainv, cudaStream_t hstream)
 
void applyW_stageV_cuda (const int *delay_list_gpu, const int delay_count, double *temp_gpu, const int numorbs, const int ndelay, double *V_gpu, const double *Ainv, cudaStream_t hstream)
 
void applyW_stageV_cuda (const int *delay_list_gpu, const int delay_count, std::complex< double > *temp_gpu, const int numorbs, const int ndelay, std::complex< double > *V_gpu, const std::complex< double > *Ainv, cudaStream_t hstream)
 
void make_identity_matrix_cuda (const int nrows, double *mat, const int lda, cudaStream_t hstream)
 create identity matrix on the device More...
 
void make_identity_matrix_cuda (const int nrows, std::complex< double > *mat, const int lda, cudaStream_t hstream)
 
void extract_matrix_diagonal_cuda (const int nrows, const double *mat, const int lda, double *diag, cudaStream_t hstream)
 extract matrix diagonal More...
 
void extract_matrix_diagonal_cuda (const int nrows, const std::complex< double > *mat, const int lda, std::complex< double > *diag, cudaStream_t hstream)
 
void copy_matrix_cuda (const int nrows, const int ncols, const double *mat_in, const int lda, float *mat_out, const int ldb, cudaStream_t hstream)
 copy matrix with precision difference More...
 
void copy_matrix_cuda (const int nrows, const int ncols, const float *mat_in, const int lda, double *mat_out, const int ldb, cudaStream_t hstream)
 
void copy_matrix_cuda (const int nrows, const int ncols, const std::complex< double > *mat_in, const int lda, std::complex< float > *mat_out, const int ldb, cudaStream_t hstream)
 
void copy_matrix_cuda (const int nrows, const int ncols, const std::complex< float > *mat_in, const int lda, std::complex< double > *mat_out, const int ldb, cudaStream_t hstream)
 

Function Documentation

◆ applyW_stageV_cuda() [1/4]

void applyW_stageV_cuda ( const int *  delay_list_gpu,
const int  delay_count,
float *  temp_gpu,
const int  numorbs,
const int  ndelay,
float *  V_gpu,
const float *  Ainv,
cudaStream_t  hstream 
)

helper function for delayed update algorithm W matrix is applied and copy selected rows of Ainv into V

Referenced by DelayedUpdateCUDA< T, T_FP >::updateInvMat().

◆ applyW_stageV_cuda() [2/4]

void applyW_stageV_cuda ( const int *  delay_list_gpu,
const int  delay_count,
std::complex< float > *  temp_gpu,
const int  numorbs,
const int  ndelay,
std::complex< float > *  V_gpu,
const std::complex< float > *  Ainv,
cudaStream_t  hstream 
)

◆ applyW_stageV_cuda() [3/4]

void applyW_stageV_cuda ( const int *  delay_list_gpu,
const int  delay_count,
double *  temp_gpu,
const int  numorbs,
const int  ndelay,
double *  V_gpu,
const double *  Ainv,
cudaStream_t  hstream 
)

◆ applyW_stageV_cuda() [4/4]

void applyW_stageV_cuda ( const int *  delay_list_gpu,
const int  delay_count,
std::complex< double > *  temp_gpu,
const int  numorbs,
const int  ndelay,
std::complex< double > *  V_gpu,
const std::complex< double > *  Ainv,
cudaStream_t  hstream 
)

◆ copy_matrix_cuda() [1/4]

void copy_matrix_cuda ( const int  nrows,
const int  ncols,
const double *  mat_in,
const int  lda,
float *  mat_out,
const int  ldb,
cudaStream_t  hstream 
)

copy matrix with precision difference

Referenced by cuSolverInverter< T_FP >::invert_transpose(), and rocSolverInverter< T_FP >::invert_transpose().

◆ copy_matrix_cuda() [2/4]

void copy_matrix_cuda ( const int  nrows,
const int  ncols,
const float *  mat_in,
const int  lda,
double *  mat_out,
const int  ldb,
cudaStream_t  hstream 
)

◆ copy_matrix_cuda() [3/4]

void copy_matrix_cuda ( const int  nrows,
const int  ncols,
const std::complex< double > *  mat_in,
const int  lda,
std::complex< float > *  mat_out,
const int  ldb,
cudaStream_t  hstream 
)

◆ copy_matrix_cuda() [4/4]

void copy_matrix_cuda ( const int  nrows,
const int  ncols,
const std::complex< float > *  mat_in,
const int  lda,
std::complex< double > *  mat_out,
const int  ldb,
cudaStream_t  hstream 
)

◆ extract_matrix_diagonal_cuda() [1/2]

void extract_matrix_diagonal_cuda ( const int  nrows,
const double *  mat,
const int  lda,
double *  diag,
cudaStream_t  hstream 
)

◆ extract_matrix_diagonal_cuda() [2/2]

void extract_matrix_diagonal_cuda ( const int  nrows,
const std::complex< double > *  mat,
const int  lda,
std::complex< double > *  diag,
cudaStream_t  hstream 
)

◆ make_identity_matrix_cuda() [1/2]

void make_identity_matrix_cuda ( const int  nrows,
double *  mat,
const int  lda,
cudaStream_t  hstream 
)

create identity matrix on the device

Referenced by cuSolverInverter< T_FP >::invert_transpose(), and rocSolverInverter< T_FP >::invert_transpose().

◆ make_identity_matrix_cuda() [2/2]

void make_identity_matrix_cuda ( const int  nrows,
std::complex< double > *  mat,
const int  lda,
cudaStream_t  hstream 
)