Receiving end of the exchange finalize, living in the world the transfer rides on.
More...
|
| | FinalizeReducer (World &world) |
| |
| void | accumulate_chunk (const std::vector< recT > &recs) |
| |
| void | set_targets (std::vector< implT * > dests, T beta) |
| | point at the destinations for the next drain; local, called by every rank
|
| |
| | WorldObject (const WorldObject &other) |
| |
| | WorldObject (World &world) |
| | Constructor that associates an object (via the derived class) with a globally unique ID.
|
| |
| virtual | ~WorldObject () |
| |
| WorldObject & | operator= (const WorldObject &)=delete |
| |
| detail::task_result_type< memfnT >::futureT | send (ProcessID dest, memfnT memfn) const |
| |
| detail::task_result_type< memfnT >::futureT | send (ProcessID dest, memfnT memfn, const a1T &a1) const |
| |
| detail::task_result_type< memfnT >::futureT | send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2) const |
| |
| detail::task_result_type< memfnT >::futureT | send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3) const |
| |
| detail::task_result_type< memfnT >::futureT | send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4) const |
| |
| detail::task_result_type< memfnT >::futureT | send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5) const |
| |
| detail::task_result_type< memfnT >::futureT | send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6) const |
| |
| detail::task_result_type< memfnT >::futureT | send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7) const |
| |
| detail::task_result_type< memfnT >::futureT | send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8) const |
| |
| detail::task_result_type< memfnT >::futureT | send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8, const a9T &a9) const |
| |
| detail::task_result_type< memfnT >::futureT | task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8, const a9T &a9, const TaskAttributes &attr=TaskAttributes()) const |
| | Sends task to derived class method returnT (this->*memfn)(a1,a2,a3,a4,a5,a6,a7,a8,a9).
|
| |
| detail::task_result_type< memfnT >::futureT | task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8, const TaskAttributes &attr=TaskAttributes()) const |
| | Sends task to derived class method returnT (this->*memfn)(a1,a2,a3,a4,a5,a6,a7,a8).
|
| |
| detail::task_result_type< memfnT >::futureT | task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const TaskAttributes &attr=TaskAttributes()) const |
| | Sends task to derived class method returnT (this->*memfn)(a1,a2,a3,a4,a5,a6,a7).
|
| |
| detail::task_result_type< memfnT >::futureT | task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const TaskAttributes &attr=TaskAttributes()) const |
| | Sends task to derived class method returnT (this->*memfn)(a1,a2,a3,a4,a5,a6).
|
| |
| detail::task_result_type< memfnT >::futureT | task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const TaskAttributes &attr=TaskAttributes()) const |
| | Sends task to derived class method returnT (this->*memfn)(a1,a2,a3,a4,a5).
|
| |
| detail::task_result_type< memfnT >::futureT | task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const TaskAttributes &attr=TaskAttributes()) const |
| | Sends task to derived class method returnT (this->*memfn)(a1,a2,a3,a4).
|
| |
| detail::task_result_type< memfnT >::futureT | task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const TaskAttributes &attr=TaskAttributes()) const |
| | Sends task to derived class method returnT (this->*memfn)(a1,a2,a3).
|
| |
| detail::task_result_type< memfnT >::futureT | task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const TaskAttributes &attr=TaskAttributes()) const |
| | Sends task to derived class method returnT (this->*memfn)(a1,a2).
|
| |
| detail::task_result_type< memfnT >::futureT | task (ProcessID dest, memfnT memfn, const a1T &a1, const TaskAttributes &attr=TaskAttributes()) const |
| | Sends task to derived class method returnT (this->*memfn)(a1).
|
| |
| detail::task_result_type< memfnT >::futureT | task (ProcessID dest, memfnT memfn, const TaskAttributes &attr=TaskAttributes()) const |
| | Sends task to derived class method returnT (this->*memfn)().
|
| |
| virtual | ~WorldObjectBase () |
| |
| World & | get_world () const |
| |
| World & | get_world_noexcept () const noexcept |
| | Get the world to which this object belongs, without risking a throw.
|
| |
| const uniqueidT & | id () const |
| | Returns the globally unique object ID.
|
| |
| bool | world_is_alive () const noexcept |
| | Reports whether the world to which this object belongs still exists.
|
| |
template<
typename T, std::size_t NDIM>
class madness::FinalizeReducer< T, NDIM >
Receiving end of the exchange finalize, living in the world the transfer rides on.
Sources push bulk chunks here with task(), so deserializing and accumulating happens on a worker and never on the communication thread. The arithmetic is the same as FunctionNode::gaxpy_inplace; the accessor write lock is what serializes two senders that reach the same key at once.