Ccm_init must be called before any other routines from the API. If there is another communication package in use, such as MPI, then the initialization routine for that package needs to be called first. Ccm_init must be called by every process once and only once. It is a fatal error to call ccm_init a second time.
|
[ccm_home:~/ccm/source] % ccm_init_x1
hello at 13:59:39.411
hello at 13:59:39.414
hello at 13:59:39.416
hello at 13:59:39.417
[ccm_home:~/ccm/source] %
The call to ccm_init initializes the communication package. Each task gets and prints the time. The call to ccm_close closes the communication package. |
|
[ccm_home:~/ccm/source] % ccm_init_x1
Collective Communications Module
MPI reference implementation
real size = 4
complex size = 4
double size = 8
integer size = 4
character size = 1
logical size = 4
myint size = 4 integer(default) size = 4
myreal size = 4 real(b4) size = 4
mydouble size = 8 real(b8) size = 8
mycomplex size = 8 complex(c4) size = 8
mydpcomp size = 16 complex(c8) size = 16
from 0 of 4 hello at 13:59:41.458
from 2 of 4 hello at 13:59:41.453
from 1 of 4 hello at 13:59:41.454
from 3 of 4 hello at 13:59:41.466
[ccm_home:~/ccm/source] %
The call to ccm_init initializes the communication package with "info" set to true. This causes task 0 to print information about the CCM implementation. Numprocs contains the total number of tasks and my_id contains a unique id for each task, 0 to numprocs-1. The program prints these values along with the time. The call to ccm_close closes the communication package. |