Commit Graph

577 Commits

Author SHA1 Message Date
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
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
480fcebd70 Activate topology ctor tests. 2016-10-19 14:45:12 +02:00
Alain Miniussi
77d902c35b Added topology initialization tests. 2016-10-19 14:44:36 +02:00