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 224 of file BackEnd.C.

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

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

00224                          {
00225   Node::Object()->enableExitScheduler();
00226 }

void BackEnd::barrier void   )  [static]
 

Definition at line 229 of file BackEnd.C.

References awaken(), and suspend().

00229                           {
00230   awaken();
00231   suspend();
00232 }

void BackEnd::exit void   )  [static]
 

Definition at line 206 of file BackEnd.C.

References ExitSchedOn(), and memusage_MB().

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

00206                        {
00207   float cpuTime = CmiCpuTimer() - cpuTime_start;
00208   float wallTime = CmiWallTimer() - wallTime_start;
00209   CmiPrintf("====================================================\n\n"
00210             "WallClock: %f  CPUTime: %f  Memory: %f MB\n",
00211             wallTime, cpuTime, memusage_MB());
00212   int i;
00213   for(i=1; i < CmiNumPes(); i++)
00214     ExitSchedOn(i);
00215   ConverseExit();
00216 }

void BackEnd::ExitSchedOn int  pe  )  [static]
 

Definition at line 58 of file BackEnd.C.

Referenced by exit().

00059 {
00060   void* msg = CmiAlloc(CmiMsgHeaderSizeBytes);
00061   CmiSetHandler(msg,CkpvAccess(exitSchedHndlr));
00062   CmiSyncSendAndFree(pe,CmiMsgHeaderSizeBytes,(char *)msg);
00063 }

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

Definition at line 181 of file BackEnd.C.

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

Referenced by main().

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

void BackEnd::suspend void   )  [static]
 

Definition at line 219 of file BackEnd.C.

Referenced by barrier().

00219                           {
00220   CsdScheduler(-1);
00221 }


The documentation for this class was generated from the following files:
Generated on Mon Nov 23 04:59:31 2009 for NAMD by  doxygen 1.3.9.1