cuda forces + init var

This commit is contained in:
Eddy Barraud
2024-06-05 17:49:27 +02:00
parent 9ea57acf54
commit eb7f947a0c
5 changed files with 251 additions and 130 deletions

View File

@ -28,11 +28,12 @@ static DPDCharged<PRECISION,ACC_PRECISION> DPDCMF;
// Allocate memory on host and device and copy constants to device
// ---------------------------------------------------------------------------
int dpd_charged_gpu_init(const int ntypes, double **cutsq, double **host_a0,
double **host_gamma, double **host_sigma, double **host_cut,
double **host_cut_dpd, double **host_cut_slater,
double *special_lj, const int inum,
double **host_gamma, double **host_sigma,
double **host_cut_dpd, double **host_cut_dpd_sq, double **host_cut_slatersq,
double **host_scale, double *special_lj, const int inum,
const int nall, const int max_nbors, const int maxspecial,
const double cell_size, int &gpu_mode, FILE *screen) {
const double cell_size, int &gpu_mode, FILE *screen, double *host_special_coul,
const double qqrd2e, const double g_ewald, const double lamda) {
DPDCMF.clear();
gpu_mode=DPDCMF.device->gpu_mode();
double gpu_split=DPDCMF.device->particle_split();
@ -56,8 +57,10 @@ int dpd_charged_gpu_init(const int ntypes, double **cutsq, double **host_a0,
int init_ok=0;
if (world_me==0)
init_ok=DPDCMF.init(ntypes, cutsq, host_a0, host_gamma, host_sigma,
host_cut, host_cut_dpd, host_cut_dpdsq, host_cut_slatersq, special_lj, false, inum, nall, max_nbors,
maxspecial, cell_size, gpu_split, screen);
host_cut_dpd, host_cut_dpdsq, host_cut_slatersq,
host_scale, special_lj, false, inum, nall, max_nbors,
maxspecial, cell_size, gpu_split, screen,
force->special_coul,->qqrd2e, g_ewald, lamda);
DPDCMF.device->world_barrier();
if (message)
@ -74,8 +77,10 @@ int dpd_charged_gpu_init(const int ntypes, double **cutsq, double **host_a0,
}
if (gpu_rank==i && world_me!=0)
init_ok=DPDCMF.init(ntypes, cutsq, host_a0, host_gamma, host_sigma,
host_cut, host_cut_dpd, host_cut_slater, special_lj, false, inum, nall, max_nbors,
maxspecial, cell_size, gpu_split, screen);
host_cut_dpd, host_cut_dpdsq, host_cut_slatersq,
host_scale, special_lj, false, inum, nall, max_nbors,
maxspecial, cell_size, gpu_split, screen,
force->special_coul,force->qqrd2e, g_ewald, lamda);
DPDCMF.device->serialize_init();
if (message)