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
welcome simgrid::smpi::Request
[simgrid.git]
/
src
/
smpi
/
smpi_global.cpp
diff --git
a/src/smpi/smpi_global.cpp
b/src/smpi/smpi_global.cpp
index
bcc611c
..
f67ffe0
100644
(file)
--- a/
src/smpi/smpi_global.cpp
+++ b/
src/smpi/smpi_global.cpp
@@
-352,9
+352,9
@@
MPI_Comm smpi_process_comm_self()
{
smpi_process_data_t data = smpi_process_data();
if(data->comm_self==MPI_COMM_NULL){
- MPI_Group group =
smpi_group_new
(1);
- data->comm_self =
smpi_comm_new
(group, nullptr);
-
smpi_group_set_mapping(group,
smpi_process_index(), 0);
+ MPI_Group group =
new simgrid::smpi::Group
(1);
+ data->comm_self =
new simgrid::smpi::Comm
(group, nullptr);
+
group->set_mapping(
smpi_process_index(), 0);
}
return data->comm_self;
@@
-384,12
+384,6
@@
int smpi_process_get_sampling()
return data->sampling;
}
-void print_request(const char *message, MPI_Request request)
-{
- XBT_VERB("%s request %p [buf = %p, size = %zu, src = %d, dst = %d, tag = %d, flags = %x]",
- message, request, request->buf, request->size, request->src, request->dst, request->tag, request->flags);
-}
-
void smpi_comm_set_copy_data_callback(void (*callback) (smx_activity_t, void*, size_t))
{
smpi_comm_copy_data_callback = callback;
@@
-604,13
+598,13
@@
void smpi_global_init()
//if the process was launched through smpirun script we generate a global mpi_comm_world
//if not, we let MPI_COMM_NULL, and the comm world will be private to each mpi instance
if(smpirun){
- group =
smpi_group_new
(process_count);
- MPI_COMM_WORLD =
smpi_comm_new
(group, nullptr);
+ group =
new simgrid::smpi::Group
(process_count);
+ MPI_COMM_WORLD =
new simgrid::smpi::Comm
(group, nullptr);
MPI_Attr_put(MPI_COMM_WORLD, MPI_UNIVERSE_SIZE, reinterpret_cast<void *>(process_count));
msg_bar_t bar = MSG_barrier_init(process_count);
for (i = 0; i < process_count; i++) {
-
smpi_group_set_mapping(group,
i, i);
+
group->set_mapping(
i, i);
process_data[i]->finalization_barrier = bar;
}
}
@@
-622,17
+616,17
@@
void smpi_global_destroy()
smpi_bench_destroy();
if (MPI_COMM_WORLD != MPI_COMM_UNINITIALIZED){
- while (
smpi_group_unuse(smpi_comm_group(MPI_COMM_WORLD)
) > 0);
+ while (
MPI_COMM_WORLD->group()->unuse(
) > 0);
MSG_barrier_destroy(process_data[0]->finalization_barrier);
}else{
smpi_deployment_cleanup_instances();
}
for (int i = 0; i < count; i++) {
if(process_data[i]->comm_self!=MPI_COMM_NULL){
-
smpi_comm_destroy(process_data[i]->comm_self
);
+
process_data[i]->comm_self->destroy(
);
}
if(process_data[i]->comm_intra!=MPI_COMM_NULL){
-
smpi_comm_destroy(process_data[i]->comm_intra
);
+
process_data[i]->comm_intra->destroy(
);
}
xbt_os_timer_free(process_data[i]->timer);
xbt_mutex_destroy(process_data[i]->mailboxes_mutex);
@@
-642,11
+636,11
@@
void smpi_global_destroy()
process_data = nullptr;
if (MPI_COMM_WORLD != MPI_COMM_UNINITIALIZED){
-
smpi_comm_cleanup_smp(MPI_COMM_WORLD
);
-
smpi_comm_cleanup_attributes(MPI_COMM_WORLD
);
+
MPI_COMM_WORLD->cleanup_smp(
);
+
MPI_COMM_WORLD->cleanup_attributes(
);
if(smpi_coll_cleanup_callback!=nullptr)
smpi_coll_cleanup_callback();
-
xbt_free(MPI_COMM_WORLD)
;
+
delete MPI_COMM_WORLD
;
}
MPI_COMM_WORLD = MPI_COMM_NULL;