Parallel Communication

Functions

int pcr_init_parallel (int *argc, char **argv, char *Work_dir, char *interactive_output_name, FILE **interactive_output_p, int *Nr_pr, int *My_id)
int pcr_print_master ()
int pcr_send_buffer_open (int Message_id, int Buffer_size)
int pcr_buffer_pack_int (const int Message_id, const int Buffer_id, const int Nr_num, const int *Numbers)
int pcr_buffer_pack_double (const int Message_id, const int Buffer_id, const int Nr_num, const double *Numbers)
int pcr_buffer_pack_char (const int Message_id, const int Buffer_id, const int Nr_num, const char *Numbers)
int pcr_buffer_send (int Message_id, int Buffer_id, int Dest_proc)
 pcr_buffer_send
int pcr_buffer_bcast (int Message_id, int Buffer_id, int Sender_proc)
int pcr_buffer_receive (int Message_id, int Sender_proc, int Buffer_size)
 Version with support for out-of-order message recieving.
int pcr_buffer_unpack_int (int Message_id, int Buffer_id, int Nr_num, int *Numbers)
int pcr_buffer_unpack_double (int Message_id, int Buffer_id, int Nr_num, double *Numbers)
int pcr_buffer_unpack_char (int Message_id, int Buffer_id, int Nr_num, char *Numbers)
int pcr_recv_buffer_close (int Message_id, int Buffer_id)
int pcr_send_int (const int Dest_proc_id, const int Message_id, const int Nr_num, const int *Numbers)
int pcr_send_double (const int Dest_proc_id, const int Message_id, const int Nr_num, const double *Numbers)
int pcr_receive_int (int Sender_proc_id, int Message_id, int Nr_num, int *Numbers)
int pcr_receive_double (int Sender_proc_id, int Message_id, int Nr_num, double *Numbers)
int pcr_bcast_double (int Sender_proc_id, int Nr_num, double *Numbers)
 *---------------------------------------------------------
int pcr_bcast_int (int Sender_proc_id, int Nr_num, int *Numbers)
int pcr_bcast_char (int Sender_proc_id, int Nr_num, char *Numbers)
int pcr_allreduce_sum_int (const int Nr_num, const int *Numbers, int *Numbers_reduced)
int pcr_allreduce_sum_double (const int Nr_num, const double *Numbers, double *Numbers_reduced)
int pcr_allreduce_max_int (const int Nr_num, const int *Numbers, int *Numbers_reduced)
int pcr_allreduce_max_double (int Nr_num, double *Numbers, double *Numbers_reduced)
int pcr_exit_parallel (void)
int pcr_barrier (void)
int pcr_is_parallel_initialized (void)
int pcr_is_this_master (void)
int pcr_my_proc_id (void)
int pcr_nr_proc (void)
int pcr_allgather_int (const int send_values[], const int n_send_values, int gathered_values[], int n_gathered_values)
int pcr_send_bytes (const int Dest_proc_id, const int Message_id, const int Nr_bytes, const uint8_t *Bytes)
int pcr_receive_bytes (int Sender_proc_id, int Message_id, int Nr_bytes, uint8_t *Bytes)
int pcr_buffer_source_id (int Buffer)

Variables

const int PCC_ANY_PROC
const int PCC_USE_CURRENT_BUFFER
const int PCC_MASTER_PROC_ID
const int PCC_OK
const int PCC_DEFAULT_BUFFER_SIZE
const int PCC_DEFAULT_COMM
const int PCC_NEIGH_GROUP
int pcv_nr_proc
int pcv_my_proc_id

Function Documentation

int pcr_allgather_int ( const int  send_values[],
const int  n_send_values,
int  gathered_values[],
int  n_gathered_values 
)

Here is the call graph for this function:

Here is the caller graph for this function:

int pcr_allreduce_max_double ( int  Nr_num,
double *  Numbers,
double *  Numbers_reduced 
)

-------------------------------------------------------- pcr_allreduce_max_double - to reduce by maxing and broadcast an array of doubles ---------------------------------------------------------

Parameters:
Numbers in: number of values to reduce
Numbers_reduced in: array of numbers to max in: array of maxed numbers

Here is the call graph for this function:

Here is the caller graph for this function:

int pcr_allreduce_max_int ( const int  Nr_num,
const int *  Numbers,
int *  Numbers_reduced 
)

