Go to the source code of this file.
|
| namespace | shamalgs |
| | namespace to contain everything implemented by shamalgs
|
| |
|
| template<class T > |
| void | shamalgs::collective::vector_allgatherv_ks (const std::vector< T > &send_vec, const MPI_Datatype send_type, std::vector< T > &recv_vec, const MPI_Datatype recv_type, const MPI_Comm comm) |
| | allgatherv with knowing total count of object //TODO add fault tolerance
|
| |
| template<class T > |
| std::vector< int > | shamalgs::collective::vector_allgatherv (const std::vector< T > &send_vec, const MPI_Datatype &send_type, std::vector< T > &recv_vec, const MPI_Datatype &recv_type, const MPI_Comm comm) |
| | allgatherv on vector with size query (size querying variant of vector_allgatherv_ks) //TODO add fault tolerance
|
| |
| template<class T > |
| void | shamalgs::collective::vector_allgatherv_large (const std::vector< T > &send_vec, const MPI_Datatype &send_type, std::vector< T > &recv_vec, const MPI_Datatype &recv_type, const MPI_Comm comm, u32 com_per_step=(1_i32<< 29)/static_cast< u32 >(shamcomm::world_size())) |
| | vector_allgatherv version that support having more than 2^31 elements in flight
|
| |
| template<class T > |
| void | shamalgs::collective::vector_allgatherv (const std::vector< T > &send_vec, std::vector< T > &recv_vec, const MPI_Comm comm) |
| | Simplified allgatherv wrapper using default MPI type.
|
| |
◆ vector_allgatherv() [1/2]
template<class T >
| std::vector< int > shamalgs::collective::vector_allgatherv |
( |
const std::vector< T > & |
send_vec, |
|
|
const MPI_Datatype & |
send_type, |
|
|
std::vector< T > & |
recv_vec, |
|
|
const MPI_Datatype & |
recv_type, |
|
|
const MPI_Comm |
comm |
|
) |
| |
|
inline |
allgatherv on vector with size query (size querying variant of vector_allgatherv_ks) //TODO add fault tolerance
- Template Parameters
-
- Parameters
-
| send_vec | |
| send_type | |
| recv_vec | |
| recv_type | |
- Returns
- the node displacements data table
Definition at line 98 of file exchanges.hpp.
◆ vector_allgatherv() [2/2]
template<class T >
| void shamalgs::collective::vector_allgatherv |
( |
const std::vector< T > & |
send_vec, |
|
|
std::vector< T > & |
recv_vec, |
|
|
const MPI_Comm |
comm |
|
) |
| |
|
inline |
Simplified allgatherv wrapper using default MPI type.
- Template Parameters
-
| T | Type of elements to gather |
- Parameters
-
| send_vec | Vector to send from this rank |
| recv_vec | Vector to receive all gathered data |
| comm | MPI communicator |
Definition at line 227 of file exchanges.hpp.
◆ vector_allgatherv_ks()
template<class T >
| void shamalgs::collective::vector_allgatherv_ks |
( |
const std::vector< T > & |
send_vec, |
|
|
const MPI_Datatype |
send_type, |
|
|
std::vector< T > & |
recv_vec, |
|
|
const MPI_Datatype |
recv_type, |
|
|
const MPI_Comm |
comm |
|
) |
| |
|
inline |
allgatherv with knowing total count of object //TODO add fault tolerance
- Template Parameters
-
- Parameters
-
| send_vec | |
| send_type | |
| recv_vec | |
| recv_type | |
Definition at line 44 of file exchanges.hpp.
◆ vector_allgatherv_large()
template<class T >
| void shamalgs::collective::vector_allgatherv_large |
( |
const std::vector< T > & |
send_vec, |
|
|
const MPI_Datatype & |
send_type, |
|
|
std::vector< T > & |
recv_vec, |
|
|
const MPI_Datatype & |
recv_type, |
|
|
const MPI_Comm |
comm, |
|
|
u32 |
com_per_step = (1_i32 << 29) / static_cast<u32>(shamcomm::world_size()) |
|
) |
| |
|
inline |
vector_allgatherv version that support having more than 2^31 elements in flight
- Template Parameters
-
- Parameters
-
| send_vec | |
| send_type | |
| recv_vec | |
| recv_type | |
| comm | |
| com_per_step | |
Definition at line 175 of file exchanges.hpp.