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
Use simgrid function instead of MPI in collectives
[simgrid.git]
/
src
/
smpi
/
colls
/
reduce-binomial.c
diff --git
a/src/smpi/colls/reduce-binomial.c
b/src/smpi/colls/reduce-binomial.c
index
580e3db
..
76fef91
100644
(file)
--- a/
src/smpi/colls/reduce-binomial.c
+++ b/
src/smpi/colls/reduce-binomial.c
@@
-1,4
+1,4
@@
-#include "colls.h"
+#include "colls
_private
.h"
//#include <star-reduction.c>
//#include <star-reduction.c>
@@
-16,14
+16,14
@@
int smpi_coll_tuned_reduce_binomial(void *sendbuf, void *recvbuf, int count,
if (count == 0)
return 0;
if (count == 0)
return 0;
-
MPI_Comm_rank(comm, &rank
);
-
MPI_Comm_size(comm, &comm_size
);
+
rank = smpi_comm_rank(comm
);
+
comm_size = smpi_comm_size(comm
);
-
MPI_Type_extent(datatype, &extent
);
+
extent = smpi_datatype_get_extent(datatype
);
- tmp_buf = (void *) malloc(count * extent);
+ tmp_buf = (void *)
xbt_
malloc(count * extent);
-
MPI_S
endrecv(sendbuf, count, datatype, rank, tag,
+
smpi_mpi_s
endrecv(sendbuf, count, datatype, rank, tag,
recvbuf, count, datatype, rank, tag, comm, &status);
mask = 1;
relrank = (rank - root + comm_size) % comm_size;
recvbuf, count, datatype, rank, tag, comm, &status);
mask = 1;
relrank = (rank - root + comm_size) % comm_size;
@@
-34,12
+34,12
@@
int smpi_coll_tuned_reduce_binomial(void *sendbuf, void *recvbuf, int count,
source = (relrank | mask);
if (source < comm_size) {
source = (source + root) % comm_size;
source = (relrank | mask);
if (source < comm_size) {
source = (source + root) % comm_size;
-
MPI_R
ecv(tmp_buf, count, datatype, source, tag, comm, &status);
+
smpi_mpi_r
ecv(tmp_buf, count, datatype, source, tag, comm, &status);
star_reduction(op, tmp_buf, recvbuf, &count, &datatype);
}
} else {
dst = ((relrank & (~mask)) + root) % comm_size;
star_reduction(op, tmp_buf, recvbuf, &count, &datatype);
}
} else {
dst = ((relrank & (~mask)) + root) % comm_size;
-
MPI_S
end(recvbuf, count, datatype, dst, tag, comm);
+
smpi_mpi_s
end(recvbuf, count, datatype, dst, tag, comm);
break;
}
mask <<= 1;
break;
}
mask <<= 1;