18#ifndef SOLVER_FULL_HPP
19#define SOLVER_FULL_HPP
24inline const auto& comm_world{mpl::environment::comm_world()};
25inline const auto& parent = mpl::inter_communicator::parent();
27template<ezp::data_t DT, ezp::index_t IT,
typename solver_t>
int run(
const int N,
const int NRHS) {
30 if(0 == comm_world.rank()) {
34 mpl::irequest_pool requests;
36 requests.push(parent.irecv(A, 0, mpl::tag_t{0}));
37 requests.push(parent.irecv(B, 0, mpl::tag_t{1}));
42 const auto error = solver_t().solve({N, N, A.data()}, {N, NRHS, B.data()});
44 if(0 == comm_world.rank()) {
45 parent.send(error, 0);
46 if(0 == error) parent.send(B, 0);