Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

BackEnd Class Reference

#include <BackEnd.h>

List of all members.

Static Public Member Functions

void init (int argc, char **argv)
void exit (void)
void suspend (void)
void awaken (void)
void barrier (void)
void ExitSchedOn (int pe)


Detailed Description

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

Definition at line 12 of file BackEnd.h.


Member Function Documentation

void BackEnd::awaken void   )  [static]
 

Definition at line 234 of file BackEnd.C.

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

Referenced by Controller::algorithm(), barrier(), and Controller::terminate().

00234                          {
00235   Node::Object()->enableExitScheduler();
00236 }

void BackEnd::barrier void   )  [static]
 

Definition at line 239 of file BackEnd.C.

References awaken(), and suspend().

00239                           {
00240   awaken();
00241   suspend();
00242 }

void BackEnd::exit void   )  [static]
 

Definition at line 216 of file BackEnd.C.

References ExitSchedOn(), and memusage_MB().

Referenced by after_backend_init(), Node::earlyExit(), and colvarproxy_namd::exit().

00216                        {
00217   float cpuTime = CmiCpuTimer() - cpuTime_start;
00218   float wallTime = CmiWallTimer() - wallTime_start;
00219   CmiPrintf("====================================================\n\n"
00220             "WallClock: %f  CPUTime: %f  Memory: %f MB\n",
00221             wallTime, cpuTime, memusage_MB());
00222   int i;
00223   for(i=1; i < CmiNumPes(); i++)
00224     ExitSchedOn(i);
00225   ConverseExit();
00226 }

void BackEnd::ExitSchedOn int  pe  )  [static]
 

Definition at line 61 of file BackEnd.C.

Referenced by exit().

00062 {
00063   void* msg = CmiAlloc(CmiMsgHeaderSizeBytes);
00064   CmiSetHandler(msg,CkpvAccess(exitSchedHndlr));
00065   CmiSyncSendAndFree(pe,CmiMsgHeaderSizeBytes,(char *)msg);
00066 }

void BackEnd::init int  argc,
char **  argv
[static]
 

Definition at line 182 of file BackEnd.C.

References gNAMDBinaryName, master_init(), NAMD_die(), and slave_init().

Referenced by main().

00182                                         {
00183 
00184   gNAMDBinaryName = argv[0]+strlen(argv[0])-1;
00185   while(gNAMDBinaryName != argv[0]){
00186     if(*gNAMDBinaryName=='/' || *gNAMDBinaryName=='\\'){
00187       gNAMDBinaryName++;
00188       break;
00189     }
00190     gNAMDBinaryName--;
00191   }
00192 
00193 #ifdef NAMD_CUDA
00194   // look for but don't remove +idlepoll on command line
00195   int idlepoll = 0;
00196   for ( int i = 0; i < argc; ++i ) {
00197     if ( 0==strcmp(argv[i],"+idlepoll") ) {
00198       idlepoll = 1;
00199       break;
00200     }
00201   }
00202 #endif
00203 
00204   ConverseInit(argc, argv, slave_init, 1, 1);  // calls slave_init on others
00205 
00206 #if defined(NAMD_CUDA) && CMK_NET_VERSION
00207   if ( ! idlepoll ) {
00208     NAMD_die("Please add +idlepoll to command line for proper performance.");
00209   }
00210 #endif
00211 
00212   master_init(argc, argv);
00213 }

void BackEnd::suspend void   )  [static]
 

Definition at line 229 of file BackEnd.C.

Referenced by barrier().

00229                           {
00230   CsdScheduler(-1);
00231 }


The documentation for this class was generated from the following files:
Generated on Sun Feb 12 04:08:00 2012 for NAMD by  doxygen 1.3.9.1