Rosetta  2021.16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
protocols::pack_daemon::MPIMultistateFitnessFunction Class Reference

#include <MultistateFitnessFunction.hh>

Inheritance diagram for protocols::pack_daemon::MPIMultistateFitnessFunction:
Inheritance graph
[legend]

Public Member Functions

 MPIMultistateFitnessFunction ()
 
 ~MPIMultistateFitnessFunction () override
 
void set_num_pack_daemons (core::Size n_daemons)
 Inform this MPIMultistateFitnessFunction how many PackDaemons are running on all nodes (counting this one) which it may be unaware of. More...
 
void set_num_npd_properties (core::Size n_npd_properties)
 Inform this MPIMultistateFitnessFunction how many non-pairwise decomposable properties will be computed for all states. More...
 
void send_spin_down_signal ()
 Spin down the other nodes. No entity evaluation may follow the spin down call. More...
 
- Public Member Functions inherited from protocols::pack_daemon::MultistateFitnessFunction
 MultistateFitnessFunction ()
 
 ~MultistateFitnessFunction () override
 
core::Real evaluate (Entity &entity) override
 
StateEnergies const & state_energies () const
 
StateEnergies const & npd_properties () const
 
void daemon_set (DaemonSetOP ds)
 
void aggregate_function (MultistateAggregateFunctionOP func)
 
DaemonSetCOP daemon_set () const
 
MultistateAggregateFunctionCOP aggregate_function () const
 
void set_history_size (core::Size history_size)
 
void clear_history ()
 
std::list< std::pair
< core::Size, PoseOP > > 
recover_relevant_poses_for_entity (Entity const &)
 
- Public Member Functions inherited from protocols::genetic_algorithm::FitnessFunction
 ~FitnessFunction () override=default
 

Protected Member Functions

void compute_state_energies (Entity const &entity) override
 Override the base class implementation by broadcasting the entity to all slave nodes, and waiting for them to report the energies from their PackDaemons for that entity. If this node has PackDaemons, then it will evaluate their energies, too. More...
 
void instruct_daemons_to_keep_last_entity () override
 Broadcast the instruction to DaemonSets on all other nodes to keep the entity that was just evaluated. More...
 
void instruct_daemons_to_drop_entity (Entity const &entity) override
 Broadcast the instruction to DaemonSets on all other nodes to discard an old entity which had been previously held on to. More...
 
std::list< std::pair
< core::Size, PoseOP > > 
recover_poses_from_states (Entity const &, utility::vector1< core::Size > const &which_states) override
 Broadcast the entity and the set of states that correspond to a set of poses that are important. The entity had better still live on the distant nodes. More...
 
- Protected Member Functions inherited from protocols::pack_daemon::MultistateFitnessFunction
virtual core::Real compute_aggregate_score (Entity const &entity)
 
utility::vector1< core::Real > & state_energies ()
 
utility::vector1< core::Real > & npd_properties ()
 
DaemonSetOP daemon_set ()
 
MultistateAggregateFunctionOP aggregate_function ()
 
core::Size which_top_entity (Entity const &ent) const
 
void update_entity_history (Entity const &ent)
 

Private Member Functions

void broadcast_entity_string (Entity const &entity)
 

Private Attributes

core::Size MPI_nprocs_
 

Additional Inherited Members

- Public Types inherited from protocols::pack_daemon::MultistateFitnessFunction
typedef
protocols::genetic_algorithm::FitnessFunction 
parent
 
typedef
protocols::genetic_algorithm::Entity 
Entity
 
typedef
protocols::genetic_algorithm::EntityOP 
EntityOP
 
typedef utility::vector1
< core::Real
StateEnergies
 
typedef std::pair
< StateEnergies, StateEnergies
StateEnergiesAndNPDs
 
typedef core::pose::PoseOP PoseOP
 
typedef core::pose::Pose Pose
 
typedef core::Real Real
 
typedef core::Size Size
 
typedef std::pair< EntityOP,
StateEnergiesAndNPDs
EntityAndScore
 
typedef utility::vector1
< EntityAndScore
EntityHistory
 
- Public Types inherited from protocols::genetic_algorithm::FitnessFunction
typedef
utility::pointer::shared_ptr
< FitnessFunction
OP
 
