A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Leak-- (seen in maestro-set).
[simgrid.git]
/
src
/
smpi
/
colls
/
allgather
/
allgather-bruck.cpp
diff --git
a/src/smpi/colls/allgather/allgather-bruck.cpp
b/src/smpi/colls/allgather/allgather-bruck.cpp
index
68edee2
..
f9b53fe
100644
(file)
--- a/
src/smpi/colls/allgather/allgather-bruck.cpp
+++ b/
src/smpi/colls/allgather/allgather-bruck.cpp
@@
-1,4
+1,4
@@
-/* Copyright (c) 2013-201
4
. The SimGrid Team.
+/* Copyright (c) 2013-201
7
. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
@@
-65,9
+65,15
@@
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* algorithm.
* Auther: MPICH
* Comment: Original bruck algorithm from MPICH is slightly modified by
* algorithm.
* Auther: MPICH
* Comment: Original bruck algorithm from MPICH is slightly modified by
- * Ahmad Faraj.
+ * Ahmad Faraj.
****************************************************************************/
****************************************************************************/
-int smpi_coll_tuned_allgather_bruck(void *send_buff, int send_count,
+
+namespace simgrid{
+namespace smpi{
+
+
+
+int Coll_allgather_bruck::allgather(void *send_buff, int send_count,
MPI_Datatype send_type, void *recv_buff,
int recv_count, MPI_Datatype recv_type,
MPI_Comm comm)
MPI_Datatype send_type, void *recv_buff,
int recv_count, MPI_Datatype recv_type,
MPI_Comm comm)
@@
-86,7
+92,7
@@
int smpi_coll_tuned_allgather_bruck(void *send_buff, int send_count,
char *send_ptr = (char *) send_buff;
char *recv_ptr = (char *) recv_buff;
char *send_ptr = (char *) send_buff;
char *recv_ptr = (char *) recv_buff;
- // get size of the communicator, followed by rank
+ // get size of the communicator, followed by rank
num_procs = comm->size();
rank = comm->rank();
num_procs = comm->size();
rank = comm->rank();
@@
-98,8
+104,7
@@
int smpi_coll_tuned_allgather_bruck(void *send_buff, int send_count,
tmp_buff = (char *) smpi_get_tmp_sendbuffer(num_procs * recv_count * recv_extent);
// perform a local copy
tmp_buff = (char *) smpi_get_tmp_sendbuffer(num_procs * recv_count * recv_extent);
// perform a local copy
- Datatype::copy(send_ptr, send_count, send_type,
- tmp_buff, recv_count, recv_type);
+ Datatype::copy(send_ptr, send_count, send_type, tmp_buff, recv_count, recv_type);
while (pof2 <= (num_procs / 2)) {
src = (rank + pof2) % num_procs;
dst = (rank - pof2 + num_procs) % num_procs;
while (pof2 <= (num_procs / 2)) {
src = (rank + pof2) % num_procs;
dst = (rank - pof2 + num_procs) % num_procs;
@@
-133,3
+138,7
@@
int smpi_coll_tuned_allgather_bruck(void *send_buff, int send_count,
smpi_free_tmp_buffer(tmp_buff);
return MPI_SUCCESS;
}
smpi_free_tmp_buffer(tmp_buff);
return MPI_SUCCESS;
}
+
+
+}
+}