Skip to content
Snippets Groups Projects
Commit 21777e5a authored by Stéphane Del Pino's avatar Stéphane Del Pino
Browse files

Rename Messenger::Helper -> Messenger::helper

parent 23dfd571
No related branches found
No related tags found
1 merge request!11Feature/mpi
...@@ -14,13 +14,10 @@ ...@@ -14,13 +14,10 @@
#include <mpi.h> #include <mpi.h>
#endif // PASTIS_HAS_MPI #endif // PASTIS_HAS_MPI
#warning REMOVE
enum class CellType : unsigned short;
class Messenger class Messenger
{ {
private: private:
struct Helper struct helper
{ {
#ifdef PASTIS_HAS_MPI #ifdef PASTIS_HAS_MPI
template<typename DataType> template<typename DataType>
...@@ -39,7 +36,6 @@ class Messenger ...@@ -39,7 +36,6 @@ class Messenger
} }
#endif // PASTIS_HAS_MPI #endif // PASTIS_HAS_MPI
private: private:
template <typename T, template <typename T,
typename Allowed = void> typename Allowed = void>
...@@ -107,7 +103,7 @@ class Messenger ...@@ -107,7 +103,7 @@ class Messenger
const int count = sent_array.size()/m_size; const int count = sent_array.size()/m_size;
MPI_Datatype mpi_datatype = Messenger::Helper::mpiType<SendDataType>(); MPI_Datatype mpi_datatype = Messenger::helper::mpiType<SendDataType>();
MPI_Alltoall(&(sent_array[0]), count, mpi_datatype, MPI_Alltoall(&(sent_array[0]), count, mpi_datatype,
&(recv_array[0]), count, mpi_datatype, &(recv_array[0]), count, mpi_datatype,
...@@ -132,7 +128,7 @@ class Messenger ...@@ -132,7 +128,7 @@ class Messenger
#ifdef PASTIS_HAS_MPI #ifdef PASTIS_HAS_MPI
std::vector<MPI_Request> request_list; std::vector<MPI_Request> request_list;
MPI_Datatype mpi_datatype = Messenger::Helper::mpiType<SendDataType>(); MPI_Datatype mpi_datatype = Messenger::helper::mpiType<SendDataType>();
for (size_t i_send=0; i_send<sent_array_list.size(); ++i_send) { for (size_t i_send=0; i_send<sent_array_list.size(); ++i_send) {
const SendArrayType sent_array = sent_array_list[i_send]; const SendArrayType sent_array = sent_array_list[i_send];
...@@ -232,7 +228,7 @@ class Messenger ...@@ -232,7 +228,7 @@ class Messenger
if constexpr(std::is_arithmetic_v<DataType>) { if constexpr(std::is_arithmetic_v<DataType>) {
_allToAll(sent_array, recv_array); _allToAll(sent_array, recv_array);
} else if constexpr(std::is_trivial_v<DataType>) { } else if constexpr(std::is_trivial_v<DataType>) {
using CastType = Helper::split_cast_t<DataType>; using CastType = helper::split_cast_t<DataType>;
auto send_cast_array = cast_array_to<const CastType>::from(sent_array); auto send_cast_array = cast_array_to<const CastType>::from(sent_array);
auto recv_cast_array = cast_array_to<CastType>::from(recv_array); auto recv_cast_array = cast_array_to<CastType>::from(recv_array);
...@@ -282,7 +278,7 @@ class Messenger ...@@ -282,7 +278,7 @@ class Messenger
if constexpr(std::is_arithmetic_v<DataType>) { if constexpr(std::is_arithmetic_v<DataType>) {
_exchange(sent_array_list, recv_array_list); _exchange(sent_array_list, recv_array_list);
} else if constexpr(std::is_trivial_v<DataType>) { } else if constexpr(std::is_trivial_v<DataType>) {
using CastType = Helper::split_cast_t<DataType>; using CastType = helper::split_cast_t<DataType>;
_exchange_through_cast<SendDataType, CastType>(sent_array_list, recv_array_list); _exchange_through_cast<SendDataType, CastType>(sent_array_list, recv_array_list);
} else { } else {
static_assert(std::is_trivial_v<RecvDataType>, static_assert(std::is_trivial_v<RecvDataType>,
...@@ -366,52 +362,52 @@ void exchange(const std::vector<Array<SendDataType>>& sent_array_list, ...@@ -366,52 +362,52 @@ void exchange(const std::vector<Array<SendDataType>>& sent_array_list,
#ifdef PASTIS_HAS_MPI #ifdef PASTIS_HAS_MPI
template<> PASTIS_INLINE MPI_Datatype template<> PASTIS_INLINE MPI_Datatype
Messenger::Helper::mpiType<char>() {return MPI_CHAR; } Messenger::helper::mpiType<char>() {return MPI_CHAR; }
template<> PASTIS_INLINE MPI_Datatype template<> PASTIS_INLINE MPI_Datatype
Messenger::Helper::mpiType<int8_t>() {return MPI_INT8_T; } Messenger::helper::mpiType<int8_t>() {return MPI_INT8_T; }
template<> PASTIS_INLINE MPI_Datatype template<> PASTIS_INLINE MPI_Datatype
Messenger::Helper::mpiType<int16_t>() {return MPI_INT16_T; } Messenger::helper::mpiType<int16_t>() {return MPI_INT16_T; }
template<> PASTIS_INLINE MPI_Datatype template<> PASTIS_INLINE MPI_Datatype
Messenger::Helper::mpiType<int32_t>() {return MPI_INT32_T; } Messenger::helper::mpiType<int32_t>() {return MPI_INT32_T; }
template<> PASTIS_INLINE MPI_Datatype template<> PASTIS_INLINE MPI_Datatype
Messenger::Helper::mpiType<int64_t>() {return MPI_INT64_T; } Messenger::helper::mpiType<int64_t>() {return MPI_INT64_T; }
template<> PASTIS_INLINE MPI_Datatype template<> PASTIS_INLINE MPI_Datatype
Messenger::Helper::mpiType<uint8_t>() {return MPI_UINT8_T; } Messenger::helper::mpiType<uint8_t>() {return MPI_UINT8_T; }
template<> PASTIS_INLINE MPI_Datatype template<> PASTIS_INLINE MPI_Datatype
Messenger::Helper::mpiType<uint16_t>() {return MPI_UINT16_T; } Messenger::helper::mpiType<uint16_t>() {return MPI_UINT16_T; }
template<> PASTIS_INLINE MPI_Datatype template<> PASTIS_INLINE MPI_Datatype
Messenger::Helper::mpiType<uint32_t>() {return MPI_UINT32_T; } Messenger::helper::mpiType<uint32_t>() {return MPI_UINT32_T; }
template<> PASTIS_INLINE MPI_Datatype template<> PASTIS_INLINE MPI_Datatype
Messenger::Helper::mpiType<uint64_t>() {return MPI_UINT64_T; } Messenger::helper::mpiType<uint64_t>() {return MPI_UINT64_T; }
template<> PASTIS_INLINE MPI_Datatype template<> PASTIS_INLINE MPI_Datatype
Messenger::Helper::mpiType<signed long long int>() {return MPI_LONG_LONG_INT; } Messenger::helper::mpiType<signed long long int>() {return MPI_LONG_LONG_INT; }
template<> PASTIS_INLINE MPI_Datatype template<> PASTIS_INLINE MPI_Datatype
Messenger::Helper::mpiType<unsigned long long int>() {return MPI_UNSIGNED_LONG_LONG; } Messenger::helper::mpiType<unsigned long long int>() {return MPI_UNSIGNED_LONG_LONG; }
template<> PASTIS_INLINE MPI_Datatype template<> PASTIS_INLINE MPI_Datatype
Messenger::Helper::mpiType<float>() {return MPI_FLOAT; } Messenger::helper::mpiType<float>() {return MPI_FLOAT; }
template<> PASTIS_INLINE MPI_Datatype template<> PASTIS_INLINE MPI_Datatype
Messenger::Helper::mpiType<double>() {return MPI_DOUBLE; } Messenger::helper::mpiType<double>() {return MPI_DOUBLE; }
template<> PASTIS_INLINE MPI_Datatype template<> PASTIS_INLINE MPI_Datatype
Messenger::Helper::mpiType<long double>() {return MPI_LONG_DOUBLE; } Messenger::helper::mpiType<long double>() {return MPI_LONG_DOUBLE; }
template<> PASTIS_INLINE MPI_Datatype template<> PASTIS_INLINE MPI_Datatype
Messenger::Helper::mpiType<wchar_t>() {return MPI_WCHAR; } Messenger::helper::mpiType<wchar_t>() {return MPI_WCHAR; }
template<> PASTIS_INLINE MPI_Datatype template<> PASTIS_INLINE MPI_Datatype
Messenger::Helper::mpiType<bool>() {return MPI_CXX_BOOL; } Messenger::helper::mpiType<bool>() {return MPI_CXX_BOOL; }
#endif // PASTIS_HAS_MPI #endif // PASTIS_HAS_MPI
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment