Rosetta 3.5
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
protocols
elscripts
MPI_Master.hh
Go to the documentation of this file.
1
// -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
2
// vi: set ts=2 noet:
3
//
4
// (c) Copyright Rosetta Commons Member Institutions.
5
// (c) This file is part of the Rosetta software suite and is made available under license.
6
// (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
7
// (c) For more information, see http://www.rosettacommons.org. Questions about this can be
8
// (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
9
10
/// @file protocols/elscripts/MPI_Master.hh
11
/// @brief The MPI_Master role in elscripts, handles trajectories, generating workunits, processing of results
12
/// Has additional functions related to boost mpi world and MPI_EndPoint
13
/// @author Ken Jung
14
15
#ifndef INCLUDED_protocols_elscripts_MPI_Master_hh
16
#define INCLUDED_protocols_elscripts_MPI_Master_hh
17
#if defined (USEBOOSTMPI) && defined (USELUA)
18
// this is useless without mpi and lua
19
#include <
protocols/elscripts/MPI_Master.fwd.hh
>
20
#include <
protocols/elscripts/Master.hh
>
21
#include <
protocols/wum2/MPI_EndPoint.hh
>
22
23
namespace
protocols {
24
namespace
elscripts {
25
26
void
lregister_MPI_Master( lua_State * lstate );
27
28
class
MPI_Master :
public
Master {
29
public
:
30
// default memory limit is 1GB
31
// default reserved mem size is 100MB as recommended by fpd
32
MPI_Master( boost::mpi::communicator world, std::vector<int> slaves,
int
num_trajectories = 1, boost::uint64_t mem_limit=2147483648, boost::uint64_t reserved_mem=104857600, boost::uint64_t reserved_mem_multiplier=5 );
33
~MPI_Master(){}
34
void
go();
35
36
private
:
37
int
inputter_rank() {
38
// handles if there is or is not pool logic, needed for inputter offset
39
// doesnt do anything now
40
return
world_.rank() + 1;
41
}
42
43
//void request_pool_structures( std::vector< int > needs_replace );
44
//void request_pool_structure( int trajectory_idx );
45
46
private
:
47
boost::mpi::communicator world_;
48
49
std::vector< int > slaves_;
50
boost::posix_time::ptime last_status_sweep_time_;
51
};
52
53
}
//elscripts
54
}
//protocols
55
#endif
56
#endif
Generated on Sat Jun 1 2013 11:47:41 for Rosetta 3.5 by
1.8.4