ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
ModuleGint::PhiOperatorGpu Class Reference

#include <phi_operator_gpu.h>

Collaboration diagram for ModuleGint::PhiOperatorGpu:

Public Member Functions

 PhiOperatorGpu (std::shared_ptr< const GintGpuVars > gint_gpu_vars, cudaStream_t stream=0)
 
 ~PhiOperatorGpu ()
 
void set_bgrid_batch (std::shared_ptr< BatchBigGrid > bgrid_batch)
 
void set_phi (double *phi_d) const
 
void set_phi_dphi (double *phi_d, double *dphi_x_d, double *dphi_y_d, double *dphi_z_d) const
 
void set_ddphi (double *ddphi_xx_d, double *ddphi_xy_d, double *ddphi_xz_d, double *ddphi_yy_d, double *ddphi_yz_d, double *ddphi_zz_d) const
 
void phi_mul_vldr3 (const double *vl_d, const double dr3, const double *phi_d, double *result_d) const
 
void phi_mul_phi (const double *phi_d, const double *phi_vldr3_d, HContainer< double > &hRGint, double *hr_d) const
 
void phi_mul_dm (const double *phi_d, const double *dm_d, const HContainer< double > &dm, const bool is_symm, double *phi_dm_d)
 
void phi_dot_phi (const double *phi_i_d, const double *phi_j_d, double *rho_d) const
 
void phi_dot_dphi (const double *phi_d, const double *dphi_x_d, const double *dphi_y_d, const double *dphi_z_d, double *fvl_d) const
 
void phi_dot_dphi_r (const double *phi_d, const double *dphi_x_d, const double *dphi_y_d, const double *dphi_z_d, double *svl_d) const
 

Private Attributes

std::shared_ptr< BatchBigGridbgrid_batch_
 
std::shared_ptr< const GintGpuVarsgint_gpu_vars_
 
int mgrids_num_
 
int phi_len_
 
cudaStream_t stream_ = 0
 
cudaEvent_t event_
 
CudaMemWrapper< int2 > atoms_num_info_
 
CudaMemWrapper< int > atoms_iat_
 
CudaMemWrapper< double3 > atoms_bgrids_rcoords_
 
CudaMemWrapper< int > atoms_phi_start_
 
CudaMemWrapper< int > bgrids_phi_len_
 
CudaMemWrapper< int > bgrids_phi_start_
 
CudaMemWrapper< int > mgrids_local_idx_batch_
 
CudaMemWrapper< int > gemm_m_
 
CudaMemWrapper< int > gemm_n_
 
CudaMemWrapper< int > gemm_k_
 
CudaMemWrapper< int > gemm_lda_
 
CudaMemWrapper< int > gemm_ldb_
 
CudaMemWrapper< int > gemm_ldc_
 
CudaMemWrapper< const double * > gemm_A_
 
CudaMemWrapper< const double * > gemm_B_
 
CudaMemWrapper< double * > gemm_C_
 
CudaMemWrapper< double > gemm_alpha_
 

Constructor & Destructor Documentation

◆ PhiOperatorGpu()

ModuleGint::PhiOperatorGpu::PhiOperatorGpu ( std::shared_ptr< const GintGpuVars gint_gpu_vars,
cudaStream_t  stream = 0 
)

◆ ~PhiOperatorGpu()

ModuleGint::PhiOperatorGpu::~PhiOperatorGpu ( )

Member Function Documentation

◆ phi_dot_dphi()

void ModuleGint::PhiOperatorGpu::phi_dot_dphi ( const double *  phi_d,
const double *  dphi_x_d,
const double *  dphi_y_d,
const double *  dphi_z_d,
double *  fvl_d 
) const
Here is the caller graph for this function:

◆ phi_dot_dphi_r()

void ModuleGint::PhiOperatorGpu::phi_dot_dphi_r ( const double *  phi_d,
const double *  dphi_x_d,
const double *  dphi_y_d,
const double *  dphi_z_d,
double *  svl_d 
) const
Here is the caller graph for this function:

◆ phi_dot_phi()

void ModuleGint::PhiOperatorGpu::phi_dot_phi ( const double *  phi_i_d,
const double *  phi_j_d,
double *  rho_d 
) const
Here is the caller graph for this function:

◆ phi_mul_dm()

void ModuleGint::PhiOperatorGpu::phi_mul_dm ( const double *  phi_d,
const double *  dm_d,
const HContainer< double > &  dm,
const bool  is_symm,
double *  phi_dm_d 
)
Here is the caller graph for this function:

◆ phi_mul_phi()

