Alain Miniussi
90e84fe143
Change partial specialization position to agree with nvcc/icc
2017-02-23 13:47:23 +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
3440bbe24e
Boost array was used, but corresponding include was missing.
...
It's in a test, so using boost array vs std::array is a no brainer.
2017-02-22 11:14:21 +01:00
Alain Miniussi
c5df30a54d
Support recent g++ without c++11.
2016-11-04 00:11:14 +01:00
Alain Miniussi
415a41f6ea
Test that static and dynamic MPI versions matches
2016-11-02 14:52:01 +01:00
K. Noel Belcourt
817914da2b
Add Alain to list of MPI maintainers.
2016-10-31 19:06:50 -06:00
Vladimir Prus
7f3a324481
Use Boost-global Python tagging.
2016-10-28 11:57:43 +03: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
8e3e9cd6d0
activate non blocking test. Avoid case with 1 proc due to a problem with Microsoft's MPI.
...
(I do not have Microsoft MPI, just trusted the comment).
2016-10-26 10:28:08 +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
c332690024
shorter test
2016-10-25 15:37:46 +02:00
Alain Miniussi
457feb7419
add all_gatherv test
2016-10-25 15:37:32 +02:00
Alain Miniussi
bd5b96ec0a
handle non rooted version of operation
2016-10-25 15:37:01 +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
4b5c3735a1
add an example for scatter
2016-10-24 18:21:38 +02:00
Alain Miniussi
806d161cac
add scatter example code
2016-10-24 17:33:10 +02:00
Alain Miniussi
a126156483
Merge branch 'develop' into globopt
2016-10-24 17:09:19 +02:00
Alain Miniussi
e7a98f6bc7
add doc entry for cartesian communicator.
2016-10-24 17:01:20 +02:00
Alain Miniussi
24fffa408d
Make sure examples do compile
2016-10-24 17:00:58 +02:00
Alain Miniussi
6c2fbc1c76
Basic cartesian example
2016-10-24 17:00:27 +02:00
Alain Miniussi
6844f31d3a
indentation
2016-10-24 17:00:10 +02:00
Alain Miniussi
0408414e56
coords=>coordinates
2016-10-24 15:47:00 +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