4 	   1427 void BRDCST_(type, buf, lenbuf, originator) 	   1428      long *type;  	   1429      char *buf; 	   1430      long *lenbuf;  	   1431      long *originator;  	   1432 /* J 	   1433   broadcast buffer to all other processes from process originatorB 	   1434   ... all processes call this routine specifying the same 	   1435   orginating process.	 	   1436  J 	   1437   Optimized for communicating clusters of processes ... broadcastG 	   1438   amoung cluster masters, and then amoung slaves in a cluster.  	   1439 */ w =======================================================================================================================  	    120 void evon_() w =======================================================================================================================  	    127 void evoff_()w ======================================================================================================================= " 	    149 void evbgin_(string, len) 	    150   char *string; 	    151   int   len; w ======================================================================================================================= ! 	    181 void evend_(string, len)  	    182   char *string; 	    183   int   len; ! 	    213 void event_(string, len)  	    214   char *string; 	    215   int   len; w ======================================================================================================================= (             213 void event_(string, len)             214   char *string;              215   int   len;w =======================================================================================================================             407 long MDTOB_(n)              408      long *n; w =======================================================================================================================              407 long MITOB_(n)             408      long *n; w =======================================================================================================================             1273 long MTIME_()             1274 /*8            1275   return wall clock time in centisecondsw =======================================================================================================================              553 long NNODES_()             554 /*w =======================================================================================================================              553 long NODEID_()             554 /*)             555   return logical node no. w ======================================================================================================================= #            2675 long NXTVAL_(mproc) !            2676      long *mproc;             2677 /*3            2678   Get next value of shared counter.             2679 7            2680   mproc > 0 ... returns requested value S            2681   mproc < 0 ... server blocks until abs(mproc) processes are queued 0            2682                 and returns junkP            2683   mproc = 0 ... indicates to server that I am about to terminate            2684 N            2685   this needs to be extended so that clusters of processes withR            2686   shared memory collectively get a bunch of values from the serverB            2687   thus reducing the overhead of calling nextvalue.            2688 */w ======================================================================================================================= *               1         subroutine pbeginfw ======================================================================================================================= 8            4404 void SND_(type, buf, lenbuf, node, sync)             4405      long *type;            4406      char *buf; "            4407      long *lenbuf;             4408      long *node;             4409      long *sync;            4410 /*)            4411   mostly syncrhonous send             4412 L            4413   long *type     = user defined integer message type (input)5            4414   char *buf     = data buffer (input) D            4415   long *lenbuf   = length of buffer in bytes (input):            4416   long *node     = node to send to (input)A            4417   long *sync    = flag for sync/async ... IGNORED             4418 B            4419   for zero length messages only the header is sent            4420 */w ======================================================================================================================= O           4805 void RCV_(type, buf, lenbuf, lenmes, nodeselect, nodefrom, sync)              4806      long *type;            4807      char *buf; "            4808      long *lenbuf;"            4809      long *lenmes;&            4810      long *nodeselect;$            4811      long *nodefrom;             4812      long *sync;            4813 /*S            4814   long *type        = user defined type of received message (input) 9            4815   char *buf        = data buffer (output) G            4816   long *lenbuf      = length of buffer in bytes (input) R            4817   long *lenmes      = length of received message in bytes (output)M            4818                      (exceeding receive buffer is hard error) B            4819   long *nodeselect  = node to receive from (input)X            4820                      -1 implies that any pending message may be received            4821 L            4822   long *nodefrom    = node message is received from (output)V            4823   long *sync        = 0 for asynchronous, 1 for synchronous (NOT USED)            4824 */w =======================================================================================================================  void PARERR_(code)    long *code; /*+   Interface from fortran to c error routine  */w =======================================================================================================================  void PEND_() /*.   Call this to tidy up after parallel section.=   The cluster master is responsible for tidying up any shared :   memory/semaphore resources. Everyone else can just quit.  >   Woops ... everyone should return so that FORTRAN can tidy up   after itself.  */w =======================================================================================================================  void SETDBG_(value)      long *value; /*1   set global debug flag for this process to value  */w ======================================================================================================================= 
 void STATS_()  /*2   Print out communication statistics for this node */w ======================================================================================================================= 