Global MPI operations
|
Functions | |
void | vddiv (vector< double > &x, vector< double > const &y, vector< double > const &z) |
void | vdaxpy (std::vector< double > &x, std::vector< double > const &y, double alpha, std::vector< double > const &z) |
Element-wise daxpy operation x(k) = y(k) + alpha*z(k). More... | |
double | dscapr (std::vector< double > const &x, std::vector< double > const &y) |
Calculates the Euclidean inner product of two vectors. More... | |
bool | CompareVectors (std::vector< double > const &x, int const n, double const y[], double const eps) |
Compares an STL vector with POD vector. More... | |
void | Send_ProcD (const int to, vector< double > const &xin, MPI_Comm const &icomm) |
void | Recv_ProcD (const int from, vector< double > &xout, MPI_Comm const &icomm) |
void | ExchangeD (const int yourid, vector< double > const &xin, vector< double > &xout, MPI_Comm const &icomm) |
double | par_scalar (vector< double > const &x, vector< double > const &y, MPI_Comm const &icomm) |
void | ExchangeAll (vector< double > const &xin, vector< double > &yout, MPI_Comm const &icomm) |
void | ExchangeAllInPlace (vector< double > &xin, MPI_Comm const &icomm) |
Variables | |
const int | TAG1 = 1 |
const int | TAG2 = 2 |
bool CompareVectors | ( | std::vector< double > const & | x, |
int | n, | ||
double const | y[], | ||
double const | eps = 0.0 |
||
) |
Compares an STL vector with POD vector.
The accuracy criteria \( |x_k-y_k| < \varepsilon \left({1+0.5(|x_k|+|y_k|)}\right) \) follows the book by Stoyan/Baran, p.8.
[in] | x | STL vector |
[in] | n | length of POD vector |
[in] | y | POD vector |
[in] | eps | relative accuracy criteria (default := 0.0). |
double dscapr | ( | std::vector< double > const & | x, |
std::vector< double > const & | y | ||
) |
Calculates the Euclidean inner product of two vectors.
[in] | x | vector |
[in] | y | vector |
void ExchangeAll | ( | vector< double > const & | xin, |
vector< double > & | yout, | ||
MPI_Comm const & | icomm | ||
) |
void ExchangeAllInPlace | ( | vector< double > & | xin, |
MPI_Comm const & | icomm | ||
) |
void ExchangeD | ( | const int | yourid, |
vector< double > const & | xin, | ||
vector< double > & | xout, | ||
MPI_Comm const & | icomm | ||
) |
double par_scalar | ( | vector< double > const & | x, |
vector< double > const & | y, | ||
MPI_Comm const & | icomm | ||
) |
void Recv_ProcD | ( | const int | from, |
vector< double > & | xout, | ||
MPI_Comm const & | icomm | ||
) |
void Send_ProcD | ( | const int | to, |
vector< double > const & | xin, | ||
MPI_Comm const & | icomm | ||
) |
void vdaxpy | ( | std::vector< double > & | x, |
std::vector< double > const & | y, | ||
double | alpha, | ||
std::vector< double > const & | z | ||
) |
Element-wise daxpy operation x(k) = y(k) + alpha*z(k).
[out] | x | target vector |
[in] | y | source vector |
[in] | alpha | scalar |
[in] | z | source vector |
void vddiv | ( | vector< double > & | x, |
vector< double > const & | y, | ||
vector< double > const & | z | ||
) |
const int TAG1 = 1 |
const int TAG2 = 2 |