19 #define MIN_DEBUG_LEVEL 4
25 int minPartition,
int maxPartition,
int numPartitions)
27 minPart(minPartition), maxPart(maxPartition), numParts(numPartitions)
52 knl_fast_grad_table, knl_fast_ener_table,
53 knl_scor_grad_table, knl_scor_ener_table,
54 avx_tiles_eps4_sigma, avx_tiles_eps4_sigma_14,
57 knl_slow_ener_table, knl_excl_grad_table,
58 knl_excl_ener_table, avxTilesMode);
77 #if defined(NAMD_CUDA) || defined(NAMD_HIP)
114 #if !(defined(NAMD_CUDA) || defined(NAMD_HIP))
154 #if !(defined(NAMD_CUDA) || defined(NAMD_HIP))
167 doForceTiles(p, pExt, r);
184 #ifdef TRACE_COMPUTE_OBJECTS
185 double traceObjStartTime = CmiWallTimer();
188 DebugM(2,
"doForce() called.\n");
205 sprintf(estr,
"patch has %d atoms, maximum allowed is %d",
numAtoms,maxa);
216 CompAtomFlt *pFlt =
patch->getCompAtomFlt();
224 DebugM(4,
"opening velocity box\n");
230 #if !(defined(NAMD_CUDA) || defined(NAMD_HIP))
231 params.
ff[0] = r->
f[Results::nbond_virial];
232 params.
ff[1] = r->
f[Results::nbond_virial];
238 #if NAMD_SeparateWaters != 0
239 params.numWaterAtoms[0] = numWaterAtoms;
240 params.numWaterAtoms[1] = numWaterAtoms;
286 #if !(defined(NAMD_CUDA) || defined(NAMD_HIP))
314 DebugM(4,
"closing velocity box\n");
396 #ifdef TRACE_COMPUTE_OBJECTS
414 #ifdef TRACE_COMPUTE_OBJECTS
415 double traceObjStartTime = CmiWallTimer();
418 DebugM(2,
"doForceTiles() called.\n");
428 sprintf(estr,
"patch has %d atoms, maximum allowed is %d",
numAtoms,maxa);
455 Vector offset(0., 0., 0.);
458 tileLists.nbForceAVX512(doEnergy, doVirial, doFull, doList);
493 #ifdef TRACE_COMPUTE_OBJECTS
Box< Patch, GBReal > * registerDEdaSumDeposit(Compute *cid)
static int pressureProfileSlabs
Box< Patch, CompAtom > * avgPositionBox
Box< Patch, CompAtom > * registerAvgPositionPickup(Compute *cid)
void unregisterAvgPositionPickup(Compute *cid, Box< Patch, CompAtom > **const box)
BigReal solvent_dielectric
static void submitReductionData(BigReal *, SubmitReduction *)
#define TRACE_COMPOBJ_IDOFFSET
void unregisterPsiSumDeposit(Compute *cid, Box< Patch, GBReal > **const box)
static void(* calcSelf)(nonbonded *)
ComputeNonbondedWorkArrays *const workArrays
Box< Patch, Real > * dHdrPrefixBox
void calcGBIS(nonbonded *params, GBISParamStruct *gbisParams)
SimParameters * simParameters
Box< Patch, Results > * forceBox
GBISParamStruct gbisParams
void unregisterDHdrPrefixPickup(Compute *cid, Box< Patch, Real > **const box)
static void submitPressureProfileData(BigReal *, SubmitReduction *)
static BigReal pressureProfileThickness
SubmitReduction * willSubmit(int setID, int size=-1)
Box< Patch, Real > * registerBornRadPickup(Compute *cid)
int get_table_dim() const
if(ComputeNonbondedUtil::goMethod==2)
static ReductionMgr * Object(void)
Box< Patch, GBReal > * dEdaSumBox
static int pressureProfileAtomTypes
SimParameters * simParameters
BigReal coulomb_radius_offset
virtual void atomUpdate()
void register_cuda_compute_self(ComputeID c, PatchID pid)
BigReal pairlistTolerance
__global__ void const int const TileList *__restrict__ tileLists
Box< Patch, GBReal > * registerPsiSumDeposit(Compute *cid)
virtual ~ComputeNonbondedSelf()
static void(* calcMergeSelfEnergy)(nonbonded *)
const TableEntry * table_val(unsigned int i, unsigned int j) const
Pairlists * gbisStepPairlists[4]
static BigReal pressureProfileMin
SubmitReduction * pressureProfileReduction
Box< Patch, Real > * registerIntRadPickup(Compute *cid)
void skipWork(const LDObjHandle &handle)
SubmitReduction * reduction
static Bool pressureProfileOn
ComputeNonbondedSelf(ComputeID c, PatchID pid, ComputeNonbondedWorkArrays *_workArrays, int minPartition=0, int maxPartition=1, int numPartitions=1)
static void(* calcFullSelf)(nonbonded *)
void NAMD_die(const char *err_msg)
static LdbCoordinator * Object()
static void(* calcSlowSelf)(nonbonded *)
void unregisterBornRadPickup(Compute *cid, Box< Patch, Real > **const box)
static void(* calcSlowSelfEnergy)(nonbonded *)
Box< Patch, Real > * bornRadBox
Box< Patch, GBReal > * psiSumBox
static void(* calcSelfEnergy)(nonbonded *)
virtual void doForce(CompAtom *p, CompAtomExt *pExt, Results *r)
Box< Patch, Real > * intRadBox
BigReal * pressureProfileData
virtual void initialize()
Box< Patch, CompAtom > * positionBox
void unregisterIntRadPickup(Compute *cid, Box< Patch, Real > **const box)
Box< Patch, Real > * registerDHdrPrefixPickup(Compute *cid)
static const LJTable * ljTable
Box< Patch, CompAtom > * velocityBox
BigReal pairlistTolerance
void unregisterVelocityPickup(Compute *cid, Box< Patch, CompAtom > **const box)
Pairlists gbisStepPairlists[numGBISPairlists]
BigReal * pressureProfileReduction
static const int numGBISPairlists
void unregisterDEdaSumDeposit(Compute *cid, Box< Patch, GBReal > **const box)
BigReal reductionData[reductionDataSize]
Box< Patch, CompAtom > * registerVelocityPickup(Compute *cid)
void close(Data **const t)
ComputeNonbondedWorkArrays * workArrays
static void(* calcMergeSelf)(nonbonded *)
static void(* calcFullSelfEnergy)(nonbonded *)
virtual void initialize()