Arne Morten Kvarving
9e6574115a
EclMpiSerializer: add handler for vector<bool>
2022-09-13 13:29:47 +02:00
Arne Morten Kvarving
ebdfb0fc6a
EclMpiSerializer: allow specifying root rank in broadcast/append
2022-09-13 13:29:47 +02:00
Arne Morten Kvarving
dfa870c313
changed: handle all sets in eclmpiserializer
...
thus we can remove support in MPIPacker
2022-09-13 12:39:07 +02:00
Arne Morten Kvarving
4cd9272a76
changed: handle all arrays in eclmpiserializer
...
thus we can remove support in MPIPacker
2022-09-13 12:08:39 +02:00
Arne Morten Kvarving
603e44068c
changed: handle all maps in eclmpiserializer
...
thus we can remove support in MPIPacker
2022-09-13 11:32:37 +02:00
Arne Morten Kvarving
053dfc7ce5
eclmpiserializer: fix is_vector predicate
...
allow custom allocator
2022-09-13 10:49:54 +02:00
Arne Morten Kvarving
1838b39d2e
changed: split ParallelRestart.hpp/cpp in two bits
...
the mpi serialization bit is put in MPISerializer.hpp/cpp,
while the parallel restart bit stays in ParallelRestart
2022-09-08 13:36:51 +02:00
Arne Morten Kvarving
ee0d482b32
added: eclmpiserializer::append
...
this broadcasts from the root rank, and then appends
the results to existing data on the others
2022-09-06 15:36:30 +02:00
Arne Morten Kvarving
2d2f25b778
added: map predicate
...
use it to allow for serializing nested maps
2022-09-06 10:32:48 +02:00
Bård Skaflestad
b3e517a8ef
Merge pull request #4055 from akva2/eclmpiserializer_map
...
eclmpiserializer: improve map handler
2022-09-02 21:01:47 +02:00
Arne Morten Kvarving
ade4cf978e
eclmpiserializer: improve map handler
...
use has_serializeOp trait
2022-09-02 17:20:46 +02:00
Arne Morten Kvarving
2dd6433f16
eclmpiserializer: improve set handler
...
use has_serializeOp trait
2022-09-02 17:18:03 +02:00
Bård Skaflestad
a372a4d09e
Merge pull request #4052 from akva2/eclmpiserializer_vector
...
eclmpiserializer: improve vector handler
2022-09-02 17:10:10 +02:00
Bård Skaflestad
e3bc041909
Merge pull request #4051 from akva2/eclmpiserializer_array
...
eclmpiserializer: improve array handler
2022-09-02 17:09:41 +02:00
Arne Morten Kvarving
e2eac12593
eclmpiserializer: improve vector handler
...
use has_serializeOp trait
2022-09-02 14:36:42 +02:00
Bård Skaflestad
dff553db59
Merge pull request #4050 from akva2/eclmpiserializer_ptr
...
eclmpiserializer: improve ptr handler
2022-09-02 14:30:33 +02:00
Arne Morten Kvarving
3ed2a25470
eclmpiserializer: improve array handler
...
use has_serializeOp trait
2022-09-02 14:12:09 +02:00
Arne Morten Kvarving
9be60f2b3f
eclmpiserializer: improve ptr handler
...
use has_serializeOp trait
2022-09-02 14:08:29 +02:00
Arne Morten Kvarving
a9eb6159ae
eclmpiserializer: improve pair handling
...
use has_serializeOp trait
2022-09-02 13:54:39 +02:00
Arne Morten Kvarving
8bd2af1517
added: generalize variant serialization handling
2022-09-01 13:24:17 +02:00
Arne Morten Kvarving
2c0ff6f81e
consistently use ParallelCommunication.hpp for communication definition
2022-09-01 12:26:11 +02:00
Joakim Hove
059efcd260
Add serializer support for std::array<T,N>
2021-10-25 10:50:34 +02:00
Elyes Ahmed
f53c597f90
Replacing use of MPI_COMM_WORLD with a variable communicator.
2021-10-05 13:07:52 +02:00
Bård Skaflestad
2dedb62363
Serializer: Detect Existence of 'serializeOp' Member Function
...
More direct test than looking for a 'serializeObject' member.
2021-09-29 13:41:01 +02:00
Joakim Hove
1b7ef65509
Add serializer support for set - closely modelled after map
2021-09-24 18:55:54 +02:00
Markus Blatt
e6c8f6985c
Remove some shawowed variable warnings.
2021-09-13 12:08:13 +02:00
Joakim Hove
3d226abd24
Remove references to RestartConfig
2021-03-26 08:03:07 +01:00
Tor Harald Sandve
f4ac7f555b
Add support for explicit guiderate for injection groups
...
With this commit the guiderate logic used for the production groups is also used for injectors
This allows for setting guiderates explicit at different group levels
Only RATE, NETV and VOID guiderate type is suppored.
2021-03-16 15:56:31 +01:00
Arne Morten Kvarving
49cc70f49c
fixed: avoid deadlocks in parallel if serialization throws
2020-09-24 11:00:37 +02:00
Arne Morten Kvarving
dfd2109665
added: support for std::optional in eclmpiserializer
2020-09-23 12:23:18 +02:00
Joakim Hove
3c565ef59e
Use const_cast< > in variant serialization
2020-08-27 11:01:22 +02:00
Joakim Hove
cc32189a2e
Handle serialization of std::variant<T0,T1>
2020-08-25 22:37:24 +02:00
Joakim Hove
754f74df01
Adapt variant serialization to four types
2020-06-12 07:21:46 +02:00
Joakim Hove
a1306a62fc
Add serialization of std::variant<T1,T2,T3>
2020-06-10 20:41:14 +02:00
Arne Morten Kvarving
a456b7dff5
fixed: broadcasting an int and receiving as a size_t is a very bad idea
...
pointy-hat: me
2020-03-30 11:48:00 +02:00
Atgeirr Flø Rasmussen
56222d4350
Make is_ptr() for unique_ptr handle two template parameters.
2020-03-23 13:36:07 +01:00
Atgeirr Flø Rasmussen
652c7d239b
Simplify ptr(), avoiding a template template parameter.
...
Since unique_ptr<T, Deleter> takes two arguments it cannot strictly
speaking be used via a template template parameter that takes one,
even though the second has a default. GCC allows this anyway, but
not clang.
2020-03-23 11:55:45 +01:00
Arne Morten Kvarving
4c5f9f2241
add doxy to eclmpiserializer
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
59d1ff9b88
updates in EclMpiSerializer to avoid explicit instances in serializer
...
now the serializer is 'standard', as in we only require basic types
+ stl containers. this should make the actual implementation pretty
pluggable. will ease replacing our serialization routines
with those in Dune 2.7 later.
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
c86cfbd83a
add complexType template parameter to EclMpiSerializer::vector
...
set to false if vector contains a type without a serializeOp
2020-03-19 09:31:07 +01:00
Arne Morten Kvarving
638a53ac88
add support for unique_ptr in EclMpiSerializer
2020-03-19 09:31:07 +01:00
Arne Morten Kvarving
f0bc3e3815
add bool parameter ComplexType to EclMpiSerializer::map
...
this is passed on to the serializeOp template for the underlying
type. used with maps over DynamicState where DynamicState is over
a non-complex type.
2020-03-19 09:31:07 +01:00
Arne Morten Kvarving
13639cdace
add isSerializing member to eclmpiserializer
...
sometimes it is necessary to know in user code
2020-03-17 08:19:44 +01:00
Arne Morten Kvarving
5eb2ec30a5
add map handler to eclmpiserializer
2020-03-16 20:52:17 +01:00
Arne Morten Kvarving
30cac6b648
add shared_ptr handling in eclmpiserializer
2020-03-16 20:52:17 +01:00
Arne Morten Kvarving
fe2437e67e
add pair handling in eclmpiserializer::vector
2020-03-16 11:44:13 +01:00
Arne Morten Kvarving
6fee426bfc
remove static assert in vector handler of eclmpiserializer
...
std::is_pod is too generic
2020-03-16 10:49:42 +01:00
Arne Morten Kvarving
91e9d952d8
added: handler for vectors in eclmpiserializer
...
this shall be used by users when they have a vector of types
with a serializeOp template. it cannot (at least not right now)
be part of the regular operator() as some vectors should go
directly to the underlying serializer (trivial types).
we can possibly find some traits magic for this later.
2020-03-13 14:09:17 +01:00
Arne Morten Kvarving
dd0f6dd517
changed: simplify eclmpiserializer
...
now users only have to implement a single method for
packsize/pack/unpack
2020-03-10 08:56:40 +01:00
Arne Morten Kvarving
3162ed067e
get rid of unused serialization template
2020-03-06 11:55:41 +01:00