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.

[API] [TOC]