11 #ifndef COMPUTENONBONDEDUTIL_H 12 #define COMPUTENONBONDEDUTIL_H 23 void register_mic_compute_self(
ComputeID c,
PatchID pid,
int part,
int numParts);
24 void register_mic_compute_pair(
ComputeID c,
PatchID pid[],
int t[],
int part,
int numParts);
28 typedef unsigned short plint;
41 int reqnewsize = curpos + max_size + 1;
46 CmiMemcpy(newdata,data,curpos*
sizeof(
plint));
51 return &data[curpos+1];
56 return &data[curpos+1];
60 data[curpos] = list_size;
61 curpos += list_size + 1;
65 *list = &data[curpos+1];
66 curpos += ( *list_size = data[curpos] ) + 1;
78 return data[curpos++];
83 #define NBWORKARRAYSINIT(ARRAYS) \ 84 ComputeNonbondedWorkArrays* const computeNonbondedWorkArrays = ARRAYS; 86 #ifdef __INTEL_COMPILER 87 #define NBWORKARRAY(TYPE,NAME,SIZE) \ 88 computeNonbondedWorkArrays->NAME.resize(SIZE); \ 89 TYPE * const NAME = computeNonbondedWorkArrays->NAME.begin(); \ 90 __assume_aligned(NAME,64); 92 #define NBWORKARRAY(TYPE,NAME,SIZE) \ 93 computeNonbondedWorkArrays->NAME.resize(SIZE); \ 94 TYPE * const NAME = computeNonbondedWorkArrays->NAME.begin(); 117 #if NAMD_ComputeNonbonded_SortAtoms != 0 191 CompAtomFlt *pFlt[2];
207 #if NAMD_SeparateWaters != 0 208 int numWaterAtoms[2];
235 #if NAMD_ComputeNonbonded_SortAtoms != 0 309 #if defined(NAMD_MIC) 310 static BigReal *mic_table_base_ptr;
311 static int mic_table_n;
312 static int mic_table_n_16;
320 static int avxTilesMode;
322 static float *avx_tiles_eps4_sigma;
323 static float *avx_tiles_eps4_sigma_14;
326 #if defined(NAMD_KNL) || defined(NAMD_AVXTILES) 332 #define KNL_TABLE_SIZE (4693+2) 333 #define KNL_TABLE_MAX_R_1 1.15f 334 #define KNL_TABLE_FACTOR (4080+2) 335 static float *knl_table_alloc;
336 static float *knl_fast_ener_table;
337 static float *knl_fast_grad_table;
338 static float *knl_scor_ener_table;
339 static float *knl_scor_grad_table;
340 static float *knl_slow_ener_table;
341 static float *knl_slow_grad_table;
342 static float *knl_excl_ener_table;
343 static float *knl_excl_grad_table;
345 static float *knl_corr_ener_table;
346 static float *knl_corr_grad_table;
413 #define VDW_SWITCH_MODE_ENERGY 0 414 #define VDW_SWITCH_MODE_MARTINI 1 415 #define VDW_SWITCH_MODE_FORCE 2
ResizeArray< plint > pairlistmA3
ResizeArray< BigReal > p_0_sortValues
static void calc_pair_fullelect_pprof(nonbonded *)
static BigReal * fast_table
static int pressureProfileSlabs
static void calc_pair_energy_merge_fullelect_tabener(nonbonded *)
static void calc_self_energy_go(nonbonded *)
static void calc_self_energy_merge_fullelect_ti(nonbonded *)
static BigReal * scor_table
static void calc_pair_les(nonbonded *)
static void calc_self_energy_slow_fullelect_fep(nonbonded *)
static void calc_pair_merge_fullelect(nonbonded *)
static void calc_self_energy_merge_fullelect_int(nonbonded *)
static void calc_self_energy_slow_fullelect(nonbonded *)
ResizeArray< SortEntry > atomSort_0_sortValues__
static void calc_self_energy_merge_fullelect_tabener(nonbonded *)
static void calc_self_energy_slow_fullelect_ti(nonbonded *)
static void calc_self_energy_fullelect_int(nonbonded *)
static void submitReductionData(BigReal *, SubmitReduction *)
static void calc_self_ti(nonbonded *)
static void calc_self_fullelect_pprof(nonbonded *)
static void calc_self_tabener(nonbonded *)
static void calc_self_energy_fullelect(nonbonded *)
static void calc_pair_slow_fullelect_ti(nonbonded *)
static void(* calcSelf)(nonbonded *)
static BigReal dielectric_1
static void calc_pair_merge_fullelect_tabener(nonbonded *)
static BigReal square(const BigReal &x, const BigReal &y, const BigReal &z)
ResizeArray< plint > pairlistnA3
ResizeArray< int > pairlist
static void calc_self_les(nonbonded *)
void calcGBIS(nonbonded *params, GBISParamStruct *gbisParams)
static void calc_pair_merge_fullelect_go(nonbonded *)
static void calc_pair_slow_fullelect_pprof(nonbonded *)
static void calc_pair_energy_merge_fullelect(nonbonded *)
static const Molecule * mol
static void calc_pair_energy_fullelect_fep(nonbonded *)
static void calc_self_energy_fullelect_pprof(nonbonded *)
static void calc_self_energy_fullelect_les(nonbonded *)
static void calc_self_energy_fullelect_ti(nonbonded *)
static void calc_self_fullelect(nonbonded *)
static void calc_self_energy_ti(nonbonded *)
static BigReal * vdwa_table
static void calc_self_energy_int(nonbonded *)
static void submitPressureProfileData(BigReal *, SubmitReduction *)
static BigReal pressureProfileThickness
static void calc_pair_slow_fullelect(nonbonded *)
static void calc_pair(nonbonded *)
static BigReal r2_delta_1
static void calc_self_go(nonbonded *)
static void(* calcMergePair)(nonbonded *)
static void calc_pair_energy_tabener(nonbonded *)
static void calc_self_slow_fullelect_pprof(nonbonded *)
static void calc_pair_energy_slow_fullelect_go(nonbonded *)
static void calc_self_energy_merge_fullelect_fep(nonbonded *)
ResizeArray< plint > pairlistxA2
static int pressureProfileAtomTypes
static Bool alchThermIntOn
static void(* calcMergePairEnergy)(nonbonded *)
static BigReal lesScaling
static void calc_pair_energy_go(nonbonded *)
static void calc_pair_merge_fullelect_ti(nonbonded *)
SimParameters * simParameters
Molecule stores the structural information for the system.
static BigReal * full_table
static void calc_pair_merge_fullelect_les(nonbonded *)
ResizeArray< plint > pairlistnA1
static void calc_pair_slow_fullelect_go(nonbonded *)
static int vdw_switch_mode
static void calc_pair_energy_merge_fullelect_fep(nonbonded *)
static BigReal * r2_table
static void(* calcSlowPairEnergy)(nonbonded *)
ResizeArray< plint > pairlistm
ResizeArray< plint > pairlistnA0
ResizeArray< plint > pairlistxA1
static void(* calcPair)(nonbonded *)
static void(* calcSlowPair)(nonbonded *)
ResizeArray< BigReal > r2list
static void calc_pair_energy_fullelect_go(nonbonded *)
ResizeArray< plint > pairlistxA4
static void calc_pair_energy_slow_fullelect_tabener(nonbonded *)
void nextlist(plint **list, int *list_size)
static void calc_self_slow_fullelect(nonbonded *)
static void calc_self_energy_les(nonbonded *)
static void calc_pair_energy_fep(nonbonded *)
static void(* calcMergeSelfEnergy)(nonbonded *)
static void calc_pair_tabener(nonbonded *)
static Bool pairInteractionSelf
ResizeArray< plint > pairlistxA3
static void calc_pair_energy_pprof(nonbonded *)
static BigReal * table_noshort
Pairlists * gbisStepPairlists[4]
static void calc_self_energy_slow_fullelect_tabener(nonbonded *)
static void calc_self_energy_fullelect_tabener(nonbonded *)
static void calc_pair_energy_int(nonbonded *)
static BigReal pressureProfileMin
ResizeArray< plint > pairlistmA2
static void calc_self_slow_fullelect_tabener(nonbonded *)
static void calc_pair_energy_slow_fullelect_les(nonbonded *)
static void calc_pair_energy_ti(nonbonded *)
static void calc_pair_energy_slow_fullelect_fep(nonbonded *)
static void calc_self_slow_fullelect_ti(nonbonded *)
static void calc_pair_slow_fullelect_les(nonbonded *)
ResizeArray< plint > pairlistx
static void calc_pair_fullelect_ti(nonbonded *)
static void calc_pair_energy(nonbonded *)
static BigReal * table_ener
static void calc_pair_pprof(nonbonded *)
static void calc_pair_energy_fullelect_ti(nonbonded *)
static void calc_self_energy_merge_fullelect_les(nonbonded *)
static void calc_self_slow_fullelect_go(nonbonded *)
static void calc_pair_energy_merge_fullelect_go(nonbonded *)
static Bool pressureProfileOn
static void calc_error(nonbonded *)
ResizeArray< plint > pairlistnAlch
static void calc_self_energy_fullelect_go(nonbonded *)
static void calc_self_fullelect_tabener(nonbonded *)
static void(* calcFullSelf)(nonbonded *)
ResizeArray< plint > pairlistnA2
ResizeArray< int > fixglist
static void calc_self_merge_fullelect_ti(nonbonded *)
static void(* calcSlowSelf)(nonbonded *)
static void calc_self_fullelect_les(nonbonded *)
static void calc_self_merge_fullelect_go(nonbonded *)
static BigReal switchOn_1
static Bool vdwForceSwitching
static void calc_self_energy_merge_fullelect_go(nonbonded *)
static void calc_self_energy_merge_fullelect(nonbonded *)
static void calc_pair_energy_fullelect_int(nonbonded *)
static void calc_pair_energy_merge_fullelect_pprof(nonbonded *)
static BigReal * lambda_table
static void calc_self_energy_fep(nonbonded *)
static BigReal pi_ewaldcof
static void(* calcSlowSelfEnergy)(nonbonded *)
ResizeArray< SortEntry > atomSort_1_sortValues__
static void calc_pair_energy_slow_fullelect_pprof(nonbonded *)
static BigReal * slow_table
static void(* calcSelfEnergy)(nonbonded *)
static void(* calcPairEnergy)(nonbonded *)
static void calc_pair_fullelect_les(nonbonded *)
static void calc_pair_energy_les(nonbonded *)
ResizeArray< plint > pairlistmA1
static void calc_self_merge_fullelect(nonbonded *)
static void calc_self_energy_tabener(nonbonded *)
static void calc_pair_energy_merge_fullelect_int(nonbonded *)
static void calc_self_energy_slow_fullelect_pprof(nonbonded *)
static void calc_self_energy_pprof(nonbonded *)
static Bool pairInteractionOn
ResizeArray< int > grouplist
ResizeArray< plint > pairlistnA4
ResizeArray< int > pairlist2
static void calc_pair_energy_fullelect_pprof(nonbonded *)
static void calc_pair_fullelect_go(nonbonded *)
static void calc_pair_energy_slow_fullelect(nonbonded *)
static void calc_pair_energy_fullelect_les(nonbonded *)
static BigReal * vdwb_table
static void calc_pair_energy_fullelect_tabener(nonbonded *)
static void(* calcFullPair)(nonbonded *)
static void calc_pair_merge_fullelect_pprof(nonbonded *)
static const LJTable * ljTable
static void calc_self_energy_merge_fullelect_pprof(nonbonded *)
ResizeArray< Force > fullf_0
ResizeArray< plint > pairlistmA4
static void(* calcFullPairEnergy)(nonbonded *)
void newsize(int list_size)
static BigReal * corr_table
static BigReal * table_short
void setIndexValue(plint i)
static void calc_self(nonbonded *)
static void calc_self_fullelect_ti(nonbonded *)
ResizeArray< int > pairlisti
static void calc_pair_fullelect_tabener(nonbonded *)
static void calc_pair_energy_merge_fullelect_ti(nonbonded *)
static BigReal * table_alloc
static void calc_self_energy_fullelect_fep(nonbonded *)
ResizeArray< char > excl_flags_buff
static void calc_self_merge_fullelect_tabener(nonbonded *)
static BigReal alchVdwShiftCoeff
static void calc_pair_go(nonbonded *)
BigReal * pressureProfileReduction
plint * newlist(int max_size)
static void calc_pair_ti(nonbonded *)
static void calc_self_energy(nonbonded *)
static void calc_self_fullelect_go(nonbonded *)
ResizeArray< int > goodglist
static void calc_pair_energy_merge_fullelect_les(nonbonded *)
static void calc_self_pprof(nonbonded *)
static void calc_self_merge_fullelect_les(nonbonded *)
static void calc_pair_slow_fullelect_tabener(nonbonded *)
static void calc_pair_energy_fullelect(nonbonded *)
static void calc_self_merge_fullelect_pprof(nonbonded *)
static void calc_self_energy_slow_fullelect_go(nonbonded *)
static void calc_pair_energy_slow_fullelect_ti(nonbonded *)
ComputeNonbondedWorkArrays * workArrays
static void(* calcMergeSelf)(nonbonded *)
static void calc_self_energy_slow_fullelect_les(nonbonded *)
static void(* calcFullSelfEnergy)(nonbonded *)
static void calc_pair_fullelect(nonbonded *)
static void calc_self_slow_fullelect_les(nonbonded *)