ex3: task 5
This commit is contained in:
@@ -115,7 +115,16 @@ void boundary_condition(void) {
|
||||
// Communicate the border between processes.
|
||||
void border_exchange(void) {
|
||||
// BEGIN: T5
|
||||
;
|
||||
int left = (comm_size + comm_rank - 1) % comm_size;
|
||||
int right = (comm_rank + 1) % comm_size;
|
||||
|
||||
MPI_Sendrecv(&U(n - 1), 1, MPI_DOUBLE, right, 0,
|
||||
&U(-1), 1, MPI_DOUBLE, left, 0,
|
||||
MPI_COMM_WORLD, MPI_STATUS_IGNORE);
|
||||
|
||||
MPI_Sendrecv(&U(0), 1, MPI_DOUBLE, left, 1,
|
||||
&U(n), 1, MPI_DOUBLE, right, 1,
|
||||
MPI_COMM_WORLD, MPI_STATUS_IGNORE);
|
||||
// END: T5
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user