typedef
utility::pointer::shared_ptr
< FitnessFunction const > 
COP
 

Constructor & Destructor Documentation

protocols::pack_daemon::MPIMultistateFitnessFunction::MPIMultistateFitnessFunction ( )

References MPI_nprocs_.

protocols::pack_daemon::MPIMultistateFitnessFunction::~MPIMultistateFitnessFunction ( )
overridedefault

Member Function Documentation

void protocols::pack_daemon::MPIMultistateFitnessFunction::broadcast_entity_string ( Entity const &  entity)
private
void protocols::pack_daemon::MPIMultistateFitnessFunction::compute_state_energies ( Entity const &  entity)
overrideprotectedvirtual

Override the base class implementation by broadcasting the entity to all slave nodes, and waiting for them to report the energies from their PackDaemons for that entity. If this node has PackDaemons, then it will evaluate their energies, too.

Reimplemented from protocols::pack_daemon::MultistateFitnessFunction.

References broadcast_entity_string(), protocols::pack_daemon::MultistateFitnessFunction::daemon_set(), core::sequence::end, protocols::pack_daemon::evaluate_entity, MPI_nprocs_, protocols::pack_daemon::MultistateFitnessFunction::npd_properties(), and protocols::pack_daemon::MultistateFitnessFunction::state_energies().

void protocols::pack_daemon::MPIMultistateFitnessFunction::instruct_daemons_to_drop_entity ( Entity const &  entity)
overrideprotectedvirtual

Broadcast the instruction to DaemonSets on all other nodes to discard an old entity which had been previously held on to.

Reimplemented from protocols::pack_daemon::MultistateFitnessFunction.

References broadcast_entity_string(), protocols::pack_daemon::MultistateFitnessFunction::daemon_set(), protocols::pack_daemon::discard_old_entity, and MPI_nprocs_.

void protocols::pack_daemon::MPIMultistateFitnessFunction::instruct_daemons_to_keep_last_entity ( )
overrideprotectedvirtual

Broadcast the instruction to DaemonSets on all other nodes to keep the entity that was just evaluated.

Reimplemented from protocols::pack_daemon::MultistateFitnessFunction.

References protocols::pack_daemon::MultistateFitnessFunction::daemon_set(), protocols::pack_daemon::keep_rotamer_assignment_for_last_entity, and MPI_nprocs_.

std::list< std::pair< MultistateFitnessFunction::Size, MultistateFitnessFunction::PoseOP > > protocols::pack_daemon::MPIMultistateFitnessFunction::recover_poses_from_states ( Entity const &  entity,
utility::vector1< core::Size > const &  which_states 
)
overrideprotectedvirtual

Broadcast the entity and the set of states that correspond to a set of poses that are important. The entity had better still live on the distant nodes.

Reimplemented from protocols::pack_daemon::MultistateFitnessFunction.

References broadcast_entity_string(), protocols::pack_daemon::MultistateFitnessFunction::daemon_set(), protocols::pack_daemon::geneate_pose_from_old_state, MPI_nprocs_, core::import_pose::pose_from_pdbstring(), and core::id::to_string().

void protocols::pack_daemon::MPIMultistateFitnessFunction::send_spin_down_signal ( )

Spin down the other nodes. No entity evaluation may follow the spin down call.

References MPI_nprocs_, and protocols::pack_daemon::spin_down.

void protocols::pack_daemon::MPIMultistateFitnessFunction::set_num_npd_properties ( core::Size  n_npd_properties)

Inform this MPIMultistateFitnessFunction how many non-pairwise decomposable properties will be computed for all states.

References protocols::pack_daemon::MultistateFitnessFunction::npd_properties().

void protocols::pack_daemon::MPIMultistateFitnessFunction::set_num_pack_daemons ( core::Size  n_daemons)

Inform this MPIMultistateFitnessFunction how many PackDaemons are running on all nodes (counting this one) which it may be unaware of.

References protocols::pack_daemon::MultistateFitnessFunction::state_energies().

Member Data Documentation

core::Size protocols::pack_daemon::MPIMultistateFitnessFunction::MPI_nprocs_
private

The documentation for this class was generated from the following files: