Go to the documentation of this file.
18 #ifndef escript_SplitWorld_H
19 #define escript_SplitWorld_H
24 #include <boost/python.hpp>
25 #include <boost/smart_ptr.hpp>
44 boost::python::object buildDomains(boost::python::tuple t, boost::python::dict kwargs);
48 void addJob(boost::python::object creator, boost::python::tuple tup, boost::python::dict kw);
49 void addJobPerWorld(boost::python::object creator, boost::python::tuple tup, boost::python::dict kw);
51 void addVariable(std::string name, boost::python::object creator, boost::python::tuple ntup, boost::python::dict kwargs);
52 void removeVariable(std::string name);
53 void clearVariable(std::string name);
54 std::list<std::pair<std::string, bool> > getVarList();
55 boost::python::object getVarPyList();
56 boost::python::object getVarPyInfo();
61 boost::python::object getLocalObjectVariable(
const std::string& name);
63 int getSubWorldCount();
66 void copyVariable(
const std::string& src,
const std::string& dest);
77 std::vector<boost::python::object>
create;
78 std::vector<boost::python::tuple>
tupargs;
79 std::vector<boost::python::dict>
kwargs;
83 void clearPendingJobs();
84 void distributeJobs();
93 boost::python::object
raw_buildDomains(boost::python::tuple t, boost::python::dict kwargs);
99 boost::python::object
raw_addJob(boost::python::tuple t, boost::python::dict kwargs);
105 boost::python::object
raw_addJobPerWorld(boost::python::tuple t, boost::python::dict kwargs);
111 boost::python::object
raw_addVariable(boost::python::tuple t, boost::python::dict kwargs);
std::vector< boost::python::dict > kwargs
Definition: SplitWorld.h:79
#define ESCRIPT_DLL_API
Definition: escriptcore/src/system_dep.h:30
unsigned int jobcounter
Definition: SplitWorld.h:81
std::vector< boost::python::tuple > tupargs
Definition: SplitWorld.h:78
double real_t
type of all real-valued scalars in escript
Definition: DataTypes.h:52
unsigned int swcount
Definition: SplitWorld.h:73
void removeVariable(std::string name)
Definition: SplitWorld.cpp:300
Definition: AbstractReducer.h:31
boost::python::object getVarPyInfo()
Definition: SplitWorld.cpp:332
void distributeJobs()
Definition: SplitWorld.cpp:363
int getSubWorldCount()
Definition: SplitWorld.cpp:428
boost::python::object raw_addJob(boost::python::tuple t, boost::python::dict kwargs)
Definition: SplitWorld.cpp:473
Definition: EsysMPI.h:174
boost::shared_ptr< AbstractDomain > Domain_ptr
Definition: AbstractDomain.h:41
bool checkResult(int res, int &mres, const JMPI &info)
Everyone puts in their error code and everyone gets the largest one.
Definition: EsysMPI.cpp:110
escript::SubWorld_ptr localworld
Definition: SplitWorld.h:72
JMPI makeInfo(MPI_Comm comm, bool owncom)
Definition: EsysMPI.cpp:29
void addVariable(std::string name, boost::python::object creator, boost::python::tuple ntup, boost::python::dict kwargs)
Definition: SplitWorld.cpp:287
void clearAllJobs()
Definition: SplitWorld.cpp:348
JMPI leadercom
Definition: SplitWorld.h:71
void copyVariable(const std::string &src, const std::string &dest)
Definition: SplitWorld.cpp:438
boost::shared_ptr< AbstractReducer > Reducer_ptr
Definition: AbstractReducer.h:119
JMPI globalcom
Definition: SplitWorld.h:70
#define MPI_COMM_WORLD
Definition: EsysMPI.h:50
boost::shared_ptr< JMPI_ > JMPI
Definition: EsysMPI.h:74
unsigned int localid
Definition: SplitWorld.h:74
Definition: SplitWorldException.h:29
Definition: SubWorld.h:49
void runJobs()
Definition: SplitWorld.cpp:124
void addJobPerWorld(boost::python::object creator, boost::python::tuple tup, boost::python::dict kw)
Definition: SplitWorld.cpp:235
std::list< std::pair< std::string, bool > > getVarList()
Definition: SplitWorld.cpp:311
boost::shared_ptr< SubWorld > SubWorld_ptr
Definition: SubWorld.h:147
int getSubWorldID()
Definition: SplitWorld.cpp:433
Definition: SplitWorld.h:40
Definition: AbstractContinuousDomain.cpp:23
void clearPendingJobs()
Definition: SplitWorld.cpp:354
std::vector< boost::python::object > create
Definition: SplitWorld.h:77
boost::python::object getVarPyList()
Definition: SplitWorld.cpp:317
void addJob(boost::python::object creator, boost::python::tuple tup, boost::python::dict kw)
Definition: SplitWorld.cpp:224
int MPI_Comm
Definition: EsysMPI.h:44
boost::python::object buildDomains(boost::python::tuple t, boost::python::dict kwargs)
Definition: SplitWorld.cpp:98
boost::python::object raw_addJobPerWorld(boost::python::tuple t, boost::python::dict kwargs)
Definition: SplitWorld.cpp:492
boost::python::object raw_addVariable(boost::python::tuple t, boost::python::dict kwargs)
Definition: SplitWorld.cpp:513
bool shipString(const char *src, char **dest, MPI_Comm &comm)
Definition: EsysMPI.cpp:164
void getStringFromPyException(boost::python::error_already_set e, std::string &errormsg)
Definition: pyerr.cpp:27
bool manualimport
Definition: SplitWorld.h:82
~SplitWorld()
Definition: SplitWorld.cpp:91
boost::python::object raw_buildDomains(boost::python::tuple t, boost::python::dict kwargs)
Definition: SplitWorld.cpp:456
void clearVariable(std::string name)
Definition: SplitWorld.cpp:306