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);
59 tileLists.atomUpdate(
patch->getTiles(),
patch->getTiles());
110 #if !(defined(NAMD_CUDA) || defined(NAMD_HIP)) 150 #if !(defined(NAMD_CUDA) || defined(NAMD_HIP)) 180 #ifdef TRACE_COMPUTE_OBJECTS 181 double traceObjStartTime = CmiWallTimer();
184 DebugM(2,
"doForce() called.\n");
201 sprintf(estr,
"patch has %d atoms, maximum allowed is %d",
numAtoms,maxa);
212 CompAtomFlt *pFlt =
patch->getCompAtomFlt();
220 DebugM(4,
"opening velocity box\n");
226 #if !(defined(NAMD_CUDA) || defined(NAMD_HIP)) 234 #if NAMD_SeparateWaters != 0 235 params.numWaterAtoms[0] = numWaterAtoms;
236 params.numWaterAtoms[1] = numWaterAtoms;
282 #if !(defined(NAMD_CUDA) || defined(NAMD_HIP)) 310 DebugM(4,
"closing velocity box\n");
392 #ifdef TRACE_COMPUTE_OBJECTS 410 #ifdef TRACE_COMPUTE_OBJECTS 411 double traceObjStartTime = CmiWallTimer();
414 DebugM(2,
"doForceTiles() called.\n");
424 sprintf(estr,
"patch has %d atoms, maximum allowed is %d",
numAtoms,maxa);
451 Vector offset(0., 0., 0.);
452 tileLists.updateParams(lattice, offset,
cutoff);
454 tileLists.nbForceAVX512(doEnergy, doVirial, doFull, doList);
474 reductionData[fullElectVirialIndex_XX] = tileLists.virialSlowXX();
475 reductionData[fullElectVirialIndex_XY] = tileLists.virialSlowXY();
476 reductionData[fullElectVirialIndex_XZ] = tileLists.virialSlowXZ();
477 reductionData[fullElectVirialIndex_YX] = tileLists.virialSlowXY();
478 reductionData[fullElectVirialIndex_YY] = tileLists.virialSlowYY();
479 reductionData[fullElectVirialIndex_YZ] = tileLists.virialSlowYZ();
480 reductionData[fullElectVirialIndex_ZX] = tileLists.virialSlowXZ();
481 reductionData[fullElectVirialIndex_ZY] = tileLists.virialSlowYZ();
482 reductionData[fullElectVirialIndex_ZZ] = tileLists.virialSlowZZ();
489 #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)
NAMD_HOST_DEVICE Vector c() const
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)
static ReductionMgr * Object(void)
Box< Patch, GBReal > * dEdaSumBox
static int pressureProfileAtomTypes
SimParameters * simParameters
virtual void atomUpdate()
BigReal pairlistTolerance
Box< Patch, GBReal > * registerPsiSumDeposit(Compute *cid)
virtual ~ComputeNonbondedSelf()
static void(* calcMergeSelfEnergy)(nonbonded *)
Pairlists * gbisStepPairlists[4]
static BigReal pressureProfileMin
SubmitReduction * pressureProfileReduction
Box< Patch, Real > * registerIntRadPickup(Compute *cid)
void skipWork(const LDObjHandle &handle)
int get_table_dim() const
SubmitReduction * reduction
static Bool pressureProfileOn
const TableEntry * table_val(unsigned int i, unsigned int j) const
PatchID getPatchID() const
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
NAMD_HOST_DEVICE Vector origin() const
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()