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
[SMPI] Only allocate memory for call-loc when cfg-option is given
[simgrid.git]
/
src
/
smpi
/
colls
/
bcast-mvapich-smp.c
diff --git
a/src/smpi/colls/bcast-mvapich-smp.c
b/src/smpi/colls/bcast-mvapich-smp.c
index
d40f2db
..
54ea0fc
100644
(file)
--- a/
src/smpi/colls/bcast-mvapich-smp.c
+++ b/
src/smpi/colls/bcast-mvapich-smp.c
@@
-238,7
+238,8
@@
int smpi_coll_tuned_bcast_mvapich2_knomial_intra_node(void *buffer,
mask /= mv2_intra_node_knomial_factor;
}
}
mask /= mv2_intra_node_knomial_factor;
}
}
-
+ xbt_free(reqarray);
+ xbt_free(starray);
return mpi_errno;
}
return mpi_errno;
}
@@
-294,9
+295,9
@@
int smpi_coll_tuned_bcast_mvapich2_intra_node(void *buffer,
* heterogeneous systems. We want to use MPI_Type_size() wherever
* possible, and MPI_Pack_size() in other places.
*/
* heterogeneous systems. We want to use MPI_Type_size() wherever
* possible, and MPI_Pack_size() in other places.
*/
- if (is_homogeneous) {
+
//
if (is_homogeneous) {
type_size=smpi_datatype_size(datatype);
type_size=smpi_datatype_size(datatype);
- } /*else {*/
+
//
} /*else {*/
/* MPIR_Pack_size_impl(1, datatype, &type_size);*/
/* }*/
nbytes = (size_t) (count) * (type_size);
/* MPIR_Pack_size_impl(1, datatype, &type_size);*/
/* }*/
nbytes = (size_t) (count) * (type_size);
@@
-308,14
+309,14
@@
int smpi_coll_tuned_bcast_mvapich2_intra_node(void *buffer,
}
}
}
}
- if (
(
two_level_bcast == 1
+ if (two_level_bcast == 1
#if defined(_MCST_SUPPORT_)
|| comm_ptr->ch.is_mcast_ok
#endif
#if defined(_MCST_SUPPORT_)
|| comm_ptr->ch.is_mcast_ok
#endif
- )
)
{
+ ) {
if (!is_contig || !is_homogeneous) {
if (!is_contig || !is_homogeneous) {
- tmp_buf=(void *)
xbt_malloc
(nbytes);
+ tmp_buf=(void *)
smpi_get_tmp_sendbuffer
(nbytes);
/* TODO: Pipeline the packing and communication */
// position = 0;
/* TODO: Pipeline the packing and communication */
// position = 0;