Thomas,

Thank you for the clarification - in hindsight it should have been fairly
obvious (by a source read-through) that template parameters to the
partitioned_vector don't require agas registration which then takes care of
the last half of the email's questions (ie: compile/runtime errors). I
really appreciate the time and assistance.

Chris


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

Reply via email to