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 tuned algo here
[simgrid.git]
/
src
/
smpi
/
colls
/
smpi_openmpi_selector.c
diff --git
a/src/smpi/colls/smpi_openmpi_selector.c
b/src/smpi/colls/smpi_openmpi_selector.c
index
939b643
..
2319633
100644
(file)
--- a/
src/smpi/colls/smpi_openmpi_selector.c
+++ b/
src/smpi/colls/smpi_openmpi_selector.c
@@
-81,7
+81,7
@@
int smpi_coll_tuned_alltoall_ompi( void *sbuf, int scount,
comm);
}
comm);
}
- return smpi_coll_tuned_alltoall_
pair
(sbuf, scount, sdtype,
+ return smpi_coll_tuned_alltoall_
ompi_pairwise
(sbuf, scount, sdtype,
rbuf, rcount, rdtype,
comm);
}
rbuf, rcount, rdtype,
comm);
}
@@
-94,7
+94,7
@@
int smpi_coll_tuned_alltoallv_ompi(void *sbuf, int *scounts, int *sdisps,
)
{
/* For starters, just keep the original algorithm. */
)
{
/* For starters, just keep the original algorithm. */
- return smpi_coll_tuned_alltoallv_
pai
r(sbuf, scounts, sdisps, sdtype,
+ return smpi_coll_tuned_alltoallv_
ompi_basic_linea
r(sbuf, scounts, sdisps, sdtype,
rbuf, rcounts, rdisps,rdtype,
comm);
}
rbuf, rcounts, rdisps,rdtype,
comm);
}
@@
-596,6
+596,11
@@
int smpi_coll_tuned_scatter_ompi(void *sbuf, int scount,
if ((communicator_size > small_comm_size) &&
(block_size < small_block_size)) {
if ((communicator_size > small_comm_size) &&
(block_size < small_block_size)) {
+ if(rank!=root){
+ sbuf=xbt_malloc(rcount*smpi_datatype_get_extent(rdtype));
+ scount=rcount;
+ sdtype=rdtype;
+ }
return smpi_coll_tuned_scatter_ompi_binomial (sbuf, scount, sdtype,
rbuf, rcount, rdtype,
root, comm);
return smpi_coll_tuned_scatter_ompi_binomial (sbuf, scount, sdtype,
rbuf, rcount, rdtype,
root, comm);