NAMD
Classes | Macros | Functions | Variables
Node.C File Reference
#include <unistd.h>
#include "InfoStream.h"
#include "Node.decl.h"
#include "Node.h"
#include "ProcessorPrivate.h"
#include "Debug.h"
#include <stdio.h>
#include <converse.h>
#include "memusage.h"
#include "IMDOutput.h"
#include "Lattice.h"
#include "ComputeMsmMsa.h"
#include "ComputeMsm.h"
#include "main.decl.h"
#include "main.h"
#include "WorkDistrib.h"
#include "PatchMgr.h"
#include "Patch.h"
#include "Compute.h"
#include "ComputeMap.h"
#include "ComputeMgr.h"
#include "Molecule.h"
#include "HomePatchList.h"
#include "AtomMap.h"
#include "Sequencer.h"
#include "Controller.h"
#include "NamdState.h"
#include "Output.h"
#include "ProxyMgr.h"
#include "PatchMap.h"
#include "PatchMap.inl"
#include "Parameters.h"
#include "SimParameters.h"
#include "Communicate.h"
#include "LdbCoordinator.h"
#include "ScriptTcl.h"
#include "ComputeMgr.decl.h"
#include "ComputePmeMgr.decl.h"
#include "ComputeCUDAMgr.decl.h"
#include "ComputeCUDAMgr.h"
#include "ComputePmeCUDAMgr.decl.h"
#include "ComputePmeCUDAMgr.h"
#include "ComputeGridForceMgr.decl.h"
#include "Sync.h"
#include "BackEnd.h"
#include "PDB.h"
#include "packmsg.h"
#include "CollectionMgr.decl.h"
#include "ParallelIOMgr.decl.h"
#include "Vector.h"
#include "Random.h"
#include "PatchData.h"
#include "DeviceCUDA.h"
#include "NamdEventsProfiling.h"
#include "DumpBench.h"
#include "CollectionMgr.h"
#include "CollectionMaster.h"
#include "CollectionMaster.decl.h"
#include "Node.def.h"

Go to the source code of this file.

Classes

class  CheckpointMsg
 

Macros

#define MIN_DEBUG_LEVEL   3
 

Functions

void recvCheckpointCReq_handler (envelope *)
 
void recvCheckpointCAck_handler (envelope *)
 
void registerUserEventsForAllComputeObjs (void)
 

Variables

__thread DeviceCUDAdeviceCUDA
 
int eventEndOfTimeStep
 
double startupTime
 
SimParametersnode_simParameters
 
Parametersnode_parameters
 
Moleculenode_molecule
 
char * gNAMDBinaryName
 

Macro Definition Documentation

◆ MIN_DEBUG_LEVEL

#define MIN_DEBUG_LEVEL   3

Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000 by The Board of Trustees of the University of Illinois. All rights reserved.

Definition at line 24 of file Node.C.

Function Documentation

◆ recvCheckpointCAck_handler()

void recvCheckpointCAck_handler ( envelope *  env)

Definition at line 1359 of file Node.C.

References Node::Object(), and Node::recvCheckpointAck().

Referenced by Node::Node().

1359  {
1360  Node::Object()->recvCheckpointAck(CheckpointMsg::unpack(EnvToUsr(env)));
1361  }
static Node * Object()
Definition: Node.h:86
void recvCheckpointAck(CheckpointMsg *)
Definition: Node.C:1365

◆ recvCheckpointCReq_handler()

void recvCheckpointCReq_handler ( envelope *  env)

Definition at line 1337 of file Node.C.

References Node::Object(), and Node::recvCheckpointReq().

Referenced by Node::Node().

1337  {
1338  Node::Object()->recvCheckpointReq(CheckpointMsg::unpack(EnvToUsr(env)));
1339  }
static Node * Object()
Definition: Node.h:86
void recvCheckpointReq(CheckpointMsg *)
Definition: Node.C:1343

◆ registerUserEventsForAllComputeObjs()

void registerUserEventsForAllComputeObjs ( void  )

Definition at line 794 of file ComputeMgr.C.

References computeAnglesType, computeAnisoType, computeBondsType, computeConsForceType, computeConsTorqueType, computeCrosstermsType, computeCylindricalBCType, computeDihedralsType, computeEFieldType, computeEwaldType, computeExclsType, computeExtType, computeFullDirectType, computeGlobalType, computeGridForceType, computeImpropersType, computeLCPOType, computeNonbondedPairType, computeNonbondedSelfType, computePmeCUDAType, computePmeType, computeQMType, computeRestraintsType, computeSelfAnglesType, computeSelfAnisoType, computeSelfBondsType, computeSelfCrosstermsType, computeSelfDihedralsType, computeSelfExclsType, computeSelfImpropersType, computeSelfTholeType, computeSphericalBCType, computeStirType, computeTclBCType, computeTholeType, PatchMap::gridsize_a(), PatchMap::gridsize_b(), PatchMap::gridsize_c(), PatchMap::index_a(), PatchMap::index_b(), PatchMap::index_c(), NAMD_bug(), ComputeMap::numComputes(), PatchMap::Object(), ComputeMap::Object(), Lattice::offset_a(), Lattice::offset_b(), Lattice::offset_c(), ComputeMap::pid(), TRACE_COMPOBJ_IDOFFSET, ComputeMap::trans(), and ComputeMap::type().

