Rosetta 3.4
Public Member Functions | Protected Member Functions | Friends
protocols::jd2::MPIMultiCommJobDistributor Class Reference

#include <MPIMultiCommJobDistributor.hh>

Inheritance diagram for protocols::jd2::MPIMultiCommJobDistributor:
Inheritance graph
[legend]
Collaboration diagram for protocols::jd2::MPIMultiCommJobDistributor:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual core::Size get_new_job_id ()
 dummy for master/slave version
virtual void job_succeeded (core::pose::Pose &pose, core::Real run_time)
 overloaded to suppress message from higher-rank replicas
virtual void job_failed (core::pose::Pose &pose, bool)
 overloaded to suppress message from higher-rank replicas
core::Size sub_rank ()

Protected Member Functions

 MPIMultiCommJobDistributor (core::Size sub_size)
 ctor is protected; singleton pattern
virtual void handle_interrupt ()
 This function got called when job is not yet finished and got termitated abnormaly (ctrl-c, kill etc). when implimenting it in subclasses make sure to delete all in-progress-data that your job spawn.

Friends

class JobDistributorFactory

Detailed Description

This JobDistributor is intended for JD2 controlled runs of multiple parallel simulations that use multiple replicas: e.g., N trajectories of M replicas on N*M+2 processes. (2 processes for central JD2 and MPIFileBuf ) derived from MPIFileBufJobDistributor: two dedicated processes are used to handle JobDistribution and File-IO. all other processes (higher rank ) are used for computation.


Constructor & Destructor Documentation

protocols::jd2::MPIMultiCommJobDistributor::MPIMultiCommJobDistributor ( core::Size  sub_size) [protected]

ctor is protected; singleton pattern

constructor. Notice it calls the parent class! It also builds some internal variables for determining which processor it is in MPI land.


Member Function Documentation

core::Size protocols::jd2::MPIMultiCommJobDistributor::get_new_job_id ( ) [virtual]

dummy for master/slave version

master-job distributes job-ids as usual. sub-masters obtain a new job from master all processes within a single communication context work on the same job-id. ( Bcast )

Reimplemented from protocols::jd2::MPIFileBufJobDistributor.

virtual void protocols::jd2::MPIMultiCommJobDistributor::handle_interrupt ( ) [inline, protected, virtual]

This function got called when job is not yet finished and got termitated abnormaly (ctrl-c, kill etc). when implimenting it in subclasses make sure to delete all in-progress-data that your job spawn.

Reimplemented from protocols::jd2::MPIFileBufJobDistributor.

void protocols::jd2::MPIMultiCommJobDistributor::job_failed ( core::pose::Pose pose,
bool  retry 
) [virtual]

overloaded to suppress message from higher-rank replicas

dummy for master/slave version

Reimplemented from protocols::jd2::MPIFileBufJobDistributor.

void protocols::jd2::MPIMultiCommJobDistributor::job_succeeded ( core::pose::Pose pose,
core::Real  run_time 
) [virtual]

overloaded to suppress message from higher-rank replicas

dummy for master/slave version

Reimplemented from protocols::jd2::MPIFileBufJobDistributor.

core::Size protocols::jd2::MPIMultiCommJobDistributor::sub_rank ( ) [inline]

Friends And Related Function Documentation

friend class JobDistributorFactory [friend]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines