Commit 4dc7c4d2 authored by lvs's avatar lvs
Browse files

cleaned smoothing in intraE with Soliswets

parent 187afb5c
......@@ -67,15 +67,9 @@ void gpu_calc_energy(
__constant float* atom_charges_const,
__constant char* atom_types_const,
__constant char* intraE_contributors_const,
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
float dockpars_smooth,
__constant float* reqm,
__constant float* reqm_hbond,
// -------------------------------------------
__constant float* VWpars_AC_const,
__constant float* VWpars_BD_const,
__constant float* dspars_S_const,
......@@ -428,25 +422,9 @@ void gpu_calc_energy(
// Calculating atomic_distance
float atomic_distance = native_sqrt(subx*subx + suby*suby + subz*subz)*dockpars_grid_spacing;
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
/*
if (atomic_distance < 1.0f)
atomic_distance = 1.0f;
*/
// Calculating energy contributions
/*
if ((atomic_distance < 8.0f) && (atomic_distance < 20.48f))
*/
if (atomic_distance < 8.0f)
{
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
// Getting type IDs
uint atom1_typeid = atom_types_const[atom1_id];
uint atom2_typeid = atom_types_const[atom2_id];
......@@ -517,10 +495,8 @@ void gpu_calc_energy(
partial_intraE[get_local_id(0)] -= native_divide(VWpars_BD_const[atom1_typeid * dockpars_num_of_atypes+atom2_typeid],native_powr(smoothed_distance/*atomic_distance*/,6));
#endif
}
// -------------------------------------------
// Calculating electrostatic term
partial_energies[get_local_id(0)] += native_divide (
dockpars_coeff_elec * atom_charges_const[atom1_id] * atom_charges_const[atom2_id],
atomic_distance * (DIEL_A + native_divide(DIEL_B,(1.0f + DIEL_K*native_exp(-DIEL_B_TIMES_H*atomic_distance))))
......
......@@ -44,15 +44,9 @@ gpu_calc_initpop(
__constant float* atom_charges_const,
__constant char* atom_types_const,
__constant char* intraE_contributors_const,
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
float dockpars_smooth,
__constant float* reqm,
__constant float* reqm_hbond,
// -------------------------------------------
__constant float* VWpars_AC_const,
__constant float* VWpars_BD_const,
__constant float* dspars_S_const,
......@@ -130,15 +124,9 @@ gpu_calc_initpop(
atom_charges_const,
atom_types_const,
intraE_contributors_const,
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
dockpars_smooth,
reqm,
reqm_hbond,
// -------------------------------------------
VWpars_AC_const,
VWpars_BD_const,
dspars_S_const,
......
......@@ -55,15 +55,9 @@ perform_LS(
__constant float* atom_charges_const,
__constant char* atom_types_const,
__constant char* intraE_contributors_const,
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
float dockpars_smooth,
__constant float* reqm,
__constant float* reqm_hbond,
// -------------------------------------------
__constant float* VWpars_AC_const,
__constant float* VWpars_BD_const,
__constant float* dspars_S_const,
......@@ -232,15 +226,9 @@ perform_LS(
atom_charges_const,
atom_types_const,
intraE_contributors_const,
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
dockpars_smooth,
reqm,
reqm_hbond,
// -------------------------------------------
VWpars_AC_const,
VWpars_BD_const,
dspars_S_const,
......@@ -346,15 +334,9 @@ perform_LS(
atom_charges_const,
atom_types_const,
intraE_contributors_const,
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
dockpars_smooth,
reqm,
reqm_hbond,
// -------------------------------------------
VWpars_AC_const,
VWpars_BD_const,
dspars_S_const,
......
......@@ -55,15 +55,9 @@ gpu_gen_and_eval_newpops(
__constant float* atom_charges_const,
__constant char* atom_types_const,
__constant char* intraE_contributors_const,
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
float dockpars_smooth,
__constant float* reqm,
__constant float* reqm_hbond,
// -------------------------------------------
__constant float* VWpars_AC_const,
__constant float* VWpars_BD_const,
__constant float* dspars_S_const,
......@@ -282,15 +276,9 @@ gpu_gen_and_eval_newpops(
atom_charges_const,
atom_types_const,
intraE_contributors_const,
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
dockpars_smooth,
reqm,
reqm_hbond,
// -------------------------------------------
VWpars_AC_const,
VWpars_BD_const,
dspars_S_const,
......
......@@ -29,15 +29,9 @@ gradient_minimizer(
__constant float* atom_charges_const,
__constant char* atom_types_const,
__constant char* intraE_contributors_const,
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
float dockpars_smooth,
__constant float* reqm,
__constant float* reqm_hbond,
// -------------------------------------------
__constant float* VWpars_AC_const,
__constant float* VWpars_BD_const,
__constant float* dspars_S_const,
......@@ -497,15 +491,9 @@ gradient_minimizer(
atom_charges_const,
atom_types_const,
intraE_contributors_const,
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
dockpars_smooth,
reqm,
reqm_hbond,
// -------------------------------------------
VWpars_AC_const,
VWpars_BD_const,
dspars_S_const,
......
......@@ -66,13 +66,7 @@ typedef struct
float abs_max_dmov;
float abs_max_dang;
float lsearch_rate;
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
float smooth;
// -------------------------------------------
unsigned int num_of_lsentities;
float rho_lower_bound;
float base_dmov_mul_sqrt3;
......@@ -96,14 +90,8 @@ typedef struct
float atom_charges_const[MAX_NUM_OF_ATOMS];
char atom_types_const [MAX_NUM_OF_ATOMS];
char intraE_contributors_const[3*MAX_INTRAE_CONTRIBUTORS];
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
float reqm_const [ATYPE_NUM];
float reqm_hbond_const [ATYPE_NUM];
// -------------------------------------------
float VWpars_AC_const [MAX_NUM_OF_ATYPES*MAX_NUM_OF_ATYPES];
float VWpars_BD_const [MAX_NUM_OF_ATYPES*MAX_NUM_OF_ATYPES];
float dspars_S_const [MAX_NUM_OF_ATYPES];
......
......@@ -53,13 +53,7 @@ typedef struct
float mutation_rate;
float crossover_rate;
float lsearch_rate;
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
float smooth;
// -------------------------------------------
unsigned long num_of_ls;
char ls_method[128];
float tournament_rate;
......
......@@ -99,14 +99,8 @@ int prepare_const_fields_for_gpu(Liganddata* myligand_reference,
float atom_charges[MAX_NUM_OF_ATOMS];
char atom_types[MAX_NUM_OF_ATOMS];
char intraE_contributors[3*MAX_INTRAE_CONTRIBUTORS];
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
float reqm [ATYPE_NUM];
float reqm_hbond [ATYPE_NUM];
// -------------------------------------------
float VWpars_AC[MAX_NUM_OF_ATYPES*MAX_NUM_OF_ATYPES];
float VWpars_BD[MAX_NUM_OF_ATYPES*MAX_NUM_OF_ATYPES];
float dspars_S[MAX_NUM_OF_ATYPES];
......@@ -192,15 +186,12 @@ int prepare_const_fields_for_gpu(Liganddata* myligand_reference,
}
}
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
// reqm, reqm_hbond: equilibrium internuclear separation for vdW and hbond
for (i= 0; i<ATYPE_NUM/*myligand_reference->num_of_atypes*/; i++) {
reqm[i] = myligand_reference->reqm[i];
reqm_hbond[i] = myligand_reference->reqm_hbond[i];
}
// -------------------------------------------
//van der Waals parameters
for (i=0; i<myligand_reference->num_of_atypes; i++)
......@@ -359,14 +350,8 @@ int prepare_const_fields_for_gpu(Liganddata* myligand_reference,
for (m=0;m<MAX_NUM_OF_ATOMS;m++){ KerConst->atom_charges_const[m] = atom_charges[m]; }
for (m=0;m<MAX_NUM_OF_ATOMS;m++){ KerConst->atom_types_const[m] = atom_types[m]; }
for (m=0;m<3*MAX_INTRAE_CONTRIBUTORS;m++){ KerConst->intraE_contributors_const[m] = intraE_contributors[m]; }
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
for (m=0;m<ATYPE_NUM;m++){ KerConst->reqm_const[m] = reqm[m]; }
for (m=0;m<ATYPE_NUM;m++){ KerConst->reqm_hbond_const[m] = reqm_hbond[m]; }
// -------------------------------------------
for (m=0;m<MAX_NUM_OF_ATYPES*MAX_NUM_OF_ATYPES;m++){ KerConst->VWpars_AC_const[m] = VWpars_AC[m]; }
for (m=0;m<MAX_NUM_OF_ATYPES*MAX_NUM_OF_ATYPES;m++){ KerConst->VWpars_BD_const[m] = VWpars_BD[m]; }
for (m=0;m<MAX_NUM_OF_ATYPES;m++) { KerConst->dspars_S_const[m] = dspars_S[m]; }
......
......@@ -149,13 +149,7 @@ void get_commandpars(const int* argc,
strcpy(mypars->ls_method, "sw"); // "sw": Solis-Wetts,
// "sd": Steepest-Descent",
// "bfgs": Broyden-Fletcher-Goldfarb-Shanno (to be implemented)
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
mypars->smooth = 0.5f;
// -------------------------------------------
mypars->tournament_rate = 60; // 60%
mypars->rho_lower_bound = 0.01; // 0.01
mypars->base_dmov_mul_sqrt3 = 2.0/(*spacing)*sqrt(3.0); // 2 A
......@@ -279,9 +273,7 @@ void get_commandpars(const int* argc,
// MISSING: unsigned long num_of_ls
// ---------------------------------
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
if (strcmp("-smooth", argv [i]) == 0)
{
arg_recognized = 1;
......@@ -293,9 +285,6 @@ void get_commandpars(const int* argc,
else
printf("Warning: value of -smooth argument ignored. Value must be a float between 0 and 0.5.\n");
}
// -------------------------------------------
//Argument: local search method:
// "sw": Solis-Wetts
......
......@@ -281,14 +281,8 @@ filled with clock() */
cl_mem mem_atom_charges_const;
cl_mem mem_atom_types_const;
cl_mem mem_intraE_contributors_const;
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
cl_mem mem_reqm_const;
cl_mem mem_reqm_hbond_const;
// -------------------------------------------
cl_mem mem_VWpars_AC_const;
cl_mem mem_VWpars_BD_const;
cl_mem mem_dspars_S_const;
......@@ -310,14 +304,8 @@ filled with clock() */
mallocBufferObject(context,CL_MEM_READ_ONLY,MAX_NUM_OF_ATOMS*sizeof(float), &mem_atom_charges_const);
mallocBufferObject(context,CL_MEM_READ_ONLY,MAX_NUM_OF_ATOMS*sizeof(char), &mem_atom_types_const);
mallocBufferObject(context,CL_MEM_READ_ONLY,3*MAX_INTRAE_CONTRIBUTORS*sizeof(char), &mem_intraE_contributors_const);
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
mallocBufferObject(context,CL_MEM_READ_ONLY,ATYPE_NUM*sizeof(float),&mem_reqm_const);
mallocBufferObject(context,CL_MEM_READ_ONLY,ATYPE_NUM*sizeof(float),&mem_reqm_hbond_const);
// -------------------------------------------
mallocBufferObject(context,CL_MEM_READ_ONLY,MAX_NUM_OF_ATYPES*MAX_NUM_OF_ATYPES*sizeof(float), &mem_VWpars_AC_const);
mallocBufferObject(context,CL_MEM_READ_ONLY,MAX_NUM_OF_ATYPES*MAX_NUM_OF_ATYPES*sizeof(float), &mem_VWpars_BD_const);
mallocBufferObject(context,CL_MEM_READ_ONLY,MAX_NUM_OF_ATYPES*sizeof(float), &mem_dspars_S_const);
......@@ -336,14 +324,8 @@ filled with clock() */
memcopyBufferObjectToDevice(command_queue,mem_atom_charges_const, &KerConst.atom_charges_const, MAX_NUM_OF_ATOMS*sizeof(float));
memcopyBufferObjectToDevice(command_queue,mem_atom_types_const, &KerConst.atom_types_const, MAX_NUM_OF_ATOMS*sizeof(char));
memcopyBufferObjectToDevice(command_queue,mem_intraE_contributors_const, &KerConst.intraE_contributors_const, 3*MAX_INTRAE_CONTRIBUTORS*sizeof(char));
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
memcopyBufferObjectToDevice(command_queue,mem_reqm_const, &KerConst.reqm_const, ATYPE_NUM*sizeof(float));
memcopyBufferObjectToDevice(command_queue,mem_reqm_hbond_const, &KerConst.reqm_hbond_const, ATYPE_NUM*sizeof(float));
// -------------------------------------------
memcopyBufferObjectToDevice(command_queue,mem_VWpars_AC_const, &KerConst.VWpars_AC_const, MAX_NUM_OF_ATYPES*MAX_NUM_OF_ATYPES*sizeof(float));
memcopyBufferObjectToDevice(command_queue,mem_VWpars_BD_const, &KerConst.VWpars_BD_const, MAX_NUM_OF_ATYPES*MAX_NUM_OF_ATYPES*sizeof(float));
memcopyBufferObjectToDevice(command_queue,mem_dspars_S_const, &KerConst.dspars_S_const, MAX_NUM_OF_ATYPES*sizeof(float));
......@@ -421,15 +403,7 @@ filled with clock() */
dockpars.cons_limit = (unsigned int) mypars->cons_limit;
dockpars.max_num_of_iters = (unsigned int) mypars->max_num_of_iters;
dockpars.qasp = mypars->qasp;
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
//float smooth = 0.5f;
dockpars.smooth = mypars->smooth;
//printf("dockpars.smooth: %f\n", dockpars.smooth);
// -------------------------------------------
unsigned int g2 = dockpars.gridsize_x * dockpars.gridsize_y;
unsigned int g3 = dockpars.gridsize_x * dockpars.gridsize_y * dockpars.gridsize_z;
......@@ -552,15 +526,9 @@ filled with clock() */
setKernelArg(kernel1,18,sizeof(mem_atom_charges_const), &mem_atom_charges_const);
setKernelArg(kernel1,19,sizeof(mem_atom_types_const), &mem_atom_types_const);
setKernelArg(kernel1,20,sizeof(mem_intraE_contributors_const), &mem_intraE_contributors_const);
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
setKernelArg(kernel1,21,sizeof(dockpars.smooth), &dockpars.smooth);
setKernelArg(kernel1,22,sizeof(mem_reqm_const), &mem_reqm_const);
setKernelArg(kernel1,23,sizeof(mem_reqm_hbond_const), &mem_reqm_hbond_const);
// -------------------------------------------
setKernelArg(kernel1,24/*21*/,sizeof(mem_VWpars_AC_const), &mem_VWpars_AC_const);
setKernelArg(kernel1,25/*22*/,sizeof(mem_VWpars_BD_const), &mem_VWpars_BD_const);
setKernelArg(kernel1,26/*23*/,sizeof(mem_dspars_S_const), &mem_dspars_S_const);
......@@ -622,15 +590,9 @@ filled with clock() */
setKernelArg(kernel4,27,sizeof(mem_atom_charges_const), &mem_atom_charges_const);
setKernelArg(kernel4,28,sizeof(mem_atom_types_const), &mem_atom_types_const);
setKernelArg(kernel4,29,sizeof(mem_intraE_contributors_const), &mem_intraE_contributors_const);
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
setKernelArg(kernel4,30,sizeof(dockpars.smooth), &dockpars.smooth);
setKernelArg(kernel4,31,sizeof(mem_reqm_const), &mem_reqm_const);
setKernelArg(kernel4,32,sizeof(mem_reqm_hbond_const), &mem_reqm_hbond_const);
// -------------------------------------------
setKernelArg(kernel4,33/*30*/,sizeof(mem_VWpars_AC_const), &mem_VWpars_AC_const);
setKernelArg(kernel4,34/*31*/,sizeof(mem_VWpars_BD_const), &mem_VWpars_BD_const);
setKernelArg(kernel4,35/*32*/,sizeof(mem_dspars_S_const), &mem_dspars_S_const);
......@@ -685,15 +647,9 @@ if (strcmp(mypars->ls_method, "sw") == 0) {
setKernelArg(kernel3,27,sizeof(mem_atom_charges_const), &mem_atom_charges_const);
setKernelArg(kernel3,28,sizeof(mem_atom_types_const), &mem_atom_types_const);
setKernelArg(kernel3,29,sizeof(mem_intraE_contributors_const), &mem_intraE_contributors_const);
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
setKernelArg(kernel3,30,sizeof(dockpars.smooth), &dockpars.smooth);
setKernelArg(kernel3,31,sizeof(mem_reqm_const), &mem_reqm_const);
setKernelArg(kernel3,32,sizeof(mem_reqm_hbond_const), &mem_reqm_hbond_const);
// -------------------------------------------
setKernelArg(kernel3,33/*30*/,sizeof(mem_VWpars_AC_const), &mem_VWpars_AC_const);
setKernelArg(kernel3,34/*31*/,sizeof(mem_VWpars_BD_const), &mem_VWpars_BD_const);
setKernelArg(kernel3,35/*32*/,sizeof(mem_dspars_S_const), &mem_dspars_S_const);
......@@ -742,15 +698,9 @@ if (strcmp(mypars->ls_method, "sw") == 0) {
setKernelArg(kernel5,22,sizeof(mem_atom_charges_const), &mem_atom_charges_const);
setKernelArg(kernel5,23,sizeof(mem_atom_types_const), &mem_atom_types_const);
setKernelArg(kernel5,24,sizeof(mem_intraE_contributors_const), &mem_intraE_contributors_const);
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
setKernelArg(kernel5,25,sizeof(dockpars.smooth), &dockpars.smooth);
setKernelArg(kernel5,26,sizeof(mem_reqm_const), &mem_reqm_const);
setKernelArg(kernel5,27,sizeof(mem_reqm_hbond_const), &mem_reqm_hbond_const);
// -------------------------------------------
setKernelArg(kernel5,28/*25*/,sizeof(mem_VWpars_AC_const), &mem_VWpars_AC_const);
setKernelArg(kernel5,29/*26*/,sizeof(mem_VWpars_BD_const), &mem_VWpars_BD_const);
setKernelArg(kernel5,30/*27*/,sizeof(mem_dspars_S_const), &mem_dspars_S_const);
......@@ -1072,14 +1022,8 @@ if (strcmp(mypars->ls_method, "sw") == 0) {
clReleaseMemObject(mem_atom_charges_const);
clReleaseMemObject(mem_atom_types_const);
clReleaseMemObject(mem_intraE_contributors_const);
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
clReleaseMemObject(mem_reqm_const);
clReleaseMemObject(mem_reqm_hbond_const);
// -------------------------------------------
clReleaseMemObject(mem_VWpars_AC_const);
clReleaseMemObject(mem_VWpars_BD_const);
clReleaseMemObject(mem_dspars_S_const);
......
......@@ -585,14 +585,10 @@ int get_VWpars(Liganddata* myligand, const double AD4_coeff_vdW, const double AD
}
}
// -------------------------------------------
// Smoothed pairwise potentials
// -------------------------------------------
for (atom_typeid1 = 0; atom_typeid1 < ATYPE_NUM/*myligand->num_of_atypes*/; atom_typeid1++) {
myligand->reqm[atom_typeid1] = reqm[atom_typeid1];
myligand->reqm_hbond[atom_typeid1] = reqm_hbond[atom_typeid1];
}
// -------------------------------------------
for (atom_typeid1 = 0; atom_typeid1 < myligand->num_of_atypes; atom_typeid1++)
{
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment