Alain Miniussi
a45e542b61
dead code, refs #70
2018-09-05 14:03:46 +02:00
Alain Miniussi
f3c8419f70
dead code.
...
refs #70
2018-09-05 12:11:29 +02:00
Alain Miniussi
6216acadad
dead code
2018-09-05 11:44:57 +02:00
Alain Miniussi
9a4aa79b33
simplify legacy handler of serialized array.
...
refs #70
2018-09-05 11:43:36 +02:00
Alain Miniussi
3c1699b841
useless template ctor
...
refs #70
2018-09-05 11:06:40 +02:00
Alain Miniussi
88692b3bf3
simplify legacy request handler ctor
...
refs #70
2018-09-05 10:30:26 +02:00
Alain Miniussi
403b513d72
Merge branch 'feature/70p2p-opt-probe' of github.com:boostorg/mpi into feature/70p2p-opt-probe
2018-09-04 23:03:17 +02:00
Alain Miniussi
e65aaca3cd
Provide two communications methods for dynamic primitive arrays, with and whithout probes.
...
refs #70
2018-09-04 22:55:37 +02:00
Alain Miniussi
919d8475f0
avoid data indirection in serialized handler.
...
refs #70
2018-08-31 00:10:55 +02:00
Alain Miniussi
6461f38648
add detection of MPI_XXprobe through function.
...
refs #70
2018-08-30 23:21:13 +02:00
Alain Miniussi
e44cf7a41f
Include dependency issue.
...
Should be globally refactored one day.
refs #70
2018-08-30 22:59:55 +02:00
Alain Miniussi
8a7eea3d83
Request handler data factorization. refs #70
2018-08-30 19:27:54 +02:00
Alain Miniussi
36e959318f
Removed global handler functions. refs #70
2018-08-30 19:06:17 +02:00
Alain Miniussi
5aa9dfb925
Moved wait code in it specific legacy handlers. refs #70
2018-08-30 18:51:10 +02:00
Alain Miniussi
47eb629997
Moved wait code in it specific handler for serialized object reception. refs #70
2018-08-30 18:42:44 +02:00
Alain Miniussi
dd9de0e91b
prepare fro more specific, smaller handler. refs #70
2018-08-30 18:00:04 +02:00
Alain Miniussi
d5eab301f1
dead code, refs #70
2018-08-30 17:30:44 +02:00
Alain Miniussi
0522c817b4
moved implementation class into implementation file
...
refs #70
2018-08-30 17:27:24 +02:00
Alain Miniussi
15d044d56c
Make request class lighter. Regroup request handler implementation.
...
refs #70
2018-08-30 17:23:08 +02:00
Alain Miniussi
f5df9713ab
Put request handler implementation details in their own header.
...
refs #70
2018-08-30 17:03:13 +02:00
Alain Miniussi
1429b6cc01
All requests are now created through factory methods.
...
refs #70
2018-08-30 16:42:40 +02:00
Alain Miniussi
156beaa457
Potentialy create all request through factory methods.
...
refs #70
2018-08-30 14:20:26 +02:00
Alain Miniussi
74b01dc877
Start using dynamic handler for request requests.
...
refs #70
2018-08-30 13:23:33 +02:00
Alain Miniussi
544848be92
start using dynamic handler factory method.
...
refs #70
2018-08-30 13:02:39 +02:00
Alain Miniussi
eee9a4396a
factory method for trivial request handler.
...
refs #70
2018-08-30 12:18:06 +02:00
Alain Miniussi
115ded5b0f
First move toward envelope/letter implementation of requests.
...
refs #70
2018-08-30 10:25:33 +02:00
Alain Miniussi
56c2a212e5
better request encapsulation.
...
refs #70
2018-08-29 23:03:34 +02:00
Alain Miniussi
6c21e65256
no ZNORT, it's rude.
...
refs #70
2018-08-29 22:45:39 +02:00
Alain Miniussi
2a674a4cfc
Mre data encapsulation in requests.
...
refs #70
2018-08-29 22:43:26 +02:00
Alain Miniussi
174e2c8a86
Better encapsulation of the request class.
...
refs #70
2018-08-29 18:09:01 +02:00
Alain Miniussi
d77f9d805a
Indicate MPI_Improbe availability.
...
refs #70
2018-08-29 15:37:06 +02:00
Alain Miniussi
b4c3f40556
Merge branch 'develop'
2018-08-20 14:13:45 +02:00
Alain Miniussi
d7a4917683
Merge branch 'develop' into bugfix/vectors-mix-62
2018-08-02 14:51:41 +02:00
Alain Miniussi
1e0cb0816b
avoir unused arg warning.
...
refs #68
2018-08-02 14:31:59 +02:00
Alain Miniussi
9d8f15146b
Try to make sure user's operators are stateless, and do not use their state if any.
...
refs #68
2018-08-01 15:08:35 +02:00
Alain Miniussi
389602fbe7
Hide vector implementation.
...
refs #62 and #67
2018-08-01 14:18:57 +02:00
Alain Miniussi
d94ba7531b
Add a documentation note for vector point to point transmition.
...
refs #62
2018-08-01 13:01:06 +02:00
Alain Miniussi
1aa7354ee6
non blocking send/blocking receiv implementted for dynamic array(vector of staticaly unknown size) of primitive types.
...
refs #62
2018-08-01 11:53:03 +02:00
Alain Miniussi
45f3a7f786
The blocking send / non blocking recv works with dynamic arrays (eg: we do not know the size statically) with primitive types.
...
Now working on the other way round.
refs #62
2018-08-01 11:01:44 +02:00
Alain Miniussi
30f32d5319
Merge branch 'develop' of github.com:boostorg/mpi into develop
...
fixes #58
2018-05-23 11:55:29 +02:00
Alain Miniussi
dfea112ffe
use BOOST_NO_CXX11_DEFAULTED_MOVES to approximate support of move ctor/ass.
...
refs #57
2018-04-18 16:33:43 +02:00
Alain Miniussi
ae6734c3aa
Merge branch 'develop' into move57
...
refs #57
2018-04-18 16:16:45 +02:00
Alain Miniussi
41125d37b5
Merge branch 'err55' into develop
...
fixes #55
2018-04-18 16:09:32 +02:00
Alain Miniussi
e27c06fe33
Modify the signature of the move ctor to avoid infinite loop.
...
Test move ctor on cartesian topology.
refs #57
2018-04-09 15:34:54 +02:00
Alain Miniussi
913882914c
Add MPI error code to string convertion
...
refs #55
2018-03-13 17:50:59 +01:00
Alain Miniussi
26f462256c
Deal with partialy transmited serialized messages.
...
This is a fix proposed by hirschsn
refs !53
2018-03-13 10:53:32 +01:00
Pavel I. Kryukov
c6760b3c75
Add missing '{' to the previous commit
2017-11-25 10:31:04 +03:00
Pavel I. Kryukov
ed54dfdf3f
Remove deprecated std::binary_function
2017-11-21 20:12:49 +03:00
Alain Miniussi
2c5ec6ef15
Add const conversion to accomodate open MPI 1.6
2017-07-24 12:39:50 +02:00
Alain Miniussi
ee8cf105dd
Merge branch 'develop' into antique
2017-07-23 09:49:40 +02:00
Alain Miniussi
5d9acb73a2
Merge branch 'master' into develop
2017-07-21 10:16:54 +02:00
Jonathan Wakely
e2537e507f
Add header for serialization::make_array ( #40 )
2017-07-21 00:08:41 +02:00
Alain Miniussi
fab4d716a5
Merge branch 'master' into develop
2017-07-19 23:02:47 +02:00
Alain Miniussi
00e55d8f5e
Do not include serialization/detail/get_data.hpp as it disapear in 1.64.
2017-07-15 14:00:06 +02:00
Alain Miniussi
c5964b4397
void using vector::data in order to comply to old pre C++ compilers.
2017-02-28 13:44:44 +01:00
Alain Miniussi
7c925147a9
Merge pull request #43 from boostorg/if0
...
Delete now clearly obsolete #if 0ed code.
2017-02-23 14:01:34 +01:00
Alain Miniussi
90e84fe143
Change partial specialization position to agree with nvcc/icc
2017-02-23 13:47:23 +01:00
Alain Miniussi
5afae48612
Delete now clearly obsolete #if 0ed code.
2017-02-23 11:31:39 +01:00
Alain Miniussi
98c406a77f
documentation typo
2017-02-23 11:26:49 +01:00
Jonathan Wakely
947d171573
Add header for serialization::make_array ( #40 )
2017-02-22 19:19:45 -07:00
Jonathan Wakely
f5bdcc1ebf
Replace boost::serialization::detail::get_data function. ( #39 )
2017-02-22 19:18:58 -07:00
Andrey Semashev
b21d956760
Fix incorrect usage of auto_ptr to free an array ( #38 )
...
The `auto_ptr` would use `delete p` to free an array allocated with `operator new[]`, which could result in heap corruption. Replaced it with `scoped_array`.
2017-02-22 19:17:32 -07:00
Alain Miniussi
dc9122c00d
workaround an Open MPI bug: ( #37 )
...
According to:
http://mpi-forum.org/docs/mpi-3.1/mpi31-report.pdf
input data on Scatter should be passed as a pointer to const. Open MPI miss that const which invalidate the implicit conversion.
2017-02-22 19:16:46 -07:00
Alain Miniussi
c5df30a54d
Support recent g++ without c++11.
2016-11-04 00:11:14 +01:00
Florian Weik
7615e17bff
specialization of is_mpi_datatype for std::array
2016-11-03 12:33:20 -06:00
K. Noel Belcourt
e2ebac2b4d
Add allocator support to vector send recv api.
...
Added test case to send recv a vector of udt with an
overload of get_mpi_datatype. Added test to Jamfile
for nightly testing.
2016-11-03 12:32:20 -06:00
K. Noel Belcourt
333508581f
Add send and recv overloads for std::vector.
2016-11-03 12:30:56 -06:00
Alain Miniussi
415a41f6ea
Test that static and dynamic MPI versions matches
2016-11-02 14:52:01 +01:00
Alain Miniussi
9d4e00a3c8
using g++5.4 detected a lot of compilation problems on template code that wasn't instantiated by the tests (which is an issue to deal with).
2016-10-28 00:48:20 +02:00
Alain Miniussi
e3b0d08c7e
Explicitly avoid temporary in isend.
2016-10-27 00:54:51 +02:00
Alain Miniussi
91a19d2e6a
uniform var name.
2016-10-26 10:15:29 +02:00
Alain Miniussi
864ad60116
Only allocate receiv buffer on root node in gather.
2016-10-26 10:10:04 +02:00
Alain Miniussi
d3f671ea0a
factorize
2016-10-25 16:34:46 +02:00
Alain Miniussi
debeb7c8c4
Renaming
2016-10-25 15:53:14 +02:00
Alain Miniussi
e169ada110
renaming
2016-10-25 15:47:45 +02:00
Alain Miniussi
4f6d3a5f8c
typo
2016-10-25 15:47:39 +02:00
Alain Miniussi
8ff3bf01e0
all_gatherv implementation
2016-10-25 15:36:38 +02:00
Alain Miniussi
da49ba7d4c
special flag to mark non rooted opertaions
2016-10-25 15:34:22 +02:00
Alain Miniussi
2a31dde183
Inject sizes and displacement support.
2016-10-25 13:42:58 +02:00
Alain Miniussi
61e0654098
Iterate on ouput instead of using indexed access.
...
Will make sharing implementation with variadic version easier.
2016-10-25 12:05:10 +02:00
Alain Miniussi
d81cbab4a1
gatherv is now point 2 point free.
2016-10-24 20:49:23 +02:00
Alain Miniussi
0a6092d5ff
Generalized the gather MPI implementation function for non MPI datatypes in order to accomodate the variadic implementation.
2016-10-24 19:45:43 +02:00
Alain Miniussi
f55fee5e36
Iterate on output instead of using indexes.
...
It will be easier to merge with the variadic version.
2016-10-24 19:19:44 +02:00
Alain Miniussi
806d161cac
add scatter example code
2016-10-24 17:33:10 +02:00
Alain Miniussi
2c9d9e6df7
Move non template code in non template file.
2016-10-24 15:35:33 +02:00
Alain Miniussi
abded0963a
scatterv whithout point to point communication
2016-10-24 13:22:09 +02:00
Alain Miniussi
2003a35286
get a vector free version.
2016-10-24 13:21:41 +02:00
Alain Miniussi
f9d9ac9414
try to get a core dump in debug mode
2016-10-24 13:21:03 +02:00
Alain Miniussi
60360763f4
scatter is now clearly divided in 2 step: 1) fill the buffer, 2) dispatch the buffer
2016-10-21 17:21:00 +02:00
Alain Miniussi
3a0109112c
prepare for passing each proc's number of element explicitly.
2016-10-21 16:58:23 +02:00
Alain Miniussi
7b27c12ab4
started isolating the scatter send bufferfilling. Will be shared with scatterv
2016-10-21 16:48:55 +02:00
Alain Miniussi
ef30d347f7
scatter does not use point to point anymore
2016-10-21 16:23:43 +02:00
Alain Miniussi
96def4ce61
was missing in previous commit, the name of sizes2offsetshas changed.
2016-10-21 16:22:57 +02:00
Alain Miniussi
e3f076023e
There are as many sizes as offsets
2016-10-21 16:20:34 +02:00
Alain Miniussi
cdabc4398d
Comply to boost indentation rules
2016-10-21 13:46:52 +02:00
Alain Miniussi
8aec85cfb0
allocae sizes only on root.
2016-10-21 11:12:37 +02:00
Alain Miniussi
a8b8049995
use data() instead of hacky &array[0]
2016-10-21 11:12:02 +02:00
Alain Miniussi
590c8c69b0
Set the output buffer size.
...
This function is often called on the root node only, so it is more convenient to allocate memory on demand.
2016-10-21 11:10:46 +02:00
Alain Miniussi
f254852f3d
Comment typo, a template was wrongly calling gather (a test should be added for that case)
2016-10-21 10:48:24 +02:00
Alain Miniussi
23a64c3ef6
all_gather does not use point to point anymore.
2016-10-20 21:21:45 +02:00