-------------------------------------------------------- pcr_allreduce_max_int - to reduce by maxing and broadcast an array of integers ---------------------------------------------------------

Parameters:
Numbers in: number of values to reduce
Numbers_reduced in: array of numbers to max in: array of maxed numbers

Here is the call graph for this function:

Here is the caller graph for this function:

int pcr_allreduce_sum_double ( const int  Nr_num,
const double *  Numbers,
double *  Numbers_reduced 
)

-------------------------------------------------------- pcr_allreduce_sum_double - to reduce by summing and broadcast an array of doubles ---------------------------------------------------------

Parameters:
Numbers in: number of values to reduce
Numbers_reduced in: array of numbers to sum in: array of summed numbers

Here is the call graph for this function:

Here is the caller graph for this function:

int pcr_allreduce_sum_int ( const int  Nr_num,
const int *  Numbers,
int *  Numbers_reduced 
)

-------------------------------------------------------- pcr_allreduce_sum_int - to reduce by summing and broadcast an array of integers ---------------------------------------------------------

Parameters:
Numbers in: number of values to reduce
Numbers_reduced in: array of numbers to sum in: array of summed numbers

Here is the call graph for this function:

Here is the caller graph for this function:

int pcr_barrier ( void   ) 

Here is the call graph for this function:

Here is the caller graph for this function:

int pcr_bcast_char ( int  Sender_proc_id,
int  Nr_num,
char *  Numbers 
)

------------------------------------------------------- pcr_bcast_char - to broadcast an array of charegers ---------------------------------------------------------

Parameters:
Sender_proc_id returns: >=0 - success code, <0 - error code
Nr_num in : source processor ID
Numbers in: number of values to pack to the buffer in: array of numbers to pack

Here is the call graph for this function:

Here is the caller graph for this function:

int pcr_bcast_double ( int  Sender_proc_id,
int  Nr_num,
double *  Numbers 
)

*---------------------------------------------------------

-------------------------------------------------------- pcr_bcast_double - to broadcast an array of doubles ---------------------------------------------------------

Parameters:
Nr_num in : source processor ID
Numbers in: number of values to pack to the buffer in: array of numbers to pack

Here is the call graph for this function:

Here is the caller graph for this function:

int pcr_bcast_int ( int  Sender_proc_id,
int  Nr_num,
int *  Numbers 
)

-------------------------------------------------------- pcr_bcast_int - to broadcast an array of integers ---------------------------------------------------------

Parameters:
Nr_num in : source processor ID
Numbers in: number of values to pack to the buffer in: array of numbers to pack

Here is the call graph for this function:

Here is the caller graph for this function:

int pcr_buffer_bcast ( int  Message_id,
int  Buffer_id,
int  Sender_proc 
)

------------------------------------------------------- pcr_buffer_bcast - to broadcast a buffer between all proces ---------------------------------------------------------

Version without out-of-order message recieving. ---------------------------------------------------------

Parameters:
Message_id returns: >=0 - success code, <0 - error code
Buffer_id in: message ID
Sender_proc in: buffer ID in: sender processor ID

Here is the call graph for this function:

Here is the caller graph for this function:

int pcr_buffer_pack_char ( const int  Message_id,
const int  Buffer_id,
const int  Nr_num,
const char *  Numbers 
)

-------------------------------------------------------- pcr_buffer_pack_char - to pack an array of chars to a buffer ---------------------------------------------------------

Parameters:
Message_id returns: >=0 - success code, <0 - error code
Buffer_id in: message ID
Nr_num in: message ID
Numbers in: number of values to pack to the buffer in: array of numbers to pack

Here is the call graph for this function:

Here is the caller graph for this function:

int pcr_buffer_pack_double ( const int  Message_id,
const int  Buffer_id,
const int  Nr_num,
const double *  Numbers 
)

-------------------------------------------------------- pcr_buffer_pack_double - to pack an array of doubles to a buffer ---------------------------------------------------------

Parameters:
Message_id returns: >=0 - success code, <0 - error code
Buffer_id in: message ID
Nr_num in: message ID
Numbers in: number of values to pack to the buffer in: array of numbers to pack

Here is the call graph for this function:

Here is the caller graph for this function:

int pcr_buffer_pack_int ( const int  Message_id,
const int  Buffer_id,
const int  Nr_num,
const int *  Numbers 
)

-------------------------------------------------------- pcr_buffer_pack_int - to pack an array of integers to a buffer ---------------------------------------------------------

