Refactored the API so that different off2 values are used for different kernels

This commit is contained in:
Trung Nguyen
2021-09-16 17:14:36 -05:00
parent a21095fded
commit 98c1a0178c
6 changed files with 92 additions and 75 deletions

View File

@ -152,7 +152,7 @@ class BaseAmoeba {
const bool eflag, const bool vflag,
const bool eatom, const bool vatom, int &host_start,
int **ilist, int **numj, const double cpu_time, bool &success,
double *charge, double *boxlo, double *prd, void **fieldp_ptr);
const double off2_polar, double *charge, double *boxlo, double *prd, void **fieldp_ptr);
/// Compute the real space part of the induced field (umutual2b) with device neighboring
int** compute_umutual2b(const int ago, const int inum_full, const int nall,
@ -165,7 +165,7 @@ class BaseAmoeba {
const bool eflag, const bool vflag,
const bool eatom, const bool vatom, int &host_start,
int **ilist, int **numj, const double cpu_time, bool &success,
double *charge, double *boxlo, double *prd, void **fieldp_ptr);
const double off2_polar, double *charge, double *boxlo, double *prd, void **fieldp_ptr);
/// Compute polar real-space with device neighboring
int** compute_polar_real(const int ago, const int inum_full, const int nall,
@ -177,7 +177,8 @@ class BaseAmoeba {
const bool eflag, const bool vflag,
const bool eatom, const bool vatom, int &host_start,
int **ilist, int **numj, const double cpu_time, bool &success,
double *charge, double *boxlo, double *prd, void **tep_ptr);
const double felec, const double off2_polar, double *charge,
double *boxlo, double *prd, void **tep_ptr);
/// Compute polar real-space with host neighboring (not active for now)
void compute_polar_real_host_nbor(const int f_ago, const int inum_full, const int nall,
@ -186,8 +187,8 @@ class BaseAmoeba {
double **host_uinp, int *ilist, int *numj,
int **firstneigh, const bool eflag, const bool vflag,
const bool eatom, const bool vatom, int &host_start,
const double cpu_time, bool &success, double *charge,
const int nlocal, double *boxlo, double *prd, void **tep_ptr);
const double cpu_time, bool &success, const double felec, const double off2_polar,
double *charge, const int nlocal, double *boxlo, double *prd, void **tep_ptr);
// -------------------------- DEVICE DATA -------------------------
@ -258,6 +259,8 @@ class BaseAmoeba {
bool short_nbor_avail;
UCL_D_Vec<int> *_nbor_data;
numtyp _felec,_off2_hal,_off2_repulse,_off2_dispersion,_off2_mpole,_off2_polar;
void compile_kernels(UCL_Device &dev, const void *pair_string,
const char *kname_polar, const char *kname_udirect2b,
const char *kname_umutual2b, const char *kname_short_nbor);