NAMD
Classes | Macros | Functions | Variables
NamdHybridLB.C File Reference
#include <unistd.h>
#include <fcntl.h>
#include "InfoStream.h"
#include "NamdHybridLB.h"
#include "Node.h"
#include "PatchMap.h"
#include "ComputeMap.h"
#include "LdbCoordinator.h"
#include "NamdHybridLB.def.h"

Go to the source code of this file.

Classes

class  SplitComputesMsg
 

Macros

#define IF_NEW_NODE
 

Functions

int isPmeProcessor (int)
 
void CreateNamdHybridLB ()
 

Variables

double * cpuloads
 

Macro Definition Documentation

#define IF_NEW_NODE
Value:
int j; \
for ( j=0; j<nProxyNodes && neighborNodes[j] != proxyNode; ++j ); \
if ( j == nProxyNodes )
if(ComputeNonbondedUtil::goMethod==2)
for(int i=0;i< n1;++i)

Function Documentation

void CreateNamdHybridLB ( )

Creates the chare array for the hybrid load balancer.

Definition at line 49 of file NamdHybridLB.C.

References cpuloads.

Referenced by LdbCoordinator::createLoadBalancer().

49  {
50  int seqno = LdbInfra::Object()->getLoadbalancerTicket();
51  CProxy_NamdHybridLB::ckNew(CkLBOptions(seqno));
52 
53  // creating an array to store the loads of all processors
54  // to be used with proxy spanning tree
55  if (CkMyPe() == 0 && cpuloads == NULL) {
56  cpuloads = new double[CkNumPes()];
57  CmiAssert(cpuloads != NULL);
58  for (int i=0; i<CkNumPes(); i++) cpuloads[i] = 0.0;
59  }
60 }
double * cpuloads
Definition: NamdCentLB.C:24
int isPmeProcessor ( int  )

Definition at line 604 of file ComputePme.C.

References Node::Object(), pencilPMEProcessors, Node::simParameters, simParams, and SimParameters::usePMECUDA.

604  {
606  if (simParams->usePMECUDA) {
607  return 0;
608  } else {
609  return pencilPMEProcessors[p];
610  }
611 }
static Node * Object()
Definition: Node.h:86
SimParameters * simParameters
Definition: Node.h:178
#define simParams
Definition: Output.C:127
char * pencilPMEProcessors
Definition: ComputePme.C:113

Variable Documentation

double* cpuloads

Definition at line 24 of file NamdCentLB.C.