Parameters:
Message_id returns: >=0 - success code, <0 - error code
Buffer_id in: message ID
Nr_num in: buffer ID
Numbers in: number of values to pack to the buffer in: array of numbers to pack

Here is the call graph for this function:

Here is the caller graph for this function:

int pcr_buffer_receive ( int  Message_id,
int  Sender_proc,
int  Buffer_size 
)

Version with support for out-of-order message recieving.

-------------------------------------------------------- pcr_buffer_receive - to receive a buffer from a particular processor ---------------------------------------------------------

Parameters:
Message_id returns: >= 0 - Buffer_id, <0 - error code
Sender_proc in: id of the message containing the data
Buffer_size in : sender processor ID (or PCC_ANY_PROC) in: message buffer size (0 for DEFAULT_BUFFER_SIZE)

Here is the call graph for this function:

Here is the caller graph for this function:

int pcr_buffer_send ( int  Message_id,
int  Buffer_id,
int  Dest_proc 
)

pcr_buffer_send

-------------------------------------------------------- pcr_buffer_send - to send a buffer to destination processor ---------------------------------------------------------

Parameters:
Message_id 
Buffer_id 
Dest_proc 
Returns:

A quick overview of MPI's send modes

Parameters:
Message_id returns: >=0 - success code, <0 - error code
Buffer_id in: message ID
Dest_proc in: buffer ID in : destination processor ID

Here is the call graph for this function:

Here is the caller graph for this function:

int pcr_buffer_source_id ( int  Buffer  ) 

-------------------------------------------------------- pcr_buffer_source - to get the source of message in buffer ---------------------------------------------------------

Here is the caller graph for this function:

int pcr_buffer_unpack_char ( int  Message_id,
int  Buffer_id,
int  Nr_num,
char *  Numbers 
)

-------------------------------------------------------- pcr_buffer_unpack_char - to unpack an array of integers from a buffer ---------------------------------------------------------

Parameters:
Message_id returns: >=0 - success code, <0 - error code
Buffer_id in: message ID
Nr_num in: buffer ID
Numbers in: number of values to unpack from the buffer in: array of numbers to unpack

Here is the call graph for this function:

Here is the caller graph for this function:

int pcr_buffer_unpack_double ( int  Message_id,
int  Buffer_id,
int  Nr_num,
double *  Numbers 
)

-------------------------------------------------------- pcr_buffer_unpack_double - to unpack an array of integers from a buffer ---------------------------------------------------------

Parameters:
Message_id returns: >=0 - success code, <0 - error code
Buffer_id in: message ID
Nr_num in: buffer ID
Numbers in: number of values to unpack from the buffer in: array of numbers to unpack

Here is the call graph for this function:

Here is the caller graph for this function:

int pcr_buffer_unpack_int ( int  Message_id,
int  Buffer_id,
int  Nr_num,
int *  Numbers 
)

-------------------------------------------------------- pcr_buffer_unpack_int - to unpack an array of integers from a buffer ---------------------------------------------------------

Parameters:
Message_id returns: >=0 - success code, <0 - error code
Buffer_id in: message ID
Nr_num in: buffer ID
Numbers in: number of values to pack to the buffer in: array of numbers to pack

Here is the call graph for this function:

Here is the caller graph for this function:

int pcr_exit_parallel ( void   ) 

-------------------------------------------------------- pcr_exit_parallel - to exit parallel communication library ---------------------------------------------------------

Here is the call graph for this function:

Here is the caller graph for this function:

int pcr_init_parallel ( int *  argc,
char **  argv,
char *  Work_dir,
char *  interactive_output_name,
FILE **  interactive_output_p,
int *  Nr_pr,
int *  My_id 
)

-------------------------------------------------------- pcr_init_parallel - to initialize parallel communication library ---------------------------------------------------------

!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!

Parameters:
argc returns: >=0 - success code, <0 - error code
argv in:
Work_dir in:
interactive_output_name in:
interactive_output_p in/out:
Nr_pr out: reset pointer to interactive output
My_id out: number of processors/processes out: local process ID

Here is the call graph for this function:

Here is the caller graph for this function:

int pcr_is_parallel_initialized ( void   ) 

Here is the caller graph for this function:

int pcr_is_this_master ( void   ) 

Here is the caller graph for this function:

int pcr_my_proc_id ( void   ) 

