SIRIUS 7.5.0
Electronic structure library and applications
|
GPU kernels and API for application of the local operator. More...
Go to the source code of this file.
Functions | |
template<typename T > | |
__global__ void | add_to_hphi_pw_gpu_kernel (int num_gvec__, gpu_complex_type< T > const *vphi__, gpu_complex_type< T > *hphi__) |
template<typename T > | |
__global__ void | add_to_hphi_pw_gpu_kernel (int num_gvec__, T const *pw_ekin__, gpu_complex_type< T > const *phi__, gpu_complex_type< T > const *vphi__, gpu_complex_type< T > *hphi__) |
template<typename T > | |
__global__ void | add_to_hphi_lapw_gpu_kernel (int num_gvec__, gpu_complex_type< T > *const p__, T const *gkvec_cart__, gpu_complex_type< T > *hphi__) |
template<typename T > | |
__global__ void | grad_phi_lapw_gpu_kernel (int num_gvec__, gpu_complex_type< T > *const phi__, T const *gkvec_cart__, gpu_complex_type< T > *p__) |
template<typename T > | |
__global__ void | mul_by_veff_real_real_gpu_kernel (int nr__, T const *in__, T const *veff__, T *out__) |
template<typename T > | |
__global__ void | mul_by_veff_complex_real_gpu_kernel (int nr__, gpu_complex_type< T > const *in__, T const *veff__, gpu_complex_type< T > *out__) |
template<typename T > | |
__global__ void | mul_by_veff_complex_complex_gpu_kernel (int nr__, gpu_complex_type< T > const *in__, T pref__, T const *vx__, T const *vy__, gpu_complex_type< T > *out__) |
void | add_to_hphi_pw_gpu_float (int num_gvec__, int add_ekin__, float const *pw_ekin__, gpu_complex_type< float > const *phi__, gpu_complex_type< float > const *vphi__, gpu_complex_type< float > *hphi__) |
Update the hphi wave functions. More... | |
void | add_to_hphi_pw_gpu_double (int num_gvec__, int add_ekin__, double const *pw_ekin__, gpu_complex_type< double > const *phi__, gpu_complex_type< double > const *vphi__, gpu_complex_type< double > *hphi__) |
void | add_to_hphi_lapw_gpu_float (int num_gvec__, gpu_complex_type< float > *const p__, float const *gkvec_cart__, gpu_complex_type< float > *hphi__) |
void | grad_phi_lapw_gpu_float (int num_gvec__, gpu_complex_type< float > *const p__, float const *gkvec_cart__, gpu_complex_type< float > *hphi__) |
void | add_to_hphi_lapw_gpu_double (int num_gvec__, gpu_complex_type< double > *const p__, double const *gkvec_cart__, gpu_complex_type< double > *hphi__) |
void | grad_phi_lapw_gpu_double (int num_gvec__, gpu_complex_type< double > *const p__, double const *gkvec_cart__, gpu_complex_type< double > *hphi__) |
void | mul_by_veff_real_real_gpu_float (int nr__, float const *in__, float const *veff__, float *out__) |
void | mul_by_veff_real_real_gpu_double (int nr__, double const *in__, double const *veff__, double *out__) |
void | mul_by_veff_complex_real_gpu_float (int nr__, gpu_complex_type< float > const *in__, float const *veff__, gpu_complex_type< float > *out__) |
void | mul_by_veff_complex_real_gpu_double (int nr__, gpu_complex_type< double > const *in__, double const *veff__, gpu_complex_type< double > *out__) |
void | mul_by_veff_complex_complex_gpu_float (int nr__, gpu_complex_type< float > const *in__, float pref__, float const *vx__, float const *vy__, gpu_complex_type< float > *out__) |
void | mul_by_veff_complex_complex_gpu_double (int nr__, gpu_complex_type< double > const *in__, double pref__, double const *vx__, double const *vy__, gpu_complex_type< double > *out__) |
GPU kernels and API for application of the local operator.
Definition in file local_operator.cu.
__global__ void add_to_hphi_pw_gpu_kernel | ( | int | num_gvec__, |
gpu_complex_type< T > const * | vphi__, | ||
gpu_complex_type< T > * | hphi__ | ||
) |
Definition at line 33 of file local_operator.cu.
__global__ void add_to_hphi_pw_gpu_kernel | ( | int | num_gvec__, |
T const * | pw_ekin__, | ||
gpu_complex_type< T > const * | phi__, | ||
gpu_complex_type< T > const * | vphi__, | ||
gpu_complex_type< T > * | hphi__ | ||
) |
Definition at line 43 of file local_operator.cu.
__global__ void add_to_hphi_lapw_gpu_kernel | ( | int | num_gvec__, |
gpu_complex_type< T > *const | p__, | ||
T const * | gkvec_cart__, | ||
gpu_complex_type< T > * | hphi__ | ||
) |
Definition at line 55 of file local_operator.cu.
__global__ void grad_phi_lapw_gpu_kernel | ( | int | num_gvec__, |
gpu_complex_type< T > *const | phi__, | ||
T const * | gkvec_cart__, | ||
gpu_complex_type< T > * | p__ | ||
) |
Definition at line 67 of file local_operator.cu.
__global__ void mul_by_veff_real_real_gpu_kernel | ( | int | nr__, |
T const * | in__, | ||
T const * | veff__, | ||
T * | out__ | ||
) |
Definition at line 78 of file local_operator.cu.
__global__ void mul_by_veff_complex_real_gpu_kernel | ( | int | nr__, |
gpu_complex_type< T > const * | in__, | ||
T const * | veff__, | ||
gpu_complex_type< T > * | out__ | ||
) |
Definition at line 88 of file local_operator.cu.
__global__ void mul_by_veff_complex_complex_gpu_kernel | ( | int | nr__, |
gpu_complex_type< T > const * | in__, | ||
T | pref__, | ||
T const * | vx__, | ||
T const * | vy__, | ||
gpu_complex_type< T > * | out__ | ||
) |
Definition at line 99 of file local_operator.cu.
void add_to_hphi_pw_gpu_float | ( | int | num_gvec__, |
int | add_ekin__, | ||
float const * | pw_ekin__, | ||
gpu_complex_type< float > const * | phi__, | ||
gpu_complex_type< float > const * | vphi__, | ||
gpu_complex_type< float > * | hphi__ | ||
) |
Update the hphi wave functions.
The following operation is performed: hphi[ig] += (alpha * pw_ekin[ig] * phi[ig] + vphi[ig])
Definition at line 115 of file local_operator.cu.
void add_to_hphi_pw_gpu_double | ( | int | num_gvec__, |
int | add_ekin__, | ||
double const * | pw_ekin__, | ||
gpu_complex_type< double > const * | phi__, | ||
gpu_complex_type< double > const * | vphi__, | ||
gpu_complex_type< double > * | hphi__ | ||
) |
Definition at line 131 of file local_operator.cu.
void add_to_hphi_lapw_gpu_float | ( | int | num_gvec__, |
gpu_complex_type< float > *const | p__, | ||
float const * | gkvec_cart__, | ||
gpu_complex_type< float > * | hphi__ | ||
) |
Definition at line 147 of file local_operator.cu.
void grad_phi_lapw_gpu_float | ( | int | num_gvec__, |
gpu_complex_type< float > *const | p__, | ||
float const * | gkvec_cart__, | ||
gpu_complex_type< float > * | hphi__ | ||
) |
Definition at line 158 of file local_operator.cu.
void add_to_hphi_lapw_gpu_double | ( | int | num_gvec__, |
gpu_complex_type< double > *const | p__, | ||
double const * | gkvec_cart__, | ||
gpu_complex_type< double > * | hphi__ | ||
) |
Definition at line 169 of file local_operator.cu.
void grad_phi_lapw_gpu_double | ( | int | num_gvec__, |
gpu_complex_type< double > *const | p__, | ||
double const * | gkvec_cart__, | ||
gpu_complex_type< double > * | hphi__ | ||
) |
Definition at line 180 of file local_operator.cu.
void mul_by_veff_real_real_gpu_float | ( | int | nr__, |
float const * | in__, | ||
float const * | veff__, | ||
float * | out__ | ||
) |
Definition at line 191 of file local_operator.cu.
void mul_by_veff_real_real_gpu_double | ( | int | nr__, |
double const * | in__, | ||
double const * | veff__, | ||
double * | out__ | ||
) |
Definition at line 201 of file local_operator.cu.
void mul_by_veff_complex_real_gpu_float | ( | int | nr__, |
gpu_complex_type< float > const * | in__, | ||
float const * | veff__, | ||
gpu_complex_type< float > * | out__ | ||
) |
Definition at line 211 of file local_operator.cu.
void mul_by_veff_complex_real_gpu_double | ( | int | nr__, |
gpu_complex_type< double > const * | in__, | ||
double const * | veff__, | ||
gpu_complex_type< double > * | out__ | ||
) |
Definition at line 222 of file local_operator.cu.
void mul_by_veff_complex_complex_gpu_float | ( | int | nr__, |
gpu_complex_type< float > const * | in__, | ||
float | pref__, | ||
float const * | vx__, | ||
float const * | vy__, | ||
gpu_complex_type< float > * | out__ | ||
) |
Definition at line 233 of file local_operator.cu.
void mul_by_veff_complex_complex_gpu_double | ( | int | nr__, |
gpu_complex_type< double > const * | in__, | ||
double | pref__, | ||
double const * | vx__, | ||
double const * | vy__, | ||
gpu_complex_type< double > * | out__ | ||
) |
Definition at line 244 of file local_operator.cu.