![]() |
Rosetta
2021.16
|
#include <NodeManager.hh>

Public Member Functions | |
| NodeManager (core::Size job_offset, core::Size num_jobs_total, core::Size num_partitions, utility::vector1< core::Size > num_results_to_keep_for_part, utility::vector1< core::Size > result_threshold_per_part=utility::vector1< core::Size >(0), bool return_results_depth_first=false) | |
| ~NodeManager () override | |
| void | clear () |
| void | note_job_completed (GlobalJobID global_job_id, core::Size nresults) |
| please call this from your job queen's note_job_completed() function More... | |
| virtual void | register_result (GlobalJobID global_job_id, core::Size result_id, core::Real score, core::Size partition=1, uint64_t token=0) |
| insert this result into the sorted container. Please specify which partition you want to put it in if you are not using the SimpleNodeManager More... | |
| core::Size | get_next_local_jobid () |
| This class can be used to determine which job should be submitted next. A value of 0 means that we are done submitting for this dag node. More... | |
| void | append_job_results_that_should_be_discarded (std::list< jd3::JobResultID > &list) |
| This does not erase the list! We just add job result ids that have been eliminated from the results to keep. More... | |
| jd3::JobResultID | get_nth_job_result_id (core::Size n) |
| this has better future-proofing over results_to_keep()[ int ]. Returns {0,0} if no result More... | |
| bool | done_submitting () const |
| bool | jobs_are_still_running () |
| bool | all_results_are_in () const |
| bool | all_waste_is_discarded () const |
| utility::vector1< ResultElements > | results_to_keep () |
| old way to access the results. get_nth_job_result_id() is prefered. More... | |
| core::Size | num_jobs () const |
| void | set_num_jobs (core::Size new_num_jobs) |
| core::Size | num_jobs_submitted () const |
| core::Size | num_jobs_completed () const |
| core::Size | num_results_to_keep () const |
| core::Size | job_offset () const |
| core::Size | num_results_total () const |
| void | stop_early () |
| bool | stopped_early () const |
| void | set_max_num_results_with_same_token_per_partition (core::Size setting) |
| Perhaps you have a diversity requirement and do not want too many results with the same token (token can represent anything you want - as long as it can be stored as a core::Size), this setting is for you. More... | |
| void | set_return_results_depth_first (bool setting) |
| please refer to protocols/jd3/dag_node_managers/NodeManagerStorageMatrix.hh for more details about this option More... | |
Protected Member Functions | |
| core::Size | num_results_received () |
| bool | ready_to_finish_early () const |
| protocols::jd3::dag_node_managers::NodeManager::NodeManager | ( | core::Size | job_offset, |
| core::Size | num_jobs_total, | ||
| core::Size | num_partitions, | ||
| utility::vector1< core::Size > | num_results_to_keep_for_part, | ||
| utility::vector1< core::Size > | result_threshold_per_part = utility::vector1< core::Size > ( 0 ), |
||
| bool | return_results_depth_first = false |
||
| ) |
| job_offset | The node manager can only represent nodes where the jobids form a continuous range. That range should start at job_offset+1. |
| num_jobs_total | The range mentioned previous should end with job_offset+num_jobs_total (inclusive) |
| num_partitions | The total number of partitions you want |
| num_results_to_keep_for_part | maximum number of results you want to keep per partition. num_results_to_keep_for_part.size() should equal num_partitions |
| result_threshold_per_part | If you want to have a result threshold, define here the threshold for each partition. result_threshold_per_part.size() should equal num_partitions |
| return_results_depth_first | please refer to protocols/jd3/dag_node_managers/NodeManagerStorageMatrix.hh for more details about this option |
References num_results_to_keep_, num_results_to_keep_for_part_, and protocols::jd3::TR().
|
override |
|
inline |
References done_submitting(), num_jobs_completed_, num_jobs_submitted_, num_results_received_, and num_results_total_.
Referenced by all_waste_is_discarded().
|
inline |
References all_results_are_in(), and job_results_that_should_be_discarded_.
|
inline |
This does not erase the list! We just add job result ids that have been eliminated from the results to keep.
References job_results_that_should_be_discarded_.
| void protocols::jd3::dag_node_managers::NodeManager::clear | ( | ) |
|
inline |
References num_jobs_submitted_, num_jobs_total_, and stopped_early_.
Referenced by all_results_are_in(), and get_next_local_jobid().
|
inline |
This class can be used to determine which job should be submitted next. A value of 0 means that we are done submitting for this dag node.
References done_submitting(), and num_jobs_submitted_.
|
inline |
this has better future-proofing over results_to_keep()[ int ]. Returns {0,0} if no result
References protocols::jd3::dag_node_managers::NodeManagerStorageMatrix::get_nth_element(), protocols::jd3::dag_node_managers::ResultElements::job_result_id(), and results_to_keep_.
|
inline |
References job_offset_.
|
inline |
References num_jobs_completed_, and num_jobs_submitted_.
|
inline |
please call this from your job queen's note_job_completed() function
References num_jobs_completed_, and num_results_total_.
|
inline |
References num_jobs_total_.
|
inline |
References num_jobs_completed_.
|
inline |
References num_jobs_submitted_.
|
inlineprotected |
References num_results_received_.
|
inline |
References num_results_to_keep_.
|
inline |
References num_results_total_.
|
inlineprotected |
References num_partitions_, num_results_received_for_part_, and result_threshold_per_part_.
Referenced by register_result().
|
virtual |
insert this result into the sorted container. Please specify which partition you want to put it in if you are not using the SimpleNodeManager
Reimplemented in protocols::jd3::dag_node_managers::SimpleNodeManager.
References protocols::jd3::dag_node_managers::ResultElements::global_job_id, protocols::jd3::dag_node_managers::NodeManagerStorageMatrix::insert(), job_results_that_should_be_discarded_, protocols::jd3::dag_node_managers::ResultElements::local_result_id, num_results_received_, num_results_received_for_part_, ready_to_finish_early(), result_threshold_, results_to_keep_, and stopped_early_.
Referenced by protocols::jd3::dag_node_managers::SimpleNodeManager::register_result().
|
inline |
old way to access the results. get_nth_job_result_id() is prefered.
References protocols::jd3::dag_node_managers::NodeManagerStorageMatrix::linear_vector_of_results(), results_to_keep_, and stopped_early_.
|
inline |
Perhaps you have a diversity requirement and do not want too many results with the same token (token can represent anything you want - as long as it can be stored as a core::Size), this setting is for you.
References max_num_results_with_same_token_per_partition_, results_to_keep_, and protocols::jd3::dag_node_managers::NodeManagerStorageMatrix::set_max_num_results_with_same_token_per_partition().
|
inline |
References num_jobs_total_.
|
inline |
please refer to protocols/jd3/dag_node_managers/NodeManagerStorageMatrix.hh for more details about this option
References results_to_keep_, and protocols::jd3::dag_node_managers::NodeManagerStorageMatrix::set_return_results_depth_first().
|
inline |
References stopped_early_.
|
inline |
References stopped_early_.
|
private |
Referenced by job_offset().
|
private |
Referenced by all_waste_is_discarded(), append_job_results_that_should_be_discarded(), and register_result().
|
private |
Referenced by set_max_num_results_with_same_token_per_partition().
|
private |
Referenced by all_results_are_in(), jobs_are_still_running(), note_job_completed(), and num_jobs_completed().
|
private |
Referenced by all_results_are_in(), done_submitting(), get_next_local_jobid(), jobs_are_still_running(), and num_jobs_submitted().
|
private |
Referenced by done_submitting(), num_jobs(), and set_num_jobs().
|
private |
Referenced by ready_to_finish_early().
|
private |
Referenced by all_results_are_in(), num_results_received(), and register_result().
|
private |
Referenced by ready_to_finish_early(), and register_result().
|
private |
Referenced by NodeManager(), and num_results_to_keep().
|
private |
Referenced by NodeManager().
|
private |
Referenced by all_results_are_in(), note_job_completed(), and num_results_total().
|
private |
Referenced by register_result().
|
private |
Referenced by ready_to_finish_early().
|
private |
|
private |
Referenced by done_submitting(), register_result(), results_to_keep(), stop_early(), and stopped_early().
1.8.7