|
MADNESS 0.10.1
|
#include <macrotaskq.h>

Classes | |
| struct | is_vector |
| struct | is_vector< std::vector< Q > > |
| class | MacroTaskInternal |
Public Member Functions | |
| MacroTask (World &world, taskT &task) | |
| constructor takes the task, but no arguments to the task | |
| MacroTask (World &world, taskT &task, const MacroTaskQFactory factory) | |
| constructor takes task and a taskq factory for customization, immediate execution | |
| MacroTask (World &world, taskT &task, std::shared_ptr< MacroTaskQ > taskq_ptr) | |
| constructor takes the task, and a taskq, execution is not immediate | |
| std::shared_ptr< MacroTaskQ > | get_taskq () const |
| template<typename ... Ts> | |
| resultT | operator() (const Ts &... args) |
| this mimicks the original call to the task functor, called from the universe | |
| MacroTask & | set_debug (const bool value) |
Private Types | |
| typedef taskT::argtupleT | argtupleT |
| template<typename Q, typename ResT> | |
| using | has_accumulate_locally_t |
| true if: task.accumulate_locally(subworld, result_subworld) | |
| template<typename Q> | |
| using | has_finalize_stage1_t |
| true if: task.finalize_stage1(subworld, nodeworld) | |
| template<typename Q, typename ResT> | |
| using | has_finalize_stage2_t |
| true if: task.finalize_stage2(subworld, nodeworld, universe_result) | |
| template<typename T, typename argtupleT> | |
| using | has_member_compute_priority = madness::meta::is_detected<member_compute_priority_t, T, argtupleT> |
| template<typename Q> | |
| using | has_prepare_owner_assignment_t |
| true if: task.prepare_owner_assignment(partition, nsubworld) | |
| template<typename Q, typename ArgTuple> | |
| using | has_store_batches_t |
| true if: task.store_batches(world, subworld, cloud, argtuple, nsubworld) | |
| template<typename Q, typename VecT> | |
| using | has_sym_pipeline_advance_t |
| true if: task.sym_pipeline_advance(subworld, ket, next_col, next_row, has_next) | |
| template<typename Q> | |
| using | has_wants_node_local_reduction_t |
| true if: task.wants_node_local_reduction() | |
| template<typename T, typename argtupleT> | |
| using | member_compute_priority_t = decltype(std::declval<T>().compute_priority(std::declval<Batch&>(), std::declval<argtupleT&>())) |
| using | partitionT = MacroTaskPartitioner::partitionT |
| typedef Cloud::recordlistT | recordlistT |
| typedef taskT::resultT | resultT |
Private Member Functions | |
| recordlistT | prepare_output_records (Cloud &cloud, resultT &result) |
| store pointers to the result WorldObject in the cloud and return the recordlist | |
Private Attributes | |
| bool | debug =false |
| bool | immediate_execution =false |
| taskT | task |
| std::shared_ptr< MacroTaskQ > | taskq_ptr |
| World & | world |
Static Private Attributes | |
| template<typename Q, typename ResT> | |
| static constexpr bool | has_accumulate_locally_v |
| template<typename Q> | |
| static constexpr bool | has_finalize_stage1_v |
| template<typename Q, typename ResT> | |
| static constexpr bool | has_finalize_stage2_v |
| template<typename Q> | |
| static constexpr bool | has_prepare_owner_assignment_v |
| template<typename Q, typename ArgTuple> | |
| static constexpr bool | has_store_batches_v |
| template<typename Q, typename VecT> | |
| static constexpr bool | has_sym_pipeline_advance_v |
| template<typename Q> | |
| static constexpr bool | has_wants_node_local_reduction_v |
|
private |
|
private |
true if: task.accumulate_locally(subworld, result_subworld)
|
private |
true if: task.finalize_stage1(subworld, nodeworld)
|
private |
true if: task.finalize_stage2(subworld, nodeworld, universe_result)
|
private |
|
private |
|
private |
true if: task.store_batches(world, subworld, cloud, argtuple, nsubworld)
|
private |
true if: task.sym_pipeline_advance(subworld, ket, next_col, next_row, has_next)
|
private |
true if: task.wants_node_local_reduction()
|
private |
|
private |
|
private |
|
private |
|
inlineexplicit |
constructor takes the task, but no arguments to the task
References MacroTask(), immediate_execution, task, and world.
Referenced by MacroTask(), MacroTask(), and set_debug().
|
inlineexplicit |
constructor takes task and a taskq factory for customization, immediate execution
References MacroTask(), immediate_execution, task, and world.
|
inlineexplicit |
constructor takes the task, and a taskq, execution is not immediate
References debug, immediate_execution, task, taskq_ptr, madness::MacroTaskInfo::to_cloud_storage_policy(), and world.
|
inline |
References taskq_ptr.
Referenced by madness::SCF::apply_bsh_macrotask(), and madness::CC2::solve_mp2_coupled().
|
inline |
this mimicks the original call to the task functor, called from the universe
store all input to the cloud, create output Function<T,NDIM> in the universe, create the batched task and shove it into the taskq. Possibly execute the taskq.
References debug, madness::Future< void >::value, has_prepare_owner_assignment_v, has_store_batches_v, immediate_execution, prepare_output_records(), madness::print(), madness::MacroTaskPartitioner::recompute_priorities(), task, taskq_ptr, and world.
|
inlineprivate |
store pointers to the result WorldObject in the cloud and return the recordlist
References madness::check_tuple_is_valid_task_result(), debug, madness::get_impl(), madness::is_valid_task_result_v, MADNESS_EXCEPTION, madness::print(), madness::Cloud::store(), v, and world.
Referenced by operator()().
|
inline |
References MacroTask(), debug, and madness::Future< void >::value.
Referenced by test_immediate(), test_priority(), and test_task1().
|
private |
|
staticconstexprprivate |
Referenced by madness::MacroTask< taskT >::MacroTaskInternal::run().
|
staticconstexprprivate |
Referenced by madness::MacroTask< taskT >::MacroTaskInternal::finalize_stage1().
|
staticconstexprprivate |
Referenced by madness::MacroTask< taskT >::MacroTaskInternal::finalize_stage2().
|
staticconstexprprivate |
Referenced by operator()().
|
staticconstexprprivate |
Referenced by operator()().
|
staticconstexprprivate |
|
staticconstexprprivate |
|
private |
Referenced by MacroTask(), MacroTask(), MacroTask(), and operator()().
|
private |
Referenced by MacroTask(), MacroTask(), MacroTask(), and operator()().
|
private |
Referenced by MacroTask(), get_taskq(), and operator()().
|
private |
Referenced by MacroTask(), MacroTask(), MacroTask(), operator()(), and prepare_output_records().