void ModuleGint::PhiOperatorGpu::phi_mul_phi ( const double *  phi_d,
const double *  phi_vldr3_d,
HContainer< double > &  hRGint,
double *  hr_d 
) const
Here is the caller graph for this function:

◆ phi_mul_vldr3()

void ModuleGint::PhiOperatorGpu::phi_mul_vldr3 ( const double *  vl_d,
const double  dr3,
const double *  phi_d,
double *  result_d 
) const
Here is the caller graph for this function:

◆ set_bgrid_batch()

void ModuleGint::PhiOperatorGpu::set_bgrid_batch ( std::shared_ptr< BatchBigGrid bgrid_batch)
Here is the caller graph for this function:

◆ set_ddphi()

void ModuleGint::PhiOperatorGpu::set_ddphi ( double *  ddphi_xx_d,
double *  ddphi_xy_d,
double *  ddphi_xz_d,
double *  ddphi_yy_d,
double *  ddphi_yz_d,
double *  ddphi_zz_d 
) const
Here is the caller graph for this function:

◆ set_phi()

void ModuleGint::PhiOperatorGpu::set_phi ( double *  phi_d) const
Here is the caller graph for this function:

◆ set_phi_dphi()

void ModuleGint::PhiOperatorGpu::set_phi_dphi ( double *  phi_d,
double *  dphi_x_d,
double *  dphi_y_d,
double *  dphi_z_d 
) const
Here is the caller graph for this function:

Member Data Documentation

◆ atoms_bgrids_rcoords_

CudaMemWrapper<double3> ModuleGint::PhiOperatorGpu::atoms_bgrids_rcoords_
private

◆ atoms_iat_

CudaMemWrapper<int> ModuleGint::PhiOperatorGpu::atoms_iat_
private

◆ atoms_num_info_

CudaMemWrapper<int2> ModuleGint::PhiOperatorGpu::atoms_num_info_
private

◆ atoms_phi_start_

CudaMemWrapper<int> ModuleGint::PhiOperatorGpu::atoms_phi_start_
private

◆ bgrid_batch_

std::shared_ptr<BatchBigGrid> ModuleGint::PhiOperatorGpu::bgrid_batch_
private

◆ bgrids_phi_len_

CudaMemWrapper<int> ModuleGint::PhiOperatorGpu::bgrids_phi_len_
private

◆ bgrids_phi_start_

CudaMemWrapper<int> ModuleGint::PhiOperatorGpu::bgrids_phi_start_
private

◆ event_

cudaEvent_t ModuleGint::PhiOperatorGpu::event_
private

◆ gemm_A_

CudaMemWrapper<const double*> ModuleGint::PhiOperatorGpu::gemm_A_
mutableprivate

◆ gemm_alpha_

CudaMemWrapper<double> ModuleGint::PhiOperatorGpu::gemm_alpha_
mutableprivate

◆ gemm_B_

CudaMemWrapper<const double*> ModuleGint::PhiOperatorGpu::gemm_B_
mutableprivate

◆ gemm_C_

CudaMemWrapper<double*> ModuleGint::PhiOperatorGpu::gemm_C_
mutableprivate

◆ gemm_k_

CudaMemWrapper<int> ModuleGint::PhiOperatorGpu::gemm_k_
mutableprivate

◆ gemm_lda_

CudaMemWrapper<int> ModuleGint::PhiOperatorGpu::gemm_lda_
mutableprivate

◆ gemm_ldb_

CudaMemWrapper<int> ModuleGint::PhiOperatorGpu::gemm_ldb_
mutableprivate

◆ gemm_ldc_

CudaMemWrapper<int> ModuleGint::PhiOperatorGpu::gemm_ldc_
mutableprivate

◆ gemm_m_

CudaMemWrapper<int> ModuleGint::PhiOperatorGpu::gemm_m_
mutableprivate

◆ gemm_n_

CudaMemWrapper<int> ModuleGint::PhiOperatorGpu::gemm_n_
mutableprivate

◆ gint_gpu_vars_

std::shared_ptr<const GintGpuVars> ModuleGint::PhiOperatorGpu::gint_gpu_vars_
private

◆ mgrids_local_idx_batch_

CudaMemWrapper<int> ModuleGint::PhiOperatorGpu::mgrids_local_idx_batch_
private

◆ mgrids_num_

int ModuleGint::PhiOperatorGpu::mgrids_num_
private

◆ phi_len_

int ModuleGint::PhiOperatorGpu::phi_len_
private

◆ stream_

cudaStream_t ModuleGint::PhiOperatorGpu::stream_ = 0
private

The documentation for this class was generated from the following file: