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();
93boost::python::object
raw_buildDomains(boost::python::tuple t, boost::python::dict kwargs);
99boost::python::object
raw_addJob(boost::python::tuple t, boost::python::dict kwargs);
105boost::python::object
raw_addJobPerWorld(boost::python::tuple t, boost::python::dict kwargs);
111boost::python::object
raw_addVariable(boost::python::tuple t, boost::python::dict kwargs);
#define MPI_COMM_WORLD
Definition EsysMPI.h:50
int MPI_Comm
Definition EsysMPI.h:44
Definition SplitWorld.h:40
unsigned int jobcounter
Definition SplitWorld.h:81
unsigned int localid
Definition SplitWorld.h:74
std::vector< boost::python::object > create
Definition SplitWorld.h:77
unsigned int swcount
Definition SplitWorld.h:73
bool manualimport
Definition SplitWorld.h:82
JMPI leadercom
Definition SplitWorld.h:71
escript::SubWorld_ptr localworld
Definition SplitWorld.h:72
std::vector< boost::python::dict > kwargs
Definition SplitWorld.h:79
std::vector< boost::python::tuple > tupargs
Definition SplitWorld.h:78
JMPI globalcom
Definition SplitWorld.h:70
#define ESCRIPT_DLL_API
Definition escriptcore/src/system_dep.h:30
double real_t
type of all real-valued scalars in escript
Definition DataTypes.h:52
Definition AbstractContinuousDomain.cpp:23
boost::python::object raw_addJobPerWorld(boost::python::tuple t, boost::python::dict kwargs)
Definition SplitWorld.cpp:492
boost::shared_ptr< SubWorld > SubWorld_ptr
Definition SubWorld.h:147
boost::python::object raw_buildDomains(boost::python::tuple t, boost::python::dict kwargs)
Definition SplitWorld.cpp:456
boost::python::object raw_addVariable(boost::python::tuple t, boost::python::dict kwargs)
Definition SplitWorld.cpp:513
boost::python::object raw_addJob(boost::python::tuple t, boost::python::dict kwargs)
Definition SplitWorld.cpp:473
boost::shared_ptr< JMPI_ > JMPI
Definition EsysMPI.h:76