DDD: move global state to a context object
This merge request moves the global state from DDD into a context object to allow multiple grids in the parallel implementation of UGGrid.
Closes: #36 (closed)
Merge request reports
Activity
added 1 commit
-
45188a44 - ugm.cc: call constructor/destructor for
multigrid
objects
-
45188a44 - ugm.cc: call constructor/destructor for
added 17 commits
-
45188a44...cb1f48b4 - 8 commits from branch
master
-
46ed5c6a - introduce
PPIFContext
-
28379944 - PPIFContext: add
isMaster()
method - 19fcd0cf - add MPI flags to all libraries
-
a12bb96a - add
PPIFContext
to grid structure -
7c13af04 - refine.cc: use
PPIFContext
where available -
58b58766 - ugm.cc: use
PPIFContext
where available -
43287fc7 - ugm.cc: call constructor/destructor for
multigrid
objects - 999fdc62 - io.cc: no longer include local rank in debug output
- e1e4ad07 - lowcomm.cc: no longer include local rank in debug output
Toggle commit list-
45188a44...cb1f48b4 - 8 commits from branch
added 5 commits
- 8ec6d733 - remove support for defaults file
- 7a68bf5a - ddd: remove synchronized output
- 82e8e2da - ugdevices.cc: treat all ranks equally in parallel case
- 2d02c329 - ugdevices.cc: no longer try to get default mutelevel from defaults file
-
7a098781 - [cleanup] InitDevices: remove
argc
andargv
parameters
Toggle commit listadded 51 commits
-
7a098781...d5b57529 - 36 commits from branch
master
-
240663e7 - introduce
PPIFContext
-
e6c75878 - PPIFContext: add
isMaster()
method - c02389b8 - add MPI flags to all libraries
-
5afe1b61 - add
PPIFContext
to grid structure -
65721b9d - refine.cc: use
PPIFContext
where available -
9f97423d - ugm.cc: use
PPIFContext
where available -
2116cb9a - ugm.cc: call constructor/destructor for
multigrid
objects - b551728e - io.cc: no longer include local rank in debug output
- 1493fbef - lowcomm.cc: no longer include local rank in debug output
- 62cd59f5 - remove support for defaults file
- 7900eb4d - ddd: remove synchronized output
- 2822f06b - ugdevices.cc: treat all ranks equally in parallel case
- 66728b41 - ugdevices.cc: no longer try to get default mutelevel from defaults file
-
12b2a0db - [cleanup] InitDevices: remove
argc
andargv
parameters - 05642009 - add preprocessor macro to indicate support for context objects
Toggle commit list-
7a098781...d5b57529 - 36 commits from branch
added 23 commits
-
05642009...bcceb207 - 5 commits from branch
master
-
c1d4cffb - introduce
PPIFContext
-
9ec6f296 - PPIFContext: add
isMaster()
method - f2cef50f - add MPI flags to all libraries
-
78622201 - add
PPIFContext
to grid structure -
af6eb48d - refine.cc: use
PPIFContext
where available -
3c6f042a - ugm.cc: use
PPIFContext
where available -
009c7cc7 - ugm.cc: call constructor/destructor for
multigrid
objects - 4e9abeac - io.cc: no longer include local rank in debug output
- b3da594a - lowcomm.cc: no longer include local rank in debug output
- a1f57019 - remove support for defaults file
- e021e4cd - ddd: remove synchronized output
- 3067295e - ugdevices.cc: treat all ranks equally in parallel case
- 22cbc5bb - ugdevices.cc: no longer try to get default mutelevel from defaults file
-
32da3c42 - [cleanup] InitDevices: remove
argc
andargv
parameters - 0d4b24f4 - add preprocessor macro to indicate support for context objects
-
e063f75f - ELEM_DESC: use
unique_ptr
forgbits
member variable -
55a3bfe8 - cons.cc: use
std::vector
andstd::sort
-
f82383aa - debug.cc: use
std::sort
Toggle commit list-
05642009...bcceb207 - 5 commits from branch
added 27 commits
- f89a3961 - [cleanup] remove lib/ugdata/helpfile.list
- b5f344b2 - remove support for defaults file
- 8779e1c4 - ugdevices.cc: treat all ranks equally in parallel case
- 8142ca7a - ugdevices.cc: no longer try to get default mutelevel from defaults file
-
1b6ece75 - [cleanup] InitDevices: remove
argc
andargv
parameters - a5e28eae - ddd: remove synchronized output
-
956c9823 - [cleanup] DDD_Init: remove
argc
andargv
parameters -
d8b490b1 - ELEM_DESC: use
unique_ptr
forgbits
member variable -
034a42d2 - [cleanup] TYPE_DESC: use
bool
forhasHeader
member variable -
ffaf4c4b - introduce
PPIFContext
-
d6740fe6 - PPIFContext: add
isMaster()
method - 46d913fe - add MPI flags to all libraries
-
921149d3 - add
PPIFContext
to grid structure -
2a4c578b - introduce
DDDContext
-
391cc5d8 - refine.cc: use
PPIFContext
where available -
9f4fe3fb - ugm.cc: use
PPIFContext
where available -
133ea715 - [cleanup] use
std::vector
forinfobuffer
andlbinfo
-
62c7162b - ugm.cc: call constructor/destructor for
multigrid
objects - bd87024a - add preprocessor macro to indicate support for context objects
-
e7a61ecf - cons.cc: use
std::vector
andstd::sort
-
e604851c - debug.cc: use
std::sort
-
9e6aae8f - er.cc: use
std::sort
-
b57f8fa3 - ident.cc: use
std::sort
-
ca91a964 - notify.cc: use
std::sort
-
02386011 - ifcreate.cc: use
std::sort
-
35eedf1e - objmgr.cc: use
std::sort
-
2d4c7540 - refine.cc: use
std::sort
andstd::binary_search
Toggle commit listadded 16 commits
-
cd8cb096 - introduce
DDDContext
-
97bc4cb4 - refine.cc: use
PPIFContext
where available -
7ac538c8 - ugm.cc: use
PPIFContext
where available -
292e5008 - [cleanup] use
std::vector
forinfobuffer
andlbinfo
-
e2ead7f7 - ugm.cc: call constructor/destructor for
multigrid
objects - e1b5122b - add preprocessor macro to indicate support for context objects
-
9b613b1e - cons.cc: use
std::vector
andstd::sort
-
8bd5cd24 - debug.cc: use
std::sort
-
bb75dc19 - er.cc: use
std::sort
-
d23d5d54 - ident.cc: use
std::sort
-
88260e23 - notify.cc: use
std::sort
-
7d4535d4 - ifcreate.cc: use
std::sort
-
8c782ad6 - objmgr.cc: use
std::sort
-
8192827e - refine.cc: use
std::sort
andstd::binary_search
-
18f84de7 - remove
DDD_InfoMe
,DDD_InfoMaster
,DDD_InfoProcs
-
d310de70 - add
DDDContext
toDDD_XferBegin
andDDD_XferEnd
Toggle commit list-
cd8cb096 - introduce
I might merge the work done so far in the next days to avoid having one giant merge request later.
Everything should just continue to work as before; as a small new feature one can already set the MPI communicator to something different from
MPI_COMM_WORLD
(but the limitation of only one grid per process still exists). This needs a small patch for dune-grid to have theCollectiveCommunication
object there not useMPI_COMM_WORLD
, but the same communicator as UG.Everything should just continue to work as before; as a small new feature one can already set the MPI communicator to something different from
MPI_COMM_WORLD
(but the limitation of only one grid per process still exists). This needs a small patch for dune-grid to have theCollectiveCommunication
object there not useMPI_COMM_WORLD
, but the same communicator as UG.as 2.6 is in freeze now, we should not start changing interfaces dune-grid at that stage.
@christi: The patched dune-uggrid will work just fine with both patched and unpatched dune-grid. Both patched and unpatched dune-grid will work with patched and unpatched dune-uggrid.
There are no incompatible changes not guarded by a #ifdef (and that one is very small). There might be more changes in the future (e.g. a constructor taking a MPI_Comm is still missing on both sides).
(And I'm not sure about merging the dune-grid patch yet, maybe only later.)
added 27 commits
-
79a5b02d...3b33ae88 - 5 commits from branch
master
-
d9ea484d - introduce
PPIFContext
-
0206cacc - PPIFContext: add
isMaster()
method - 0572141e - add MPI flags to all libraries
-
40a0a5da - add
PPIFContext
to grid structure -
28c55faa - introduce
DDDContext
-
0656f422 - refine.cc: use
PPIFContext
where available -
ab2fe253 - ugm.cc: use
PPIFContext
where available -
a751a9be - [cleanup] use
std::vector
forinfobuffer
andlbinfo
- e1a742cd - add preprocessor macro to indicate support for context objects
-
4f82597c - cons.cc: use
std::vector
andstd::sort
-
32b50bd0 - debug.cc: use
std::sort
-
9a7dccfa - er.cc: use
std::sort
-
0efe04a6 - ident.cc: use
std::sort
-
e0338b55 - notify.cc: use
std::sort
-
65b8fba7 - ifcreate.cc: use
std::sort
-
ae192a1f - objmgr.cc: use
std::sort
-
0a7fff44 - refine.cc: use
std::sort
andstd::binary_search
-
866bbb0b - remove
DDD_InfoMe
,DDD_InfoMaster
,DDD_InfoProcs
-
88666b92 - add
DDDContext
toDDD_XferBegin
andDDD_XferEnd
-
978959e0 - add
DDDContext
toDDD_IdentifyBegin
andDDD_IdentifyEnd
-
df98c5cd - add context to
DDD_Init
andDDD_Exit
- 86361d0f - CMakeLists.txt: add DUNE's MPI flags
Toggle commit list-
79a5b02d...3b33ae88 - 5 commits from branch
added 29 commits
-
86efef74 - introduce
DDDContext
-
b8647a74 - refine.cc: use
PPIFContext
where available -
511208da - ugm.cc: use
PPIFContext
where available -
863e9d83 - [cleanup] use
std::vector
forinfobuffer
andlbinfo
- debfee0b - add preprocessor macro to indicate support for context objects
-
37f86849 - cons.cc: use
std::vector
andstd::sort
-
7eb6072c - debug.cc: use
std::sort
-
309a14c9 - er.cc: use
std::sort
-
a7ef219b - ident.cc: use
std::sort
-
679a232c - notify.cc: use
std::sort
-
ae96b9bd - ifcreate.cc: use
std::sort
-
f145b62a - objmgr.cc: use
std::sort
-
8358257d - refine.cc: use
std::sort
andstd::binary_search
-
4a0db14b - remove
DDD_InfoMe
,DDD_InfoMaster
,DDD_InfoProcs
-
486728e9 - add
DDDContext
toDDD_XferBegin
andDDD_XferEnd
-
971ec02e - add
DDDContext
toDDD_IdentifyBegin
andDDD_IdentifyEnd
-
220da80e - add context to
DDD_Init
andDDD_Exit
- 8d000e1e - CMakeLists.txt: add DUNE's MPI flags
- e771d96e - CMakeLists.txt: do not add MPI flags twice
- f8fa9bf6 - add context to type manager functions
- a5883fd1 - add context to join environment module functions
-
f976ae6f - jcmds.cc: use
std::sort
-
27e890db - [cleanup] simplify preprocessor logic to define
DDD_SetHandler*
functions -
6826af3a - add context to
DDD_SetHandler*
functions -
52ef8fc3 - add context to
DDD_PrioMerge*
functions -
bce056d6 - add context to
DDD_Status
,DDD_ConsCheck
,DDD_ListLocalObjects
,DDD_SearchHdr
- e01018ab - [cleanup] remove unused header dddresources.h
-
4c5695ff - add context to
DDD_SetOption
- e816ffdb - [cleanup] remove unimplemented functions
Toggle commit list-
86efef74 - introduce
added 17 commits
-
86be5255 - add
DDDContext
toDDD_XferBegin
andDDD_XferEnd
-
ecda6a58 - add
DDDContext
toDDD_IdentifyBegin
andDDD_IdentifyEnd
-
76890a02 - add context to
DDD_Init
andDDD_Exit
- 734bfae9 - CMakeLists.txt: add DUNE's MPI flags
- 0c85f2a6 - CMakeLists.txt: do not add MPI flags twice
- 6978a507 - add context to type manager functions
- 05523925 - add context to join environment module functions
-
4389b710 - jcmds.cc: use
std::sort
-
996f9049 - [cleanup] simplify preprocessor logic to define
DDD_SetHandler*
functions -
785dfe5e - add context to
DDD_SetHandler*
functions -
0f30408d - add context to
DDD_PrioMerge*
functions -
9aae0e3d - add context to
DDD_Status
,DDD_ConsCheck
,DDD_ListLocalObjects
,DDD_SearchHdr
- 3cdac48e - [cleanup] remove unused header dddresources.h
-
f8155a62 - add context to
DDD_SetOption
- d51549b6 - [cleanup] remove unimplemented functions
- 7d345b50 - add context to interface module functions
-
5bec9717 - [cleanup] remove unused macro
OLDSTYLE
Toggle commit list-
86be5255 - add
added 29 commits
-
13666148 - cons.cc: use
std::vector
andstd::sort
-
f5f61b2b - debug.cc: use
std::sort
-
f4096422 - er.cc: use
std::sort
-
a086e81b - ident.cc: use
std::sort
-
e3896303 - notify.cc: use
std::sort
-
c5930348 - ifcreate.cc: use
std::sort
-
d7001fdb - objmgr.cc: use
std::sort
-
1bcd84de - refine.cc: use
std::sort
andstd::binary_search
-
71d2945f - remove
DDD_InfoMe
,DDD_InfoMaster
,DDD_InfoProcs
-
2affd1cc - add
DDDContext
toDDD_XferBegin
andDDD_XferEnd
-
53d7a24c - add
DDDContext
toDDD_IdentifyBegin
andDDD_IdentifyEnd
-
1d39c023 - add context to
DDD_Init
andDDD_Exit
- 9a323a1a - CMakeLists.txt: add DUNE's MPI flags
- 3f648533 - CMakeLists.txt: do not add MPI flags twice
- 18e06e0c - add context to type manager functions
- de55a0ae - add context to join environment module functions
-
abf852e4 - jcmds.cc: use
std::sort
-
4bbeaf12 - [cleanup] simplify preprocessor logic to define
DDD_SetHandler*
functions -
b1a6d98a - add context to
DDD_SetHandler*
functions -
a246311a - add context to
DDD_PrioMerge*
functions -
91f9ff13 - add context to
DDD_Status
,DDD_ConsCheck
,DDD_ListLocalObjects
,DDD_SearchHdr
- a54882ce - [cleanup] remove unused header dddresources.h
-
0b6e293b - add context to
DDD_SetOption
- 323da656 - [cleanup] remove unimplemented functions
- 8d67f8a4 - add context to interface module functions
-
953522a1 - [cleanup] remove unused macro
OLDSTYLE
- 40e38813 - add compatability with unpatched dune-grid versions
- a84a3668 - add context to global reduction functions
- b29e5bff - add preprocessor macro to indicate support for context objects
Toggle commit list-
13666148 - cons.cc: use
added 38 commits
-
b29e5bff...330d748b - 14 commits from branch
master
-
49539291 - introduce
PPIFContext
-
3c1116a1 - PPIFContext: add
isMaster()
method - 5f6787ab - add MPI flags to all libraries
-
04cd95cb - add
PPIFContext
to grid structure -
077db13d - introduce
DDDContext
-
f0e7b434 - refine.cc: use
PPIFContext
where available -
8ab29307 - ugm.cc: use
PPIFContext
where available -
df0cb538 - [cleanup] use
std::vector
forinfobuffer
andlbinfo
-
7977f174 - remove
DDD_InfoMe
,DDD_InfoMaster
,DDD_InfoProcs
-
d6a7308b - add
DDDContext
toDDD_XferBegin
andDDD_XferEnd
-
98b14ac5 - add
DDDContext
toDDD_IdentifyBegin
andDDD_IdentifyEnd
-
a4a853e2 - add context to
DDD_Init
andDDD_Exit
- f5ff5367 - CMakeLists.txt: add DUNE's MPI flags
- 31895c12 - CMakeLists.txt: do not add MPI flags twice
- 1ea664d8 - add context to type manager functions
- 8ef452a9 - add context to join environment module functions
-
d6dd7729 - add context to
DDD_SetHandler*
functions -
71d81d26 - add context to
DDD_PrioMerge*
functions -
6a070608 - add context to
DDD_Status
,DDD_ConsCheck
,DDD_ListLocalObjects
,DDD_SearchHdr
-
b74dda7f - add context to
DDD_SetOption
- 8222163d - add context to interface module functions
- 25c7044b - add compatability with unpatched dune-grid versions
- b15f6dc5 - add context to global reduction functions
- f0ed1647 - add preprocessor macro to indicate support for context objects
Toggle commit list-
b29e5bff...330d748b - 14 commits from branch
added 29 commits
-
ab24603a - [cleanup] lowcomm: use proper opaque data types instead of
void*
-
a404ae97 - [cleanup] notify.cc: use
static
linkage for internal functions -
4750ffa4 - introduce
PPIFContext
-
6b57c937 - PPIFContext: add
isMaster()
method - b8bf9263 - add MPI flags to all libraries
-
5abe0098 - add
PPIFContext
to grid structure -
5b91dc64 - introduce
DDDContext
-
7d18e53b - refine.cc: use
PPIFContext
where available -
b55cdaac - ugm.cc: use
PPIFContext
where available -
19cf884a - [cleanup] use
std::vector
forinfobuffer
andlbinfo
-
40c59286 - remove
DDD_InfoMe
,DDD_InfoMaster
,DDD_InfoProcs
-
849d2ced - add
DDDContext
toDDD_XferBegin
andDDD_XferEnd
-
ec083a50 - add
DDDContext
toDDD_IdentifyBegin
andDDD_IdentifyEnd
-
c95fe561 - add context to
DDD_Init
andDDD_Exit
- e14cf881 - CMakeLists.txt: add DUNE's MPI flags
- 835d1fcf - CMakeLists.txt: do not add MPI flags twice
- 5aa2e689 - add context to type manager functions
- d0d3acfa - add context to join environment module functions
-
37fa8638 - add context to
DDD_SetHandler*
functions -
ccae6e17 - add context to
DDD_PrioMerge*
functions -
a6acafd2 - add context to
DDD_Status
,DDD_ConsCheck
,DDD_ListLocalObjects
,DDD_SearchHdr
-
3f888ac7 - add context to
DDD_SetOption
- 3d9bc3b8 - add context to interface module functions
- c996af9b - add compatability with unpatched dune-grid versions
- 398fd70b - add context to global reduction functions
- f3e09c52 - add context to implementation of transfer environment module
- 78adcaaf - add context to lowcomm module
- 00d3efb9 - add context to notify module
- 129a70e4 - add preprocessor macro to indicate support for context objects
Toggle commit list-
ab24603a - [cleanup] lowcomm: use proper opaque data types instead of