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 dist.
[simgrid.git]
/
src
/
smpi
/
mpi
/
smpi_topo.cpp
diff --git
a/src/smpi/mpi/smpi_topo.cpp
b/src/smpi/mpi/smpi_topo.cpp
index
b56bc73
..
d4509de
100644
(file)
--- a/
src/smpi/mpi/smpi_topo.cpp
+++ b/
src/smpi/mpi/smpi_topo.cpp
@@
-1,4
+1,4
@@
-/* Copyright (c) 2014-201
7
. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2014-201
8
. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
@@
-70,7
+70,7
@@
Topo_Cart::Topo_Cart(MPI_Comm comm_old, int ndims, int dims[], int periods[], in
oldGroup = comm_old->group();
newGroup = new Group(newSize);
for (int i = 0 ; i < newSize ; i++) {
oldGroup = comm_old->group();
newGroup = new Group(newSize);
for (int i = 0 ; i < newSize ; i++) {
- newGroup->set_mapping(oldGroup->
index
(i), i);
+ newGroup->set_mapping(oldGroup->
actor
(i), i);
}
nnodes_ = newSize;
}
nnodes_ = newSize;
@@
-94,7
+94,7
@@
Topo_Cart::Topo_Cart(MPI_Comm comm_old, int ndims, int dims[], int periods[], in
*comm_cart = MPI_COMM_NULL;
}
}
*comm_cart = MPI_COMM_NULL;
}
}
-
comm_=*comm_cart
;
+
setComm(*comm_cart)
;
}
Topo_Cart* Topo_Cart::sub(const int remain_dims[], MPI_Comm *newcomm) {
}
Topo_Cart* Topo_Cart::sub(const int remain_dims[], MPI_Comm *newcomm) {
@@
-112,8
+112,8
@@
Topo_Cart* Topo_Cart::sub(const int remain_dims[], MPI_Comm *newcomm) {
}
if (newNDims > 0) {
}
if (newNDims > 0) {
- newDims
= xbt_new(int, newNDims)
;
- newPeriodic =
xbt_new(int, newNDims)
;
+ newDims
= new int[newNDims]
;
+ newPeriodic =
new int[newNDims]
;
// that should not segfault
int j = 0;
// that should not segfault
int j = 0;
@@
-125,7
+125,10
@@
Topo_Cart* Topo_Cart::sub(const int remain_dims[], MPI_Comm *newcomm) {
}
}
}
}
}
}
- return new Topo_Cart(comm_, newNDims, newDims, newPeriodic, 0, newcomm);
+ Topo_Cart* res = new Topo_Cart(getComm(), newNDims, newDims, newPeriodic, 0, newcomm);
+ delete[] newDims;
+ delete[] newPeriodic;
+ return res;
}
int Topo_Cart::coords(int rank, int maxdims, int coords[]) {
}
int Topo_Cart::coords(int rank, int maxdims, int coords[]) {
@@
-195,7
+198,7
@@
int Topo_Cart::shift(int direction, int disp, int *rank_source, int *rank_dest)
return MPI_ERR_DIMS;
}
return MPI_ERR_DIMS;
}
- this->coords(
comm_->rank(),
ndims_, position);
+ this->coords(
getComm()->rank(),
ndims_, position);
position[direction] += disp;
if(position[direction] < 0 ||
position[direction] += disp;
if(position[direction] < 0 ||