Dear Kor, Sorry for the late response.
> I am studying the futurization example from the manual (a great example > by the way!) and have two questions about it. Maybe one of you can help > me clarify these. > > > In example 2, do_work is implemented to return a > > hpx::future<std::vector<hpx::shared_future<double>>> > > This future is the result of calling hpx::when_all. > > https://github.com/STEllAR- > GROUP/hpx/blob/master/examples/1d_stencil/1d_stencil_2.cpp#L61 > > In hpx_main, .get is called on the future returned by do_work. This > makes the std::vector<hpx::shared_future<double>> value available. > > After that, hpx::wait_all is called passing this > std::vector<hpx::shared_future<double>> value. My question is why this > is necessary. Aren't all hpx::shared_future<double> values in the vector > guaranteed to be ready after the call to .get on the previous line and > given that the future is returned by hpx::when_all? When_all only guarantees that the outer future has become ready. It has no notion of recursive futures deep inside the returned value. > In example 8, do_work contains this line, which I think is not necessary: > > std::vector<hpx::id_type> localities = hpx::find_all_localities(); > > https://github.com/STEllAR- > GROUP/hpx/blob/master/examples/1d_stencil/1d_stencil_8.cpp#L489 > > In the code below, hpx::find_here() is used to position partition > components on the current locality. The localities returned by > hpx::find_all_localities() are not used. Maybe a left-over from > copy-and-pasting code from example 7? Indeed! Good catch! I'll fix it asap. Thanks! Regards Hartmut --------------- http://boost-spirit.com http://stellar.cct.lsu.edu _______________________________________________ hpx-users mailing list [email protected] https://mail.cct.lsu.edu/mailman/listinfo/hpx-users
