diff --git a/src/utils/PastisUtils.cpp b/src/utils/PastisUtils.cpp index 4fea1e5d8e2ff8adf6d144123558601d4e67b29c..62271f5ed2a95512cf6f772a5f62153c9b625a72 100644 --- a/src/utils/PastisUtils.cpp +++ b/src/utils/PastisUtils.cpp @@ -11,9 +11,12 @@ #include <ConsoleManager.hpp> #include <CLI/CLI.hpp> +#include <mpi.h> std::string initialize(int& argc, char* argv[]) { + MPI_Init(&argc, &argv); + long unsigned number = 10; std::string filename; @@ -98,5 +101,26 @@ std::string initialize(int& argc, char* argv[]) void finalize() { + MPI_Barrier(MPI_COMM_WORLD); + const int mpi_rank + =[](){ + int mpi_rank; + MPI_Comm_rank(MPI_COMM_WORLD, &mpi_rank); + return mpi_rank; + }(); + + const int mpi_size + =[](){ + int mpi_size; + MPI_Comm_size(MPI_COMM_WORLD, &mpi_size); + return mpi_size; + }(); + + std::cout << rang::fgB::green << "Terminating process " << rang::fg::reset + << rang::fgB::yellow << mpi_rank << rang::fg::reset << " of " + << rang::style::bold << mpi_size << rang::style::reset << '\n';; + + Kokkos::finalize(); + MPI_Finalize(); }