diff --git a/lab10/jacobi/jacobi_mpi.cpp b/lab10/jacobi/jacobi_mpi.cpp index a05419c..6accbe3 100644 --- a/lab10/jacobi/jacobi_mpi.cpp +++ b/lab10/jacobi/jacobi_mpi.cpp @@ -52,7 +52,7 @@ Jacobi::Result JacobiMPI::run(const Matrix &init, double epsilon, if (rank == 0) { MPI_Request send_lower; - std::vector send_vec_low = phi[t0].get_row(indexRowGlobalEnd); + std::vector send_vec_low = phi[t0].get_row(numRows - 1); MPI_Isend(send_vec_low.data(), numCols, MPI_DOUBLE, neighborLower, indexRowGlobalEnd, MPI_COMM_WORLD, &send_lower); @@ -78,7 +78,7 @@ Jacobi::Result JacobiMPI::run(const Matrix &init, double epsilon, else if (rank == (numProc - 1)) { MPI_Request send_upper; - std::vector send_vec_up = phi[t0].get_row(indexRowGlobalStart); + std::vector send_vec_up = phi[t0].get_row(0); MPI_Isend(send_vec_up.data(), numCols, MPI_DOUBLE, neighborUpper, indexRowGlobalStart, MPI_COMM_WORLD, &send_upper); @@ -105,11 +105,11 @@ Jacobi::Result JacobiMPI::run(const Matrix &init, double epsilon, MPI_Request send_upper; MPI_Request send_lower; - std::vector send_vec_up = phi[t0].get_row(indexRowGlobalStart); + std::vector send_vec_up = phi[t0].get_row(0); MPI_Isend(send_vec_up.data(), numCols, MPI_DOUBLE, neighborUpper, indexRowGlobalStart, MPI_COMM_WORLD, &send_upper); - std::vector send_vec_low = phi[t0].get_row(indexRowGlobalEnd); + std::vector send_vec_low = phi[t0].get_row(numRows - 1); MPI_Isend(send_vec_low.data(), numCols, MPI_DOUBLE, neighborLower, indexRowGlobalEnd, MPI_COMM_WORLD, &send_lower);