![]() |
Rosetta Protocols
2014.35
|
#include <DatabaseQueryWorkUnitManager.hh>
Public Member Functions | |
DatabaseQueryWorkUnitManager (core::Size master_rank, utility::sql_database::sessionOP db_session, std::string query_string, std::string wu_type) | |
virtual | ~DatabaseQueryWorkUnitManager () |
virtual void | go () |
![]() | |
MPI_WorkUnitManager (char machine_letter) | |
virtual | ~MPI_WorkUnitManager () |
![]() | |
WorkUnitManager () | |
virtual | ~WorkUnitManager () |
void | register_work_units (const protocols::wum::WorkUnitList &work_unit_list) |
WorkUnitQueue & | outbound () |
WorkUnitQueue & | inbound () |
const WorkUnitQueue & | outbound () const |
const WorkUnitQueue & | inbound () const |
Protected Member Functions | |
virtual void | init () |
virtual void | process_inbound_wus () |
Process the inbound WUs (these will be the same DB work units send during the constructor - but now they have the data we want). More... | |
virtual void | process_outbound_wus () |
create the database WUs and add them to the outgoing queue More... | |
void | create_work_units_from_query (std::string wu_type) |
core::Size | master_rank () |
core::Size | my_emperor () |
![]() | |
virtual void | print_stats () |
Print a line with general run statistics, now. More... | |
virtual void | print_stats_auto () |
Print a line with general run statistics, only if enough time has pased since the last statistics printout. More... | |
void | reset_timing_stats () |
Reset all the stats counters. More... | |
void | process_incoming_msgs (bool wait_until_message=false) |
MPI Communication function. More... | |
void | send_MPI_workunit (const WorkUnitBaseOP &wu, int dest_rank) const |
Send a workunit to an arbitrary recipient. More... | |
void | receive_MPI_workunit (core::Size node_rank=MPI_ANY_SOURCE) |
Receive a workunit and add it to the inbound queue. By default accept any workunit or accept a specific source rank. Note that this function is blocking and will onyl return once a workunit has been received. More... | |
void | send_next_WU_on_request () |
char | get_machine_letter () |
How many masters are there in total ? More... | |
core::Real | start_timer (MPI_TIMING timing_mode) const |
This initiates a new timer block. Note that there is no end_timer() function - you just keep calling start_timer, which automatically ends the previous block (and records times etc) More... | |
void | print_timing_stats () |
Display the timing statistics. More... | |
long | wall_time () const |
Return the total life time of this class in seconds. More... | |
![]() | |
const protocols::wum::WorkUnitList & | work_unit_list () const |
protocols::wum::WorkUnitList & | work_unit_list () |
void | write_queues_to_file (const std::string &prefix="default") const |
void | write_work_unit (const WorkUnitBaseOP &wu, std::ostream &out) const |
void | write_queue (const WorkUnitQueue &the_queue, std::ostream &out) const |
void | read_queues_from_file (const std::string &prefix="default") |
bool | read_work_unit (WorkUnitBaseOP &qualified_wu, std::istream &in) |
void | read_queue (WorkUnitQueue &the_queue, std::istream &in) |
core::Size | mem_foot_print () const |
return total memory foot print in bytes More... | |
Private Attributes | |
const core::Size | my_emperor_ |
const core::Size | master_rank_ |
utility::sql_database::sessionOP | db_session_ |
std::string | query_string_ |
Additional Inherited Members | |
![]() | |
typedef WorkUnitQueue::iterator | iterator |
typedef WorkUnitQueue::const_iterator | const_iterator |
![]() | |
enum | MPI_TIMING { TIMING_WAIT =0, TIMING_TRANSFER_SEND, TIMING_TRANSFER_RECV, TIMING_CPU, TIMING_IO_WRITE, TIMING_IO_READ, TIMING_IDLE, TIMING_end } |
protocols::wum::DatabaseQueryWorkUnitManager< T >::DatabaseQueryWorkUnitManager | ( | core::Size | master_rank, |
utility::sql_database::sessionOP | db_session, | ||
std::string | query_string, | ||
std::string | wu_type | ||
) |
|
inlinevirtual |
|
protected |
|
virtual |
Implements protocols::wum::MPI_WorkUnitManager.
References protocols::init::init(), protocols::wum::mpi_rank(), and protocols::wum::TR.
|
inlineprotectedvirtual |
Implements protocols::wum::MPI_WorkUnitManager.
|
inlineprotected |
|
inlineprotected |
|
protectedvirtual |
Process the inbound WUs (these will be the same DB work units send during the constructor - but now they have the data we want).
Implements protocols::wum::MPI_WorkUnitManager.
References protocols::wum::DatabaseEntryWorkUnit::result_query_string(), runtime_assert, basic::database::safely_prepare_statement(), basic::database::safely_write_to_database(), size(), and protocols::wum::TR.
|
protectedvirtual |
create the database WUs and add them to the outgoing queue
Implements protocols::wum::MPI_WorkUnitManager.
|
private |
|
private |
|
private |
|
private |