numerics
Loading...
Searching...
No Matches
num::mpi Namespace Reference

Functions

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

Function Documentation

◆ allreduce_sum()

void num::mpi::allreduce_sum ( real data,
idx  n,
MPI_Comm  comm = MPI_COMM_WORLD 
)

Allreduce sum.

Definition at line 29 of file mpi_ops.cpp.

References num::ipow().

◆ broadcast()

void num::mpi::broadcast ( real data,
idx  n,
int  root = 0,
MPI_Comm  comm = MPI_COMM_WORLD 
)

Broadcast from root.

Definition at line 33 of file mpi_ops.cpp.

References num::ipow().

◆ dot()

real num::mpi::dot ( const Vector x,
const Vector y,
MPI_Comm  comm = MPI_COMM_WORLD 
)

Distributed dot product (each rank holds partial vector)

Definition at line 17 of file mpi_ops.cpp.

References num::dot(), and num::ipow().

◆ finalize()

void num::mpi::finalize ( )

Finalize MPI.

Definition at line 7 of file mpi_ops.cpp.

References num::ipow().

◆ init()

void num::mpi::init ( int argc,
char ***  argv 
)

Initialize MPI (call once)

Definition at line 6 of file mpi_ops.cpp.

References num::ipow().

◆ norm()

real num::mpi::norm ( const Vector x,
MPI_Comm  comm = MPI_COMM_WORLD 
)

Distributed norm.

Definition at line 23 of file mpi_ops.cpp.

References num::dot(), and num::ipow().

◆ rank()

int num::mpi::rank ( MPI_Comm  comm = MPI_COMM_WORLD)

Get communicator rank.

Definition at line 9 of file mpi_ops.cpp.

References num::ipow().

◆ size()

int num::mpi::size ( MPI_Comm  comm = MPI_COMM_WORLD)

Get communicator size.

Definition at line 13 of file mpi_ops.cpp.

References num::ipow().