Here is the caller graph for this function:

int pcr_nr_proc ( void   ) 

Here is the caller graph for this function:

int pcr_print_master (  ) 

-------------------------------------------------------- pcr_print_master - to return the id of read/write master processor ---------------------------------------------------------

Here is the caller graph for this function:

int pcr_receive_bytes ( int  Sender_proc_id,
int  Message_id,
int  Nr_bytes,
uint8_t Bytes 
)

-------------------------------------------------------- pcr_receive_bytes - to receive an array of integers ---------------------------------------------------------

Parameters:
Sender_proc_id returns: >=0 - success code, <0 - error code
Message_id in : destination processor ID
Nr_bytes in: id of the message containing the data
Bytes in: number of values to pack to the buffer in: array of numbers to pack
int pcr_receive_double ( int  Sender_proc_id,
int  Message_id,
int  Nr_num,
double *  Numbers 
)

-------------------------------------------------------- pcr_receive_double - to receive an array of doubles ---------------------------------------------------------

Parameters:
Sender_proc_id returns: >=0 - success code, <0 - error code
Message_id in : destination processor ID
Nr_num in: id of the message containing the data
Numbers in: number of values to pack to the buffer in: array of numbers to pack

Here is the caller graph for this function:

int pcr_receive_int ( int  Sender_proc_id,
int  Message_id,
int  Nr_num,
int *  Numbers 
)

-------------------------------------------------------- pcr_receive_int - to receive an array of integers ---------------------------------------------------------

Parameters:
Sender_proc_id returns: >=0 - success code, <0 - error code
Message_id in : destination processor ID
Nr_num in: id of the message containing the data
Numbers in: number of values to pack to the buffer in: array of numbers to pack

Here is the caller graph for this function:

int pcr_recv_buffer_close ( int  Message_id,
int  Buffer_id 
)

-------------------------------------------------------- pcr_recv_buffer_close - to close a buffer for communication ---------------------------------------------------------

Parameters:
Message_id returns: >=0 - success code, <0 - error code
Buffer_id in: message ID in: buffer ID

Here is the call graph for this function:

Here is the caller graph for this function:

int pcr_send_buffer_open ( int  Message_id,
int  Buffer_size 
)

-------------------------------------------------------- pcr_send_buffer_open - to open a buffer for sending data ---------------------------------------------------------

Parameters:
Message_id returns: >=0 - message buffer ID = success code, <0 - error code
Buffer_size in: message ID in: message buffer size (0 for DEFAULT_BUFFER_SIZE)

Here is the call graph for this function:

Here is the caller graph for this function:

int pcr_send_bytes ( const int  Dest_proc_id,
const int  Message_id,
const int  Nr_bytes,
const uint8_t Bytes 
)

-------------------------------------------------------- pcr_send_bytes - to send an array of integers ---------------------------------------------------------

*---------------------------------------------------------

Parameters:
Dest_proc_id returns: >=0 - success code, <0 - error code
Message_id in : destination processor ID
Nr_bytes in: id of the message containing the data
Bytes in: number of values to send in: array of numbers to send
int pcr_send_double ( const int  Dest_proc_id,
const int  Message_id,
const int  Nr_num,
const double *  Numbers 
)

-------------------------------------------------------- pcr_send_double - to send an array of doubles ---------------------------------------------------------

Parameters:
Dest_proc_id returns: >=0 - success code, <0 - error code
Message_id in : destination processor ID
Nr_num in: id of the message containing the data
Numbers in: number of values to send in: array of numbers to send

Here is the caller graph for this function:

int pcr_send_int ( const int  Dest_proc_id,
const int  Message_id,
const int  Nr_num,
const int *  Numbers 
)

-------------------------------------------------------- pcr_send_int - to send an array of integers ---------------------------------------------------------

*---------------------------------------------------------

Parameters:
Dest_proc_id returns: >=0 - success code, <0 - error code
Message_id in : destination processor ID
Nr_num in: id of the message containing the data
Numbers in: number of values to pack to the buffer in: array of numbers to pack

Here is the caller graph for this function:


Variable Documentation

const int PCC_ANY_PROC
const int PCC_DEFAULT_COMM
const int PCC_MASTER_PROC_ID
const int PCC_NEIGH_GROUP
const int PCC_OK

wildcard for arbitrary processor id

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 3 Jun 2020 for ModFEM by  doxygen 1.6.1