Rosetta 3.4
Public Types | Public Member Functions | Protected Types | Protected Member Functions
protocols::jobdist::AtomTreeDiffJobDistributor Class Reference

Distributor for use with atomtree_diff silent files. More...

#include <JobDistributors.hh>

Inheritance diagram for protocols::jobdist::AtomTreeDiffJobDistributor:
Inheritance graph
[legend]
Collaboration diagram for protocols::jobdist::AtomTreeDiffJobDistributor:
Collaboration graph
[legend]

List of all members.

Public Types

typedef BaseJobDistributor parent

Public Member Functions

 AtomTreeDiffJobDistributor (JobVector jobs, std::string outfile_name)
virtual ~AtomTreeDiffJobDistributor ()
virtual void dump_pose (std::string const &tag, std::map< std::string, core::Real > const &scores, core::pose::Pose const &ref_pose, core::pose::Pose const &pose)
 Appends pose to the silent file.
virtual void set_precision (int bb_precision, int sc_precision, int bondlen_precision)
 Sets number of digits used in writing atomtree diff.
virtual void shutdown ()
 Must be called by client after last call to next_job(). If overriden by a subclass, it MUST call the superclass implementation.

Protected Types

typedef utility::vector1
< BasicJobOP
JobVector

Protected Member Functions

virtual bool is_finished (BasicJobOP const &job, int struct_n)
 Is the given nstruct number of the given input job already finished by the local process? To be implemented by subclasses.

Detailed Description

Distributor for use with atomtree_diff silent files.

This class is deliberately designed for each process to work on its own silent file (and preferrably in its own directory); unlike Rosetta++, we DO NOT share silent files among multiple processes. First, true atomic file locking is impossible on most distributed file systems (e.g. NFS), meaning that files may be corrupted by multiple simultaneous writes. For long-running processes, collisions may be rare, but as we scale to more processors it becomes increasingly dangerous. Second, many processes writing to the same file (or even directory) can cause tremendous file system bottlenecks, possibly bringing down the cluster; ask Keith or Chance in the Baker lab for details.


Member Typedef Documentation


Constructor & Destructor Documentation

protocols::jobdist::AtomTreeDiffJobDistributor::AtomTreeDiffJobDistributor ( JobVector  jobs,
std::string  outfile_name 
)
protocols::jobdist::AtomTreeDiffJobDistributor::~AtomTreeDiffJobDistributor ( ) [virtual]

Member Function Documentation

void protocols::jobdist::AtomTreeDiffJobDistributor::dump_pose ( std::string const &  tag,
std::map< std::string, core::Real > const &  scores,
core::pose::Pose const &  ref_pose,
core::pose::Pose const &  pose 
) [virtual]
bool protocols::jobdist::AtomTreeDiffJobDistributor::is_finished ( BasicJobOP const &  job,
int  struct_n 
) [protected, virtual]

Is the given nstruct number of the given input job already finished by the local process? To be implemented by subclasses.

Implements protocols::jobdist::BaseJobDistributor.

void protocols::jobdist::AtomTreeDiffJobDistributor::set_precision ( int  bb_precision,
int  sc_precision,
int  bondlen_precision 
) [virtual]

Sets number of digits used in writing atomtree diff.

void protocols::jobdist::AtomTreeDiffJobDistributor::shutdown ( ) [virtual]

Must be called by client after last call to next_job(). If overriden by a subclass, it MUST call the superclass implementation.

If overriden by a subclass, it MUST call the superclass implementation.

Reimplemented from protocols::jobdist::BaseJobDistributor.

Referenced by protocols::jobdist::main_atom_tree_diff_mover().


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