Send an individual to a process, while receiving a different individual from a different process.
ctx
- context variable
send_p
- index of string to send
send_pop
- symbolic constant of population to send from
dest
- destination process
send_tag
- tag to send with
recv_p
- index of string to receive
recv_pop
- symbolic constant of population to receive from
source
- process to receive from
recv_tag
- tag to receive with
comm
- an MPI communicator
status
- pointer to the MPI status structure
none
#include "pgapack.h" void PGASendReceiveIndividual(ctx, send_p, send_pop, dest, send_tag, recv_p, recv_pop, source, recv_tag, comm, status) PGAContext *ctx int send_p int send_pop int dest int send_tag int recv_p int recv_pop int source int recv_tag MPI_Comm comm MPI_Status *status
parallel.c
Example: A dedicated process is being used to perform an optimization algorithm on the strings. Send a new string, s, to the process, while receiving an optimized string, r, from it. PGAContext *ctx; MPI_Comm comm; MPI_Status status; int s, r; : PGASendReceiveIndividual(ctx, s, PGA_NEWPOP, 1, PGA_SR_STRINGTOMODIFY, r, PGA_NEWPOP, 1, PGA_SR_MODIFIEDSTRING, comm, &status);