17 #ifndef escript_SubWorld_H 18 #define escript_SubWorld_H 51 unsigned int subworldcount,
unsigned int local_id,
60 void addJob(boost::python::object j);
61 char runJobs(std::string& errmsg);
67 std::list<std::pair<std::string, bool> >
getVarList();
68 std::list<std::pair<std::string, std::string> >
getVarInfo();
89 void copyVariable(
const std::string& src,
const std::string& dest);
101 std::vector<boost::python::object>
jobvec;
108 typedef std::map<std::string, unsigned char>
str2char;
115 std::vector<unsigned char> globalvarinfo;
117 typedef std::map<unsigned char, int> countmap;
118 typedef std::map<std::string, countmap> str2countmap;
119 str2countmap globalvarcounts;
120 bool globalinfoinvalid;
123 bool makeComm(
MPI_Comm& sourcecom,
JMPI& sub,std::vector<int>& members);
128 bool makeGroupComm1(
MPI_Comm& srccom,
int vnum,
char mystate,
JMPI& com);
131 bool makeGroupReduceGroups(
MPI_Comm& srccom,
int vnum,
char mystate,
JMPI& red,
JMPI& cop,
bool& incopy);
136 bool makeGroupComm2(
MPI_Comm& srccom,
int vnum,
char mystate,
JMPI& com,
bool& ingroup);
142 void setVarState(
const std::string& vname,
char state,
int swid);
Domain_ptr getDomain()
Definition: SubWorld.cpp:66
bool checkRemoteCompatibility(std::string &errmsg)
Definition: SubWorld.cpp:417
void addVariable(std::string &, Reducer_ptr &red)
Definition: SubWorld.cpp:990
JMPI & getCorrMPI()
Definition: SubWorld.cpp:56
void resetInterest()
Definition: SubWorld.cpp:1039
boost::shared_ptr< AbstractDomain > Domain_ptr
Definition: AbstractDomain.h:36
Definition: AbstractContinuousDomain.cpp:22
void newRunJobs()
Definition: SubWorld.cpp:1054
bool synchVariableInfo(std::string &err)
Definition: SubWorld.cpp:805
boost::shared_ptr< JMPI_ > JMPI
Definition: EsysMPI.h:71
#define REFCOUNT_BASE_CLASS(x)
Definition: Pointers.h:30
void clearJobs()
Definition: SubWorld.cpp:76
void setMyVarState(const std::string &vname, char state)
Definition: SubWorld.cpp:81
escript::Domain_ptr domain
Definition: SubWorld.h:100
SubWorld(JMPI &globalcom, JMPI &comm, JMPI &corr, unsigned int subworldcount, unsigned int local_id, bool manualimport)
Definition: SubWorld.cpp:35
bool localTransport(std::string &errmsg)
Definition: SubWorld.cpp:213
void setAllVarsState(const std::string &name, char state)
Definition: SubWorld.cpp:86
void copyVariable(const std::string &src, const std::string &dest)
Definition: SubWorld.cpp:1088
boost::shared_ptr< AbstractReducer > Reducer_ptr
Definition: AbstractReducer.h:117
JMPI everyone
Definition: SubWorld.h:94
bool deliverImports(std::string &errmsg)
Definition: SubWorld.cpp:159
unsigned int localid
Definition: SubWorld.h:105
bool manualimports
Definition: SubWorld.h:112
boost::shared_ptr< SubWorld > SubWorld_ptr
Definition: SubWorld.h:146
JMPI swmpi
Definition: SubWorld.h:95
std::list< std::pair< std::string, bool > > getVarList()
Definition: SubWorld.cpp:1062
std::vector< boost::python::object > jobvec
Definition: SubWorld.h:101
str2char varstate
Definition: SubWorld.h:110
void setVarState(const std::string &vname, char state, int swid)
Definition: SubWorld.cpp:123
bool synchVariableValues(std::string &err)
Definition: SubWorld.cpp:607
void setDomain(Domain_ptr d)
Definition: SubWorld.cpp:61
void removeVariable(std::string &name)
Definition: SubWorld.cpp:1016
std::list< std::pair< std::string, std::string > > getVarInfo()
Definition: SubWorld.cpp:1072
std::map< std::string, unsigned char > str2char
Definition: SubWorld.h:108
int MPI_Comm
Definition: EsysMPI.h:41
str2reduce reducemap
Definition: SubWorld.h:109
std::map< std::string, Reducer_ptr > str2reduce
Definition: SubWorld.h:107
Definition: SubWorld.h:47
~SubWorld()
Definition: SubWorld.cpp:47
void debug()
Definition: SubWorld.cpp:259
void clearVariable(std::string &name)
Definition: SubWorld.cpp:1027
char runJobs(std::string &errmsg)
Definition: SubWorld.cpp:954
unsigned int swcount
Definition: SubWorld.h:104
JMPI & getMPI()
Definition: SubWorld.cpp:51
size_t getNumVars()
Definition: SubWorld.cpp:984
JMPI corrmpi
Definition: SubWorld.h:96
boost::python::object getLocalObjectVariable(const std::string &name)
Definition: SubWorld.cpp:380
bool amLeader()
Definition: SubWorld.cpp:798
DataTypes::real_t getScalarVariable(const std::string &name)
Definition: SubWorld.cpp:332
double real_t
type of all real-valued scalars in escript
Definition: DataTypes.h:50
void addJob(boost::python::object j)
Definition: SubWorld.cpp:71