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
Alain Miniussi
6e06e914c6
convert a sequence of size to a sequence of offsets
2016-10-20 21:21:11 +02:00
Alain Miniussi
f8340229af
identation
2016-10-20 21:20:42 +02:00
Alain Miniussi
8158aebc01
Use C API in gather implementation
2016-10-20 20:25:27 +02:00
Alain Miniussi
0efb1415f6
identation
2016-10-20 20:10:02 +02:00
Alain Miniussi
2bdf8df315
Pessimistic comment, broadcast never uses point to point
2016-10-20 19:34:14 +02:00
Alain Miniussi
a5b5a2c4d3
Fixed a pessimistic comment, all_to_all never uses individual send reciv.
2016-10-20 19:32:55 +02:00
Alain Miniussi
5e4beaccda
Implement gather without any point to point communication.
2016-10-20 19:16:27 +02:00
Alain Miniussi
916e51dc62
Use broadcast imlementation proposed by Lorenz Hübschle-Schneider ( https://gist.github.com/lorenzhs/79dab54552fd1f9381da ): ofr non primitive/mpi type, broadcast the archive content as a primitive byte array.
2016-10-20 16:11:12 +02:00
Alain Miniussi
e47c532155
Merge pull request #36 from fweik/array
...
specialization of is_mpi_datatype for std::array
2016-10-19 15:52:17 +02:00
Alain Miniussi
9a90ae9048
Doc
2016-10-19 15:49:36 +02:00
Alain Miniussi
b5140a7dda
Add basic ctor/dtor to topology class.
2016-10-19 15:47:51 +02:00
Alain Miniussi
876ac2e6f4
Not worth a function.
2016-10-19 15:05:03 +02:00
Alain Miniussi
c41d5e8476
Renamed coords -> coordinates
...
Removed inplace coortdinate retreiver (move ctor makes them useless)
2016-10-19 15:02:57 +02:00
Alain Miniussi
7d73ef198f
Added a few topology ctors.
...
Documentation
2016-10-19 14:43:59 +02:00
Alain Miniussi
ebb22ff06b
typo in doc
2016-10-15 22:45:18 +02:00
Alain Miniussi
56551fa441
Merge branch 'develop' into cartesian
...
Reintegration
2016-10-15 16:12:14 +02:00
Florian Weik
1c082e1ff8
specialization of is_mpi_datatype for std::array
2016-09-20 17:15:33 -06:00
K. Noel Belcourt
3eabcce9b6
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-07-22 12:14:58 -06:00
K. Noel Belcourt
85bb58d75b
Add send and recv overloads for std::vector.
2016-07-21 21:48:02 -06:00
Jonathan Wakely
8b73e340f0
Fix spelling in docs and config.hpp ( #35 )
2016-07-16 17:00:03 -06:00
Jonathan Wakely
004df1037e
Fix spelling in docs and config.hpp ( #35 )
2016-05-23 11:33:11 -06:00
K. Noel Belcourt
7d33e519b3
Fix typo with rename to array_wrapper.
2016-04-26 13:38:25 -06:00
Jürgen Hunold
0dce8d2c2a
Fix: adapt to renaming of serialization::array_wrapper ( #30 )
...
Fix: adapt to renaming of serialization::array_wrapper
Tested that both graph_parallel and MPI work fine with El Capitan and clang, thanks for the patch!
2016-04-26 13:38:12 -06:00
K. Noel Belcourt
e4be4411c8
Fix typo with rename to array_wrapper.
2016-04-25 13:15:25 -06:00
Jürgen Hunold
c70e7ff243
Fix: adapt to renaming of serialization::array_wrapper ( #30 )
...
Fix: adapt to renaming of serialization::array_wrapper
Tested that both graph_parallel and MPI work fine with El Capitan and clang, thanks for the patch!
2016-04-24 13:59:36 -06:00
Alain Miniussi
7791752122
Merge branch 'fix_compilation' of https://github.com/MarcelRaad/mpi into MarcelRaad-fix_compilation
2015-09-21 23:50:11 +02:00
Alain Miniussi
1bd679217c
Remove unused parameter warning from scan.hpp
...
by nasailja
2015-09-21 23:46:02 +02:00
Ilja
ceafbbfe2d
Remove unused parameter warnings from reduce.hpp
2015-09-21 20:06:05 +02:00
Marcel Raad
76b3b16ae3
Fix compilation
...
There were several errors when compiling with MSVC 14 and --build-type=complete.
2015-06-06 20:39:54 +02:00
Alain Miniussi
58713af3e2
Workaround MPI_Bcast bug w.r.t. MPI_BOTTOM.
...
Some implementations have issues with using MPI_BOTTOM in MPI_Bcast.
If that the case we can use an alternate implementation.
There is a macro in config.hpp named BOOST_MPI_BCAST_BOTTOM_WORKS_FINE
that can be used to control that. broadcast_test.cpp print a message
that point to that macro if suspicious behavior is detected.
LAM and Bull X MPI seems to have that problem.
2015-04-24 01:02:52 +02:00
Alain Miniussi
6469e38af0
remove all references to pfto.hpp
...
pfto.hpp has been removed from serialization. Although it was not used
anymore, it was still referenced in MPI.
The reason why the problem went unotced for such long time was that
there is a regular distribution of boost on a developper platform.
Shame on him.
2015-04-22 17:53:18 +02:00
Alain Miniussi
e24fd6da99
Doxygen documentation of BOOST_MI_HOMOGENEOUS
2015-04-22 16:12:47 +02:00
Alain Miniussi
f0a95bdb9d
Make homogeneous platform the default.
...
It is the default in HPC anyway, and the default of most underlying MPI implementions.
2015-04-21 16:57:28 +02:00
Alain Miniussi
15ad1b215b
When ptfo workaround was removed from serialization, some changes
...
had to be made in the MPI library (extra argument were inserted only
to help overloading resolution and had to be removed). I missed one
in heterogrneous mode. Here it is.
2015-04-16 17:09:35 +02:00
Alain Miniussi
fc959903e3
Consistency between mpl's true and fale usage.
2015-04-16 17:08:42 +02:00
Alain Miniussi
5a17a3b90a
restore the default setting
2015-04-16 17:08:21 +02:00
Alain Miniussi
db6b816964
Following a change in serializtion, the
...
save_override(const archive::class_id_optional_type & )
was not overriden anymore in oarchive.
2015-04-16 15:16:59 +02:00
Alain Miniussi
b21015c131
Select homogeneous platform. That's the most common situationin HPC but it is not selected by default for portability.
2015-04-15 13:10:24 +02:00
Alain Miniussi
40c3f3ec2e
Propagated some changes made in serilization related with archive version and pfto removal.
2015-04-14 17:10:39 +02:00
Alain Miniussi
b907db31ce
Merge branch 'develop' into cartesian
2014-11-03 14:44:18 +01:00
Noel Belcourt
cf5785e040
Merge pull request #11 from ventrebd/fix-#10444-mpi-archive-failure
...
Fix #10444 : MPI archive failure
No, I wasn't sure enough of the impact of this change to want it in 1.57. I just merged it now, we'll have 3 months to make sure it doesn't cause any problems. I apologize for the delay.
2014-10-31 14:37:41 -06:00
Alain Miniussi
fe76d96819
Merge branch 'develop' into cartesian
2014-10-29 01:07:01 +01:00
Alain Miniussi
3884466f5c
Forgot to test the non mpi primitive type.
2014-10-29 00:47:37 +01:00
Alain Miniussi
fad1e0737b
Add a basic sendrecv that should be a direct transcription of the C interface.
2014-10-28 14:47:37 +01:00
Alain Miniussi
911209c554
checkpointing before transfert
2014-10-10 16:38:44 +02:00
Alain Miniussi
243fa971c4
Added topology pretty printing
...
Removed a few "unsigned int" comparuson warnings with g++
Splitted bug test_main function
2014-10-06 18:05:44 +02:00
Alain Miniussi
5f46dec83c
Merge branch 'develop' into cartesian
2014-09-16 14:11:27 +02:00
Alain Miniussi
1d498e48d5
Merge branch 'develop' into compound_recv_wait
2014-09-16 13:47:01 +02:00
Alain Miniussi
00a49f55c9
doxygen typo
2014-09-15 17:17:45 +02:00
Alain Miniussi
cbbb9a450f
Added down cast functions for communicator to cartesian communicator conversion.
2014-09-15 17:02:51 +02:00
Alain Miniussi
b7e89aeb60
Merge branch 'map-c-update' into cartesian
2014-09-15 15:42:59 +02:00
Alain Miniussi
99acdb85fd
added some documentation
2014-09-15 15:18:28 +02:00
Alain Miniussi
0f13d9a20c
Improved cartesian topology description.
2014-09-12 18:38:45 +02:00
Alain Miniussi
a1c6e750cb
Added first tentative implementation of cartesian_communicator.
...
The API should be complete although primitive.
No documentation yet.
2014-09-11 14:46:22 +02:00
Alain Miniussi
ed4852863a
In wait_any, we need to test for compound recv of serialized object that just got the size but not the body (that is, request[1] == null & handler != null).
...
Note that in:
if (current->m_requests[0] != MPI_REQUEST_NULL &&
(current->m_requests[1] != MPI_REQUEST_NULL ||
current->m_handler)) {
if (optional<status> result = current->test())
return std::make_pair(*result, current);
}
I suspect the 3 line test should be removed and every thng handled in request::test (which is supposed to tell wheter we have a complete request).
But I have no idea why it was done like that in the first place.
2014-09-10 13:37:11 +02:00
Alain Miniussi
6c597245a2
test_any was actually nly testing the firt request due to a typo in the for loop.
2014-09-10 11:03:11 +02:00
Ventre, Brian D.
463e897f75
Fix #10444 : MPI archive failure
...
Add "const" to save_override for archive::class_id_type and archive::version_type. WIthout it, they do not participate in overload resolution when called with a const argument, and the default template function is called. This leads to saving 4 bytes for archive::version_type, but only loading 1 -- all subsequent load operations are then off by 3 bytes.
2014-09-04 09:07:03 -04:00
Alain Miniussi
9ddbac64c8
First incompomplete skectch of apossible cartesian communicator.
2014-09-04 14:12:46 +02:00
K. Noel Belcourt
fe6e8b77ac
Only resize vector on root rank we're reducing to.
...
As Steve Nowlen (drnuke@lanl.gov ) pointed out, we can
avoid the vector resize on all ranks except the root we're
reducing to.
2014-09-01 21:07:53 -06:00
Noel Belcourt
76c79c90f8
Merge pull request #6 from juliohm/develop
...
Add scatterv and gatherv collective operations
Tested with clang-5.1 on Mavericks and gcc-4.8.2 on Linux. I'll make some wordsmithing, column 80, and a couple of other small changes after the commit. Thanks Julio, nice work.
2014-07-12 15:21:23 -06:00
Júlio Hoffimann
e70a7f937f
Fix indentation in scatterv.hpp and gatherv.hpp
2014-06-17 13:23:53 -03:00
Júlio Hoffimann
f1ec2fcb22
Make scatterv and gatherv into collectives.hpp
2014-06-16 15:24:34 -03:00
K. Noel Belcourt
fd54b706c6
Merge branch 'master' into develop
...
Conflicts:
include/boost/mpi/packed_iarchive.hpp
include/boost/mpi/packed_oarchive.hpp
2014-05-09 19:56:18 -06:00
Júlio Hoffimann
1f651b8cb1
Add scatterv and gatherv collective operations
2014-05-03 14:26:06 -03:00
K. Noel Belcourt
a7a2501242
Fix problems caused by serialization changes.
2014-02-21 20:46:26 -07:00
Jürgen Hunold
b33caa7d6c
Add visibility support for Boost.MPI. Fixes #2114
2014-01-04 11:04:06 +01:00
Matthias Troyer
9193f9942e
Fixed #9401
...
[SVN r86734]
2013-11-17 10:46:25 +00:00
Matthias Troyer
c2b505cca8
Fixed #9356
...
[SVN r86712]
2013-11-15 19:22:18 +00:00
Matthias Troyer
d8663f9c3d
Fixed #9258
...
[SVN r86353]
2013-10-18 14:56:51 +00:00
Matthias Troyer
e6a31170ea
Fixed #9208
...
[SVN r86207]
2013-10-08 19:05:04 +00:00
Matthias Troyer
8817058e0a
Merged Boost.MPI patches to release
...
[SVN r85553]
2013-09-03 19:31:55 +00:00
Matthias Troyer
e9b92c58c8
Various additiond and patches for Boost.MPI
...
[SVN r85527]
2013-08-30 14:30:09 +00:00
Matthias Troyer
7cfa3db27a
Fixed #6436 #5596 and added threaded initialization
...
[SVN r84739]
2013-06-11 08:30:39 +00:00
Matthias Troyer
ff6f4c64f7
Several minor bug fixes and updates
...
[SVN r82524]
2013-01-17 15:25:50 +00:00
Matthias Troyer
967114eb31
Added missing resize of vector, to become compatible with documentation
...
[SVN r76186]
2011-12-26 17:29:36 +00:00
Matthias Troyer
040a3a9654
Added missing include headers for assert
...
[SVN r76182]
2011-12-26 17:25:21 +00:00
Matthias Troyer
a1ca5b5e7b
Fixed tickets #4693 and #4772
...
[SVN r66785]
2010-11-27 12:40:31 +00:00
Matthias Troyer
b9343fe56c
Moved Boost.MPI fixes for the 1.45 release to the release branch
...
[SVN r66067]
2010-10-18 06:22:09 +00:00
Matthias Troyer
459dfc7e98
Fixed pointer serialization in Boost.MPI
...
[SVN r65997]
2010-10-16 00:49:36 +00:00
Matthias Troyer
170dfd4717
Fixes for homogenous MPI when using new version of the serialization library
...
[SVN r65965]
2010-10-14 20:08:27 +00:00
Matthias Troyer
9a6c6a5f7b
Added shared pointer support
...
[SVN r65556]
2010-09-23 19:26:26 +00:00
Matthias Troyer
50f71c9b00
Changes required to make Boost.MPI work with Boost.Serialization after breaking changes for 1.44
...
[SVN r64423]
2010-07-29 03:27:09 +00:00
Matthias Troyer
fdc02fc7f9
Attempted workaround to breaking changes in Boost.Serialization and removed any remaining dependence on binary archives
...
[SVN r64343]
2010-07-25 22:53:03 +00:00
Matthias Troyer
015b27c70a
Fixed Boost.MPI following breaking changes in Boost.Serialization
...
[SVN r63537]
2010-07-03 03:20:14 +00:00
Matthias Troyer
30f9e8afe6
replaced MPL_ASSERT by STATIS_ASSERT because of gcc-4.4 bug
...
[SVN r56979]
2009-10-18 16:03:53 +00:00
Matthias Troyer
27893126b6
replaced MPL_ASSERT by STATIS_ASSERT because of gcc-4.4 bug
...
[SVN r56978]
2009-10-18 16:03:46 +00:00
Matthias Troyer
a8ada68d28
Templated string serialization on the char type
...
[SVN r56138]
2009-09-10 15:22:21 +00:00
Matthias Troyer
d9138b55d4
Removing assert that fails to compile on some compilers
...
[SVN r56130]
2009-09-10 07:08:26 +00:00
Matthias Troyer
4438c5850d
Added missing includes to Boost.MPI archives
...
[SVN r55505]
2009-08-10 16:51:15 +00:00
Matthias Troyer
2a937afbbe
Moved last unmerged changes for MPI in Boost 1.40
...
[SVN r55504]
2009-08-10 16:47:36 +00:00
Matthias Troyer
3f8772abe9
Added missing includes to Boost.MPI archives
...
[SVN r55503]
2009-08-10 16:46:59 +00:00
Matthias Troyer
33a8f15b45
Fixed trac issue 3261
...
[SVN r55438]
2009-08-06 20:41:28 +00:00
Matthias Troyer
ff26392c36
Fixed trac issue 3261
...
[SVN r55437]
2009-08-06 20:41:25 +00:00
Matthias Troyer
03852ad934
Moved Boost.MPI from trunk to release to make it compile with Boost.Serialization on the release branch
...
[SVN r55433]
2009-08-06 19:04:54 +00:00
Matthias Troyer
2138aefce1
Added missing declspec
...
[SVN r55426]
2009-08-05 22:00:12 +00:00
Matthias Troyer
e985aae60c
Fixed ticket #2151
...
[SVN r55418]
2009-08-05 05:02:04 +00:00
Matthias Troyer
84a5fc599f
Made Boost.MPI work with the new pointer serialization
...
[SVN r55139]
2009-07-23 23:19:16 +00:00
Daniel James
4bf37892a1
Switch to boost/serialization/pfto.hpp. Fixes #3061 .
...
Merged revisions 48610 via svnmerge from
https://svn.boost.org/svn/boost/trunk
........
r48610 | dgregor | 2008-09-05 14:39:26 +0100 (Fri, 05 Sep 2008) | 1 line
Silence -Wunused warnings and switch to boost/serialization/pfto.hpp
........
[SVN r53755]
2009-06-08 19:03:11 +00:00
Matthias Troyer
c8fe71649f
Fixes for bugs 2586 and 2594
...
[SVN r52820]
2009-05-07 05:48:26 +00:00
Jeremiah Willcock
1daf91c82d
Moved property map library into property_map/ directory; made old files into stubs with #warnings; converted uses and docs of property map library to use new names
...
[SVN r52226]
2009-04-07 01:28:38 +00:00