thomas, I sorted out the reasoning for register_as and connect_to and how that works with respect to actions and an action's scheduled execution on a remote node - my little tutorial application seems to be working well now. a lot of the distributed computing bits are making more sense after having reviewed demo codes, the APIs, and the unit test codes.
v/r, ct On Tue, Apr 25, 2017 at 2:30 PM, ct clmsn <[email protected]> wrote: > thomas, > > i'm in the midst of building a customized type to load histogram > information from files into a partitioned_vector. ideally, an hpx parallel > loop (for_each) should run over the partitioned_vector's elements in order > to schedule execution of an hpx-action which tells the partitioned_vector's > elements to load their respective data files (the parallel loop is a vector > of file paths). > > which parts of the hpx source tree (unit tests, examples) would you > encourage me to review? i get the impression this should be a fairly > straightforward bit of code. > > thanks in advance, > > ct > > On Mon, Apr 24, 2017 at 4:52 PM, Thomas Heller <[email protected]> > wrote: > >> Hi Chris, >> >> Am 24.04.2017 7:30 nachm. schrieb "ct clmsn" <[email protected]>: >> >> two questions for the stellar community - if i'm writing a distributed >> program that does not use the hpx spmd model, does hpx require the >> partitioned_vector storing components to be registered into the agas? if >> so, does hpx also require a call the connect function? several of the >> non-spmd partitioned_vector unit tests do not require register/connect - >> were those unit tests intended only to support single-node testing or is >> distributed execution also supported? >> >> >> I'm going to answer that later... Requires more writing... >> >> >> on a separate issue, i'd like to access the contents of a distributed >> vector that stores a component called 'dataset_t' (the component inherits >> from hpx::components::simple_component_base<dataset_t> ; the client >> interface for the component inherits from >> hpx::components::client_base<dataset_t, >> server::dataset_t>). >> >> >> Just for future reference, this might not be what you want. For >> hpx::partitioned_vector<T>, T does not need to be a component. In fact, the >> vector stores any T and distributes it over the partitions. >> >> >> currently, the following code compiles and produces a runtime exception. >> >> std::vector<std::size_t> pos = { static_cast<std::size_t>(idx) }; >> std::vector<dataset_t> svec = dataset_arr.get_values_sync(pos); >> >> hpx::future<void> fc = svec[0].create(args); >> fc.wait(); >> hpx::future<void> fv = dataset_arr.set_values(pos, svec); >> fv.wait(); >> >> the program runs on 1 node/host without any runtime arguments applied. >> the runtime exception reads: >> >> "{what}: this client_base has no valid shared state: HPX(no_state)" >> >> >> Makes sense, the client is default constructed, which doesn't create a >> component. It might not need to after all (see comment above). >> >> >> how should i comprehend this runtime exception? >> >> >> The client did not allocate a component which it "points" to. >> >> All in all it's difficult to say what the proper fix would be without >> looking at the code. >> >> >> also, when the following, much simpler implementation, of sample code >> runs: >> >> hpx::future<dataset_t> fd = dataset_arr.get_value(static_c >> ast<std::size_t>(idx)); >> fd.wait(); >> >> i had the following compile error: >> >> "hpx/traits/get_remote_result.hpp:25:41: error: no matching function for >> call to 'hpx::naming::id_type::id_type(std::remove_reference<dataset >> _t&>::type" >> >> >> any help, questions, or assistance would be appreciated! >> >> chris >> >> _______________________________________________ >> hpx-users mailing list >> [email protected] >> https://mail.cct.lsu.edu/mailman/listinfo/hpx-users >> >> >> >> _______________________________________________ >> hpx-users mailing list >> [email protected] >> https://mail.cct.lsu.edu/mailman/listinfo/hpx-users >> >> >
_______________________________________________ hpx-users mailing list [email protected] https://mail.cct.lsu.edu/mailman/listinfo/hpx-users
