| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | #pragma once | ||
| 2 | |||
| 3 | #include <mpi.h> | ||
| 4 | |||
| 5 | #include <vector> | ||
| 6 | |||
| 7 | #include "task/include/task.hpp" | ||
| 8 | #include "tsyplakov_k_from_all_to_one/common/include/common.hpp" | ||
| 9 | |||
| 10 | namespace tsyplakov_k_from_all_to_one { | ||
| 11 | |||
| 12 | template <typename T> | ||
| 13 | class TsyplakovKFromAllToOneMPI : public BaseTaskT<T> { | ||
| 14 | public: | ||
| 15 | ✗ | static constexpr ppc::task::TypeOfTask GetStaticTypeOfTask() { | |
| 16 | ✗ | return ppc::task::TypeOfTask::kMPI; | |
| 17 | } | ||
| 18 | |||
| 19 | explicit TsyplakovKFromAllToOneMPI(const InTypeT<T> &in); | ||
| 20 | |||
| 21 | private: | ||
| 22 | bool ValidationImpl() override; | ||
| 23 | bool PreProcessingImpl() override; | ||
| 24 | bool RunImpl() override; | ||
| 25 | bool PostProcessingImpl() override; | ||
| 26 | |||
| 27 | std::vector<T> gathered_; | ||
| 28 | }; | ||
| 29 | |||
| 30 | int MyMpiGather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, | ||
| 31 | MPI_Datatype recvtype, int root, MPI_Comm comm); | ||
| 32 | |||
| 33 | } // namespace tsyplakov_k_from_all_to_one | ||
| 34 |