PPL Logo

util/topomanager/CrayNid.c File Reference

Author: Abhinav S Bhatele Date created: October 10th, 2007. More...

Go to the source code of this file.

Functions

CLINKAGE int getXTNodeID (int mpirank, int nummpiranks)
 getXTNodeID returns nodeID corresponding to the MPI rank (possibly obtained from CmiMyNode()/CmiNodeOf(pe)) passed to it
CLINKAGE void getDimension (int *maxnid, int *xdim, int *ydim, int *zdim)
CLINKAGE int getMeshCoord (int nid, int *x, int *y, int *z)
 getMeshCoord wrapper function for rca_get_meshcoord 0: success, -1: failure
CLINKAGE void pidtonid (int numpes)
 pidtonid finds nids for pids 1 to CmiNumPes and stores them in an array correspondingly also creates an array for nids to pids
CLINKAGE void craynid_free (void)
CLINKAGE void craynid_reset (void)
CLINKAGE void craynid_init (void)

Variables

CmiNodeLock cray_lock
CmiNodeLock cray_lock2
intpid2nid = NULL
int maxX = -1
int maxY = -1
int maxZ = -1
int maxNID = -1
rca_mesh_coord_t * rca_coords = NULL


Detailed Description

Author: Abhinav S Bhatele Date created: October 10th, 2007.

This file is needed because including the cnos_mpi_os.h in a C++ leads to a compiler error. Hence we have defined a wrapper function here which can be called from C++ files

Definition in file CrayNid.c.


Function Documentation

CLINKAGE int getXTNodeID ( int  mpirank,
int  nummpiranks 
)

getXTNodeID returns nodeID corresponding to the MPI rank (possibly obtained from CmiMyNode()/CmiNodeOf(pe)) passed to it

This scheme relies on using IP address to identify physical nodes written by Gengbin Zheng 9/2008.

Definition at line 39 of file CrayNid.c.

Referenced by CmiInitCPUAffinity(), and LrtsInitCpuTopo().

Here is the caller graph for this function:

CLINKAGE void getDimension ( int maxnid,
int xdim,
int ydim,
int zdim 
)

Definition at line 143 of file CrayNid.c.

References CmiLock(), CmiUnlock(), cray_lock2, getMeshCoord(), maxNID, maxX, maxY, maxZ, and x.

Referenced by pidtonid(), PUPbytes(), and XTTorusManager::XTTorusManager().

Here is the call graph for this function:

Here is the caller graph for this function:

CLINKAGE int getMeshCoord ( int  nid,
int x,
int y,
int z 
)

getMeshCoord wrapper function for rca_get_meshcoord 0: success, -1: failure

Definition at line 83 of file CrayNid.c.

References CmiAbort(), and rca_coords.

Referenced by getDimension(), and XTTorusManager::XTTorusManager().

Here is the call graph for this function:

Here is the caller graph for this function:

CLINKAGE void pidtonid ( int  numpes  ) 

pidtonid finds nids for pids 1 to CmiNumPes and stores them in an array correspondingly also creates an array for nids to pids

Definition at line 112 of file CrayNid.c.

References CmiLock(), CmiNodeOf(), CmiUnlock(), cray_lock, getDimension(), malloc(), maxNID, maxX, maxY, maxZ, pid2nid, and rca_coords.

Referenced by XTTorusManager::XTTorusManager().

Here is the call graph for this function:

Here is the caller graph for this function:

CLINKAGE void craynid_free ( void   ) 

Definition at line 206 of file CrayNid.c.

References CmiLock(), CmiUnlock(), cray_lock, free(), pid2nid, and rca_coords.

Referenced by craynid_reset(), and TopoManager_init().

Here is the call graph for this function:

Here is the caller graph for this function:

CLINKAGE void craynid_reset ( void   ) 

Definition at line 218 of file CrayNid.c.

References CmiLock(), CmiUnlock(), cray_lock, craynid_free(), maxNID, maxX, maxY, and maxZ.

Referenced by TopoManager_init().

Here is the call graph for this function:

Here is the caller graph for this function:

CLINKAGE void craynid_init ( void   ) 

Definition at line 229 of file CrayNid.c.

References CmiCreateLock(), cray_lock, and cray_lock2.

Referenced by TopoManager_init().

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

Definition at line 33 of file CrayNid.c.

Referenced by craynid_free(), craynid_init(), craynid_reset(), and pidtonid().

Definition at line 33 of file CrayNid.c.

Referenced by craynid_init(), and getDimension().

int* pid2nid = NULL

Definition at line 68 of file CrayNid.c.

Referenced by craynid_free(), pidtonid(), and XTTorusManager::XTTorusManager().

int maxX = -1

Definition at line 69 of file CrayNid.c.

Referenced by craynid_reset(), getDimension(), and pidtonid().

int maxY = -1

Definition at line 70 of file CrayNid.c.

Referenced by craynid_reset(), getDimension(), and pidtonid().

int maxZ = -1

Definition at line 71 of file CrayNid.c.

Referenced by craynid_reset(), getDimension(), and pidtonid().

int maxNID = -1

Definition at line 72 of file CrayNid.c.

Referenced by craynid_reset(), getDimension(), and pidtonid().

rca_mesh_coord_t* rca_coords = NULL

Definition at line 74 of file CrayNid.c.

Referenced by craynid_free(), getMeshCoord(), and pidtonid().


Generated on Mon Sep 21 08:12:19 2020 for Charm++ by  doxygen 1.5.5