From 9644fc5ddaf9ebceb652f64d3be81bb066d7b06c Mon Sep 17 00:00:00 2001 From: fredrikr79 Date: Mon, 22 Sep 2025 19:13:17 +0200 Subject: [PATCH] ex3: task 5 --- exercise3/wave_1d_parallel.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/exercise3/wave_1d_parallel.c b/exercise3/wave_1d_parallel.c index ef9847c..36c5b39 100644 --- a/exercise3/wave_1d_parallel.c +++ b/exercise3/wave_1d_parallel.c @@ -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 }