24#include <Kokkos_Core.hpp>
26#ifdef DEAL_II_WITH_TRILINOS
27# ifdef DEAL_II_WITH_MPI
31# include <Epetra_MpiComm.h>
35#ifdef DEAL_II_WITH_PETSC
42#ifdef DEAL_II_WITH_SLEPC
48#ifdef DEAL_II_WITH_P4EST
49# include <p4est_bits.h>
52#ifdef DEAL_II_TRILINOS_WITH_ZOLTAN
53# include <zoltan_cpp.h>
67 : libraries(libraries)
71 ExcMessage(
"You can only create a single object of this class "
72 "in a program since it initializes the MPI system."));
76#ifdef DEAL_II_WITH_MPI
85 ExcMessage(
"MPI error. You can only start MPI once!"));
106#ifdef DEAL_II_WITH_PETSC
108# ifdef DEAL_II_WITH_SLEPC
137#ifdef DEAL_II_TRILINOS_WITH_ZOLTAN
146#ifdef DEAL_II_WITH_P4EST
149# if DEAL_II_P4EST_VERSION_GTE(2, 5, 0, 0)
175#ifdef DEAL_II_WITH_MPI
205 int n_mpi_processes = 1;
231 for (
int i = 0; i < n_mpi_processes; ++i)
280#if KOKKOS_VERSION >= 30700
316 "You tried to call unregister_request() with an invalid request."));
340#ifdef DEAL_II_WITH_MPI
359# ifdef DEAL_II_WITH_TRILINOS
370#ifdef DEAL_II_WITH_PETSC
378# ifdef DEAL_II_WITH_SLEPC
398#ifdef DEAL_II_WITH_P4EST
413#ifdef DEAL_II_WITH_MPI
420 if (std::uncaught_exceptions() > 0)
ArrayView< std::remove_reference_t< typename std::iterator_traits< Iterator >::reference >, MemorySpaceType > make_array_view(const Iterator begin, const Iterator end)
InitializeLibrary libraries
static void unregister_request(MPI_Request &request)
static void register_request(MPI_Request &request)
static std::set< MPI_Request * > requests
InitFinalize(int &argc, char **&argv, const InitializeLibrary &libraries, const unsigned int max_num_threads=numbers::invalid_unsigned_int)
static unsigned int n_cores()
static unsigned int n_threads()
static void set_thread_limit(const unsigned int max_threads=numbers::invalid_unsigned_int)
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
static ::ExceptionBase & ExcSLEPcError(int arg1)
#define Assert(cond, exc)
#define AssertThrowMPI(error_code)
#define AssertNothrow(cond, exc)
static ::ExceptionBase & ExcInternalError()
static ::ExceptionBase & ExcMessage(std::string arg1)
#define AssertThrow(cond, exc)
std::string get_hostname()
static const unsigned int invalid_unsigned_int
::VectorizedArray< Number, width > max(const ::VectorizedArray< Number, width > &, const ::VectorizedArray< Number, width > &)
****code * * MPI_Finalize()