/*
* Function - abnormal terminate whole the MPC run-time. No buffer or
* process cleanup assumed.
* Invoked by - any node, including the disptcher.
* Parameters - error code.
* Exceptions - none
*/
int [*]MPC_Abort( repl errcode );
/*
* Function - terminate the MPC run-time.
* Invoked by - every process at the end of the work.
* It is point of global syncronization.
* Parameters - exit code for a shell.
* Exceptions -
*/
int [*]MPC_Exit( repl exitcode );
/*
* Function - prints from any node, using dispatcher print service
* Invoked by - any node
* Parameters -
*/
int MPC_Printf( const char *format, ... );
/*
* Function - returns floating-point number of seconds, representing elapsed
* wall-clock time since some time in the past.
* Invoked by - any node
* Parameters - none
*/
double MPC_Wtime(void);
/*
* Function - returns number of nodes in computational space
(maximum number of processes of a parallel program)
* Invoked by - any node
* Parameters - none
* Exceptions - none
*/
repl int MPC_Total_nodes(void);
void MPC_Refresh_landscape(void);
nettype SimpleNet(n) { coord I=n; };
int [net SimpleNet(n) w] MPC_Assign( repl const *source,
void *s_buffer,
int const s_step,
repl const count,
repl const *destination,
void *d_buffer,
int const d_step);
int [net SimpleNet(n) w] MPC_Bcast( repl const *source,
void *s_buffer,
int const s_step,
repl const count,
void *d_buffer,
int const d_step);
int [net SimpleNet(n) w] MPC_Scatter( repl const *source,
void *s_buffer,
int const *disps,
int const *lens,
const count,
void *d_buffer);
int [net SimpleNet(n) w] MPC_Gather( repl const *source,
void *d_buffer,
int const *disps,
int const *lens,
const count,
void *s_buffer);
int [net SimpleNet(n) w] MPC_Barrier(void);
int [*]MPC_Global_barrier(void);
/*
* Function - returns number of phisical processors and their performances.
*/
int [*]MPC_Processors_static_info( repl int *num_of_processors,
repl double **performances );
#define MPC_Processors MPC_Processors_static_info
/*
* Function - returns number of phisical processors.
*/
repl int MPC_Get_number_of_processors(void);
/*
* Function - returns performances of phisical processors in
* integer array imap (if imap!=NULL) and/or double
* array dmap (if dmap!=NULL).
*/
void [*]MPC_Get_processors_info( repl int *imap,
repl double *dmap );