Referenced by Node::startup().

795 {
796 #ifdef TRACE_COMPUTE_OBJECTS
798  PatchMap *pmap = PatchMap::Object();
799  char user_des[50];
800  int p1, p2;
801  int adim, bdim, cdim;
802  int t1, t2;
803  int x1, y1, z1, x2, y2, z2;
804  int dx, dy, dz;
805  for (int i=0; i<map->numComputes(); i++)
806  {
807  memset(user_des, 0, 50);
808  switch ( map->type(i) )
809  {
811  sprintf(user_des, "computeNonBondedSelfType_%d_pid_%d", i, map->pid(i,0));
812  break;
813  case computeLCPOType:
814  sprintf(user_des, "computeLCPOType_%d_pid_%d", i, map->pid(i,0));
815  break;
817  adim = pmap->gridsize_a();
818  bdim = pmap->gridsize_b();
819  cdim = pmap->gridsize_c();
820  p1 = map->pid(i, 0);
821  t1 = map->trans(i, 0);
822  x1 = pmap->index_a(p1) + adim * Lattice::offset_a(t1);
823  y1 = pmap->index_b(p1) + bdim * Lattice::offset_b(t1);
824  z1 = pmap->index_c(p1) + cdim * Lattice::offset_c(t1);
825  p2 = map->pid(i, 1);
826  t2 = map->trans(i, 1);
827  x2 = pmap->index_a(p2) + adim * Lattice::offset_a(t2);
828  y2 = pmap->index_b(p2) + bdim * Lattice::offset_b(t2);
829  z2 = pmap->index_c(p2) + cdim * Lattice::offset_c(t2);
830  dx = abs(x1-x2);
831  dy = abs(y1-y2);
832  dz = abs(z1-z2);
833  sprintf(user_des, "computeNonBondedPairType_%d(%d,%d,%d)", i, dx,dy,dz);
834  break;
835 #if defined(NAMD_CUDA) || defined(NAMD_HIP)
836 #ifdef BONDED_CUDA
837  case computeBondedCUDAType:
838  sprintf(user_des, "computeBondedCUDAType_%d", i);
839  break;
840 #endif
841 #endif
842  case computeExclsType:
843  sprintf(user_des, "computeExclsType_%d", i);
844  break;
845  case computeBondsType:
846  sprintf(user_des, "computeBondsType_%d", i);
847  break;
848  case computeAnglesType:
849  sprintf(user_des, "computeAnglesType_%d", i);
850  break;
852  sprintf(user_des, "computeDihedralsType_%d", i);
853  break;
855  sprintf(user_des, "computeImpropersType_%d", i);
856  break;
857  case computeTholeType:
858  sprintf(user_des, "computeTholeType_%d", i);
859  break;
860  case computeAnisoType:
861  sprintf(user_des, "computeAnisoType_%d", i);
862  break;
864  sprintf(user_des, "computeCrosstermsType_%d", i);
865  break;
867  sprintf(user_des, "computeSelfExclsType_%d", i);
868  break;
870  sprintf(user_des, "computeSelfBondsType_%d", i);
871  break;
873  sprintf(user_des, "computeSelfAnglesType_%d", i);
874  break;
876  sprintf(user_des, "computeSelfDihedralsType_%d", i);
877  break;
879  sprintf(user_des, "computeSelfImpropersType_%d", i);
880  break;
882  sprintf(user_des, "computeSelfTholeType_%d", i);
883  break;
885  sprintf(user_des, "computeSelfAnisoType_%d", i);
886  break;
888  sprintf(user_des, "computeSelfCrosstermsType_%d", i);
889  break;
890 #ifdef DPMTA
891  case computeDPMTAType:
892  sprintf(user_des, "computeDPMTAType_%d", i);
893  break;
894 #endif
895 #ifdef DPME
896  case computeDPMEType:
897  sprintf(user_des, "computeDPMEType_%d", i);
898  break;
899 #endif
900  case computePmeType:
901  sprintf(user_des, "computePMEType_%d", i);
902  break;
903 #if defined(NAMD_CUDA) || defined(NAMD_HIP)
904  case computePmeCUDAType:
905  sprintf(user_des, "computePMECUDAType_%d", i);
906  break;
907 #endif
908  case computeEwaldType:
909  sprintf(user_des, "computeEwaldType_%d", i);
910  break;
912  sprintf(user_des, "computeFullDirectType_%d", i);
913  break;
914  case computeGlobalType:
915  sprintf(user_des, "computeGlobalType_%d", i);
916  break;
917  case computeStirType:
918  sprintf(user_des, "computeStirType_%d", i);
919  break;
920  case computeExtType:
921  sprintf(user_des, "computeExtType_%d", i);
922  break;
923  case computeQMType:
924  sprintf(user_des, "computeQMType_%d", i);
925  break;
926  case computeEFieldType:
927  sprintf(user_des, "computeEFieldType_%d", i);
928  break;
929  /* BEGIN gf */
931  sprintf(user_des, "computeGridForceType_%d", i);
932  break;
933  /* END gf */
935  sprintf(user_des, "computeSphericalBCType_%d", i);
936  break;
938  sprintf(user_des, "computeCylindricalBCType_%d", i);
939  break;
940  case computeTclBCType:
941  sprintf(user_des, "computeTclBCType_%d", i);
942  break;
944  sprintf(user_des, "computeRestraintsType_%d", i);
945  break;
947  sprintf(user_des, "computeConsForceType_%d", i);
948  break;
950  sprintf(user_des, "computeConsTorqueType_%d", i);
951  break;
952  default:
953  NAMD_bug("Unknown compute type in ComputeMgr::registerUserEventForAllComputeObjs().");
954  break;
955  }
956  int user_des_len = strlen(user_des);
957  char *user_des_cst = new char[user_des_len+1];
958  memcpy(user_des_cst, user_des, user_des_len);
959  user_des_cst[user_des_len] = 0;
960  //Since the argument in traceRegisterUserEvent is supposed
961  //to be a const string which will not be copied inside the
962  //function when a new user event is created, user_des_cst
963  //has to be allocated in heap.
964  int reEvenId = traceRegisterUserEvent(user_des_cst, TRACE_COMPOBJ_IDOFFSET+i);
965  //printf("Register user event (%s) with id (%d)\n", user_des, reEvenId);
966  }
967 #else
968  return;
969 #endif
970 }
int numComputes(void)
Definition: ComputeMap.h:101
#define TRACE_COMPOBJ_IDOFFSET
Definition: Compute.h:77
static PatchMap * Object()
Definition: PatchMap.h:27
int index_a(int pid) const
Definition: PatchMap.h:86
int gridsize_c(void) const
Definition: PatchMap.h:66
int gridsize_a(void) const
Definition: PatchMap.h:64
static NAMD_HOST_DEVICE int offset_b(int i)
Definition: Lattice.h:264
void NAMD_bug(const char *err_msg)
Definition: common.C:195
static NAMD_HOST_DEVICE int offset_c(int i)
Definition: Lattice.h:265
ComputeType type(ComputeID cid)
Definition: ComputeMap.C:118
int index_b(int pid) const
Definition: PatchMap.h:87
int index_c(int pid) const
Definition: PatchMap.h:88
static NAMD_HOST_DEVICE int offset_a(int i)
Definition: Lattice.h:263
static ComputeMap * Object()
Definition: ComputeMap.h:89
int gridsize_b(void) const
Definition: PatchMap.h:65
int pid(ComputeID cid, int i)
Definition: ComputeMap.C:107
int trans(ComputeID cid, int i)
Definition: ComputeMap.C:112

Variable Documentation

◆ deviceCUDA

__thread DeviceCUDA* deviceCUDA

Definition at line 23 of file DeviceCUDA.C.

◆ eventEndOfTimeStep

int eventEndOfTimeStep

Definition at line 293 of file Node.C.

Referenced by Controller::integrate(), Sequencer::integrate(), and Node::Node().

◆ gNAMDBinaryName

char* gNAMDBinaryName

Definition at line 240 of file BackEnd.C.

Referenced by BackEnd::init(), and Node::outputPatchComputeMaps().

◆ node_molecule

Molecule* node_molecule

Definition at line 433 of file Node.C.

Referenced by Node::resendMolecule(), Node::resendMolecule2(), and Node::startup().

◆ node_parameters

Parameters* node_parameters

Definition at line 432 of file Node.C.

Referenced by Node::resendMolecule(), Node::resendMolecule2(), and Node::startup().

◆ node_simParameters

SimParameters* node_simParameters

Definition at line 431 of file Node.C.

Referenced by Node::startup().

◆ startupTime

double startupTime

Definition at line 294 of file Node.C.

Referenced by Node::run(), and Node::startup().