Cashmere: Global Variables and Constants
The following constants are always valid and available for
structure definition.
- CSM_MAX_NODES
- Maximum number of nodes in any Cashmere cluster.
- CSM_MAX_CPUS
- Maximum number of processors in any node.
- CSM_MAX_PROCS
- Maximum number of processors in any cluster.
Global variables are guaranteed to have valid values only after
csm_init_start has been called.
- csm_num_pid
- Number of compute processes executing.
- csm_num_nid
- Number of nodes executing compute processes.
- csm_num_cid
- Number of CPUs executing compute processes on the process' node.
- csm_pid
- Process' process identifier. Values of csm_pid are contiguous
running from 0 to csm_num_pid-1. The only exception is that protocol
processors have csm_pid ranging from CSM_MAX_PROCS to
CSM_MAX_PROCS+csm_num_nid-1.
- csm_nid
- Process' node identifier. Ranges from 0 to csm_num_nid-1.
- csm_cid
- Process' CPU identifier. Ranges from 0 to
csm_num_cid-1. Protocol processors have a csm_cid of csm_num_cid.
- csm_num_locks
- Number of locks available to the application. Lock identifiers range from 0 to csm_num_locks-1.
- csm_num_barriers
- Number of barriers available to the application.
- csm_num_flags
- Number of flags available to the application.
- csm_num_shared_memory
- Number of bytes of shared memory available to the application.
- csm_num_shared_pages
- Number of pages of shared memory available to the application.