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
Fix a few potential memory leaks in SMPI colls
[simgrid.git]
/
src
/
smpi
/
colls
/
allgather
/
allgather-NTSLR-NB.cpp
diff --git
a/src/smpi/colls/allgather/allgather-NTSLR-NB.cpp
b/src/smpi/colls/allgather/allgather-NTSLR-NB.cpp
index
ae9d195
..
1745ced
100644
(file)
--- a/
src/smpi/colls/allgather/allgather-NTSLR-NB.cpp
+++ b/
src/smpi/colls/allgather/allgather-NTSLR-NB.cpp
@@
-25,8
+25,6
@@
allgather__NTSLR_NB(const void *sbuf, int scount, MPI_Datatype stype,
size = comm->size();
rextent = rtype->get_extent();
sextent = stype->get_extent();
size = comm->size();
rextent = rtype->get_extent();
sextent = stype->get_extent();
- auto* rrequest_array = new MPI_Request[size];
- auto* srequest_array = new MPI_Request[size];
// irregular case use default MPI functions
if (scount * sextent != rcount * rextent) {
// irregular case use default MPI functions
if (scount * sextent != rcount * rextent) {
@@
-49,6
+47,9
@@
allgather__NTSLR_NB(const void *sbuf, int scount, MPI_Datatype stype,
//start sending logical ring message
int increment = scount * sextent;
//start sending logical ring message
int increment = scount * sextent;
+ auto* rrequest_array = new MPI_Request[size];
+ auto* srequest_array = new MPI_Request[size];
+
//post all irecv first
for (i = 0; i < size - 1; i++) {
recv_offset = ((rank - i - 1 + size) % size) * increment;
//post all irecv first
for (i = 0; i < size - 1; i++) {
recv_offset = ((rank - i - 1 + size) % size) * increment;