Fixing Kokkos bugs
git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@15565 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
@ -132,7 +132,9 @@ class FixQEqReaxKokkos : public FixQEqReax {
|
|||||||
double calculate_H_k(const F_FLOAT &r, const F_FLOAT &shld) const;
|
double calculate_H_k(const F_FLOAT &r, const F_FLOAT &shld) const;
|
||||||
|
|
||||||
struct params_qeq{
|
struct params_qeq{
|
||||||
|
KOKKOS_INLINE_FUNCTION
|
||||||
params_qeq(){chi=0;eta=0;gamma=0;};
|
params_qeq(){chi=0;eta=0;gamma=0;};
|
||||||
|
KOKKOS_INLINE_FUNCTION
|
||||||
params_qeq(int i){chi=0;eta=0;gamma=0;};
|
params_qeq(int i){chi=0;eta=0;gamma=0;};
|
||||||
F_FLOAT chi, eta, gamma;
|
F_FLOAT chi, eta, gamma;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -370,43 +370,43 @@ void PairReaxCKokkos<DeviceType>::init_md()
|
|||||||
k_LR.h_view(i,j).a = LR[i][j].a;
|
k_LR.h_view(i,j).a = LR[i][j].a;
|
||||||
k_LR.h_view(i,j).m = LR[i][j].m;
|
k_LR.h_view(i,j).m = LR[i][j].m;
|
||||||
k_LR.h_view(i,j).c = LR[i][j].c;
|
k_LR.h_view(i,j).c = LR[i][j].c;
|
||||||
|
|
||||||
|
tdual_LR_data_1d k_y = tdual_LR_data_1d("lookup:LR[i,j].y",n);
|
||||||
|
tdual_cubic_spline_coef_1d k_H = tdual_cubic_spline_coef_1d("lookup:LR[i,j].H",n);
|
||||||
|
tdual_cubic_spline_coef_1d k_vdW = tdual_cubic_spline_coef_1d("lookup:LR[i,j].vdW",n);
|
||||||
|
tdual_cubic_spline_coef_1d k_CEvd = tdual_cubic_spline_coef_1d("lookup:LR[i,j].CEvd",n);
|
||||||
|
tdual_cubic_spline_coef_1d k_ele = tdual_cubic_spline_coef_1d("lookup:LR[i,j].ele",n);
|
||||||
|
tdual_cubic_spline_coef_1d k_CEclmb = tdual_cubic_spline_coef_1d("lookup:LR[i,j].CEclmb",n);
|
||||||
|
|
||||||
k_LR.h_view(i,j).k_y = tdual_LR_data_1d("lookup:LR[i,j].y",n);
|
k_LR.h_view(i,j).d_y = k_y.d_view;
|
||||||
k_LR.h_view(i,j).k_H = tdual_cubic_spline_coef_1d("lookup:LR[i,j].H",n);
|
k_LR.h_view(i,j).d_H = k_H.d_view;
|
||||||
k_LR.h_view(i,j).k_vdW = tdual_cubic_spline_coef_1d("lookup:LR[i,j].vdW",n);
|
k_LR.h_view(i,j).d_vdW = k_vdW.d_view;
|
||||||
k_LR.h_view(i,j).k_CEvd = tdual_cubic_spline_coef_1d("lookup:LR[i,j].CEvd",n);
|
k_LR.h_view(i,j).d_CEvd = k_CEvd.d_view;
|
||||||
k_LR.h_view(i,j).k_ele = tdual_cubic_spline_coef_1d("lookup:LR[i,j].ele",n);
|
k_LR.h_view(i,j).d_ele = k_ele.d_view;
|
||||||
k_LR.h_view(i,j).k_CEclmb = tdual_cubic_spline_coef_1d("lookup:LR[i,j].CEclmb",n);
|
k_LR.h_view(i,j).d_CEclmb = k_CEclmb.d_view;
|
||||||
|
|
||||||
k_LR.h_view(i,j).d_y = k_LR.h_view(i,j).k_y.d_view;
|
|
||||||
k_LR.h_view(i,j).d_H = k_LR.h_view(i,j).k_H.d_view;
|
|
||||||
k_LR.h_view(i,j).d_vdW = k_LR.h_view(i,j).k_vdW.d_view;
|
|
||||||
k_LR.h_view(i,j).d_CEvd = k_LR.h_view(i,j).k_CEvd.d_view;
|
|
||||||
k_LR.h_view(i,j).d_ele = k_LR.h_view(i,j).k_ele.d_view;
|
|
||||||
k_LR.h_view(i,j).d_CEclmb = k_LR.h_view(i,j).k_CEclmb.d_view;
|
|
||||||
|
|
||||||
for (int k = 0; k < n; k++) {
|
for (int k = 0; k < n; k++) {
|
||||||
k_LR.h_view(i,j).k_y.h_view(k) = LR[i][j].y[k];
|
k_y.h_view(k) = LR[i][j].y[k];
|
||||||
k_LR.h_view(i,j).k_H.h_view(k) = LR[i][j].H[k];
|
k_H.h_view(k) = LR[i][j].H[k];
|
||||||
k_LR.h_view(i,j).k_vdW.h_view(k) = LR[i][j].vdW[k];
|
k_vdW.h_view(k) = LR[i][j].vdW[k];
|
||||||
k_LR.h_view(i,j).k_CEvd.h_view(k) = LR[i][j].CEvd[k];
|
k_CEvd.h_view(k) = LR[i][j].CEvd[k];
|
||||||
k_LR.h_view(i,j).k_ele.h_view(k) = LR[i][j].ele[k];
|
k_ele.h_view(k) = LR[i][j].ele[k];
|
||||||
k_LR.h_view(i,j).k_CEclmb.h_view(k) = LR[i][j].CEclmb[k];
|
k_CEclmb.h_view(k) = LR[i][j].CEclmb[k];
|
||||||
}
|
}
|
||||||
|
|
||||||
k_LR.h_view(i,j).k_y.template modify<LMPHostType>();
|
k_y.template modify<LMPHostType>();
|
||||||
k_LR.h_view(i,j).k_H.template modify<LMPHostType>();
|
k_H.template modify<LMPHostType>();
|
||||||
k_LR.h_view(i,j).k_vdW.template modify<LMPHostType>();
|
k_vdW.template modify<LMPHostType>();
|
||||||
k_LR.h_view(i,j).k_CEvd.template modify<LMPHostType>();
|
k_CEvd.template modify<LMPHostType>();
|
||||||
k_LR.h_view(i,j).k_ele.template modify<LMPHostType>();
|
k_ele.template modify<LMPHostType>();
|
||||||
k_LR.h_view(i,j).k_CEclmb.template modify<LMPHostType>();
|
k_CEclmb.template modify<LMPHostType>();
|
||||||
|
|
||||||
k_LR.h_view(i,j).k_y.template sync<DeviceType>();
|
k_y.template sync<DeviceType>();
|
||||||
k_LR.h_view(i,j).k_H.template sync<DeviceType>();
|
k_H.template sync<DeviceType>();
|
||||||
k_LR.h_view(i,j).k_vdW.template sync<DeviceType>();
|
k_vdW.template sync<DeviceType>();
|
||||||
k_LR.h_view(i,j).k_CEvd.template sync<DeviceType>();
|
k_CEvd.template sync<DeviceType>();
|
||||||
k_LR.h_view(i,j).k_ele.template sync<DeviceType>();
|
k_ele.template sync<DeviceType>();
|
||||||
k_LR.h_view(i,j).k_CEclmb.template sync<DeviceType>();
|
k_CEclmb.template sync<DeviceType>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
k_LR.template modify<LMPHostType>();
|
k_LR.template modify<LMPHostType>();
|
||||||
|
|||||||
@ -54,11 +54,6 @@ struct LR_lookup_table_kk
|
|||||||
double m;
|
double m;
|
||||||
double c;
|
double c;
|
||||||
|
|
||||||
tdual_LR_data_1d k_y;
|
|
||||||
tdual_cubic_spline_coef_1d k_H;
|
|
||||||
tdual_cubic_spline_coef_1d k_vdW, k_CEvd;
|
|
||||||
tdual_cubic_spline_coef_1d k_ele, k_CEclmb;
|
|
||||||
|
|
||||||
t_LR_data_1d d_y;
|
t_LR_data_1d d_y;
|
||||||
t_cubic_spline_coef_1d d_H;
|
t_cubic_spline_coef_1d d_H;
|
||||||
t_cubic_spline_coef_1d d_vdW, d_CEvd;
|
t_cubic_spline_coef_1d d_vdW, d_CEvd;
|
||||||
@ -251,8 +246,10 @@ class PairReaxCKokkos : public PairReaxC {
|
|||||||
void operator()(PairReaxComputeHydrogen<NEIGHFLAG,EVFLAG>, const int&) const;
|
void operator()(PairReaxComputeHydrogen<NEIGHFLAG,EVFLAG>, const int&) const;
|
||||||
|
|
||||||
struct params_sing{
|
struct params_sing{
|
||||||
|
KOKKOS_INLINE_FUNCTION
|
||||||
params_sing(){mass=0;chi=0;eta=0;r_s=0;r_pi=0;r_pi2=0;valency=0;valency_val=0;valency_e=0;valency_boc=0;nlp_opt=0;
|
params_sing(){mass=0;chi=0;eta=0;r_s=0;r_pi=0;r_pi2=0;valency=0;valency_val=0;valency_e=0;valency_boc=0;nlp_opt=0;
|
||||||
p_lp2=0;p_ovun2=0;p_ovun5=0;p_val3=0;p_val5=0;p_hbond=0;};
|
p_lp2=0;p_ovun2=0;p_ovun5=0;p_val3=0;p_val5=0;p_hbond=0;};
|
||||||
|
KOKKOS_INLINE_FUNCTION
|
||||||
params_sing(int i){mass=0;chi=0;eta=0;r_s=0;r_pi=0;r_pi2=0;valency=0;valency_val=0;valency_e=0;valency_boc=0;nlp_opt=0;
|
params_sing(int i){mass=0;chi=0;eta=0;r_s=0;r_pi=0;r_pi2=0;valency=0;valency_val=0;valency_e=0;valency_boc=0;nlp_opt=0;
|
||||||
p_lp2=0;p_ovun2=0;p_ovun5=0;p_val3=0;p_val5=0;p_hbond=0;};
|
p_lp2=0;p_ovun2=0;p_ovun5=0;p_val3=0;p_val5=0;p_hbond=0;};
|
||||||
F_FLOAT mass,chi,eta,r_s,r_pi,r_pi2,valency,valency_val,valency_e,valency_boc,nlp_opt,
|
F_FLOAT mass,chi,eta,r_s,r_pi,r_pi2,valency,valency_val,valency_e,valency_boc,nlp_opt,
|
||||||
@ -260,10 +257,12 @@ class PairReaxCKokkos : public PairReaxC {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct params_twbp{
|
struct params_twbp{
|
||||||
|
KOKKOS_INLINE_FUNCTION
|
||||||
params_twbp(){gamma=0;gamma_w=0;alpha=0;r_vdw=0;epsilon=0;acore=0;ecore=0;rcore=0;lgre=0;lgcij=0;
|
params_twbp(){gamma=0;gamma_w=0;alpha=0;r_vdw=0;epsilon=0;acore=0;ecore=0;rcore=0;lgre=0;lgcij=0;
|
||||||
r_s=0;r_pi=0;r_pi2=0;p_bo1=0;p_bo2=0;p_bo3=0;p_bo4=0;p_bo5=0;p_bo6=0;ovc=0;v13cor=0;
|
r_s=0;r_pi=0;r_pi2=0;p_bo1=0;p_bo2=0;p_bo3=0;p_bo4=0;p_bo5=0;p_bo6=0;ovc=0;v13cor=0;
|
||||||
p_boc3=0;p_boc4=0;p_boc5=0;p_be1=0,p_be2=0,De_s=0,De_p=0;De_pp=0;
|
p_boc3=0;p_boc4=0;p_boc5=0;p_be1=0,p_be2=0,De_s=0,De_p=0;De_pp=0;
|
||||||
p_ovun1=0;};
|
p_ovun1=0;};
|
||||||
|
KOKKOS_INLINE_FUNCTION
|
||||||
params_twbp(int i){gamma=0;gamma_w=0;alpha=0;r_vdw=0;epsilon=0;acore=0;ecore=0;rcore=0;lgre=0;lgcij=0;
|
params_twbp(int i){gamma=0;gamma_w=0;alpha=0;r_vdw=0;epsilon=0;acore=0;ecore=0;rcore=0;lgre=0;lgcij=0;
|
||||||
r_s=0;r_pi=0;r_pi2=0;p_bo1=0;p_bo2=0;p_bo3=0;p_bo4=0;p_bo5=0;p_bo6=0;ovc=0;v13cor=0;
|
r_s=0;r_pi=0;r_pi2=0;p_bo1=0;p_bo2=0;p_bo3=0;p_bo4=0;p_bo5=0;p_bo6=0;ovc=0;v13cor=0;
|
||||||
p_boc3=0;p_boc4=0;p_boc5=0;p_be1=0,p_be2=0,De_s=0,De_p=0;De_pp=0;
|
p_boc3=0;p_boc4=0;p_boc5=0;p_be1=0,p_be2=0,De_s=0,De_p=0;De_pp=0;
|
||||||
@ -275,19 +274,25 @@ class PairReaxCKokkos : public PairReaxC {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct params_thbp{
|
struct params_thbp{
|
||||||
|
KOKKOS_INLINE_FUNCTION
|
||||||
params_thbp(){cnt=0;theta_00=0;p_val1=0;p_val2=0;p_val4=0;p_val7=0;p_pen1=0;p_coa1=0;};
|
params_thbp(){cnt=0;theta_00=0;p_val1=0;p_val2=0;p_val4=0;p_val7=0;p_pen1=0;p_coa1=0;};
|
||||||
|
KOKKOS_INLINE_FUNCTION
|
||||||
params_thbp(int i){cnt=0;theta_00=0;p_val1=0;p_val2=0;p_val4=0;p_val7=0;p_pen1=0;p_coa1=0;};
|
params_thbp(int i){cnt=0;theta_00=0;p_val1=0;p_val2=0;p_val4=0;p_val7=0;p_pen1=0;p_coa1=0;};
|
||||||
F_FLOAT cnt, theta_00, p_val1, p_val2, p_val4, p_val7, p_pen1, p_coa1;
|
F_FLOAT cnt, theta_00, p_val1, p_val2, p_val4, p_val7, p_pen1, p_coa1;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct params_fbp{
|
struct params_fbp{
|
||||||
|
KOKKOS_INLINE_FUNCTION
|
||||||
params_fbp(){p_tor1=0;p_cot1=0;V1=0;V2=0;V3=0;};
|
params_fbp(){p_tor1=0;p_cot1=0;V1=0;V2=0;V3=0;};
|
||||||
|
KOKKOS_INLINE_FUNCTION
|
||||||
params_fbp(int i){p_tor1=0;p_cot1=0;V1=0;V2=0;V3=0;};
|
params_fbp(int i){p_tor1=0;p_cot1=0;V1=0;V2=0;V3=0;};
|
||||||
F_FLOAT p_tor1, p_cot1, V1, V2, V3;
|
F_FLOAT p_tor1, p_cot1, V1, V2, V3;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct params_hbp{
|
struct params_hbp{
|
||||||
|
KOKKOS_INLINE_FUNCTION
|
||||||
params_hbp(){p_hb1=0;p_hb2=0;p_hb3=0;r0_hb=0;};
|
params_hbp(){p_hb1=0;p_hb2=0;p_hb3=0;r0_hb=0;};
|
||||||
|
KOKKOS_INLINE_FUNCTION
|
||||||
params_hbp(int i){p_hb1=0;p_hb2=0;p_hb3=0;r0_hb=0;};
|
params_hbp(int i){p_hb1=0;p_hb2=0;p_hb3=0;r0_hb=0;};
|
||||||
F_FLOAT p_hb1, p_hb2, p_hb3, r0_hb;
|
F_FLOAT p_hb1, p_hb2, p_hb3, r0_hb;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user