numerics
Loading...
Searching...
No Matches
mpi_ops.cpp File Reference
#include "core/parallel/mpi_ops.hpp"
#include <cmath>

Go to the source code of this file.

Namespaces

namespace  num
 
namespace  num::mpi
 

Functions

void num::mpi::init (int *argc, char ***argv)
 Initialize MPI (call once)
 
void num::mpi::finalize ()
 Finalize MPI.
 
int num::mpi::rank (MPI_Comm comm=MPI_COMM_WORLD)
 Get communicator rank.
 
int num::mpi::size (MPI_Comm comm=MPI_COMM_WORLD)
 Get communicator size.
 
real num::mpi::dot (const Vector &x, const Vector &y, MPI_Comm comm=MPI_COMM_WORLD)
 Distributed dot product (each rank holds partial vector)
 
real num::mpi::norm (const Vector &x, MPI_Comm comm=MPI_COMM_WORLD)
 Distributed norm.
 
void num::mpi::allreduce_sum (real *data, idx n, MPI_Comm comm=MPI_COMM_WORLD)
 Allreduce sum.
 
void num::mpi::broadcast (real *data, idx n, int root=0, MPI_Comm comm=MPI_COMM_WORLD)
 Broadcast from root.