Ran into an issue where an HPX action that I've been executing under
hpx::parallel::transform (in lieu of hpx::parallel::for_each) hangs on the
hpx::finalize() call. Are there any troubleshooting or debugging techniques
that could be used to figure out how to resolve this issue? I'm using 1.0.0.

static void run(const size_t idx) {
  hpx::cout << idx << hpx::endl;
}

HPX_PLAIN_ACTION(run, run_action);

int hpx_main(int argc, char **argv) {

std::vector<size_t> idx_list;

// fill idx_list with numbers to print ...

std::vector< hpx::future<void> > futures;
futures.reserve(idx_list.size());

hpx::parallel::transform(
  hpx::parallel::par,
  std::begin(idx_list),
  std::end(idx_list),
  [&localities, &distarr] (idx) {
    auto loc = localities[distarr.get_partition(idx)];
    return hpx::async<run_action>(loc, idx);
  });

hpx::wait_all(futures);

// printing debug statements after the hpx::wait_all demonstrate the
hpx::wait_all has completed successfully

hpx::finalize();

}


Any help or some pointers/tips would be greatly appreciated!

Chris
_______________________________________________
hpx-users mailing list
[email protected]
https://mail.cct.lsu.edu/mailman/listinfo/hpx-users

Reply via email to