STEllAR-GROUP/hpx

Errors in Public Distributed Api for all_to_all and gather_there

AndreyKulikov2022 opened this issue · 2 comments

Actual Behavior

In the actual signature of hpx::collectives::gather_there:

template <typename T>
    hpx::future<void> gather_there(communicator fid, T&& local_result,
        this_site_arg this_site = this_site_arg(),
        generation_arg generation = generation_arg())

the return type differs from the one described in Public Distributed Api:

 template <typename T>
    hpx::future<std::vector<decay_t<T>>>
    gather_there(communicator comm, T&& result,
        this_site_arg this_site = this_site_arg(),
        generation_arg generation = generation_arg());

The same is true for hpx::collectives::all_to_all:

template <typename T>
    hpx::future<std::vector<std::decay_t<T>>>
    all_to_all(char const* basename, T&& result,
        num_sites_arg num_sites = num_sites_arg(),
        this_site_arg this_site = this_site_arg(),
        generation_arg generation = generation_arg(),
        root_site_arg root_site = root_site_arg());

with the wrong local result parameter in Public Api:

template <typename T>
    hpx::future<std::vector<T>> all_to_all(communicator fid,
        std::vector<T>&& local_result,
        this_site_arg this_site = this_site_arg(),
        generation_arg generation = generation_arg())

@AndreyKulikov2022 thanks for reporting this. @dimitraka could you have a look, please?