-/* Copyright (c) 2010-2019. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2010-2020. 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. */
int is_uniform_ = 1;
int* non_uniform_map_ = nullptr; // set if smp nodes have a different number of processes allocated
int is_blocked_ = 0; // are ranks allocated on the same smp node contiguous ?
- int is_smp_comm_; // set to 0 in case this is already an intra-comm or a leader-comm to avoid recursion
+ bool is_smp_comm_ = false; // set to false in case this is already an intra-comm or a leader-comm to avoid
+ // recursion
std::list<MPI_Win> rma_wins_; // attached windows for synchronization.
std::string name_;
MPI_Info info_ = MPI_INFO_NULL;
static int keyval_id_;
Comm() = default;
- Comm(MPI_Group group, MPI_Topology topo, int smp = 0, int id=MPI_UNDEFINED);
+ Comm(MPI_Group group, MPI_Topology topo, bool smp = false, int id = MPI_UNDEFINED);
int dup(MPI_Comm* newcomm);
int dup_with_info(MPI_Info info, MPI_Comm* newcomm);
MPI_Group group();
MPI_Comm get_leaders_comm();
MPI_Comm get_intra_comm();
MPI_Comm find_intra_comm(int* leader);
- int is_uniform();
- int is_blocked();
- int is_smp_comm();
+ bool is_uniform();
+ bool is_blocked();
+ bool is_smp_comm();
MPI_Comm split(int color, int key);
void cleanup_smp();
void ref();
void add_rma_win(MPI_Win win);
void remove_rma_win(MPI_Win win);
void finish_rma_calls();
- MPI_Comm split_type(int type, int key, MPI_Info info);
+ MPI_Comm split_type(int type, int key, const Info* info);
};
} // namespace smpi