-/* Copyright (c) 2013-2019. The SimGrid Team.
+/* Copyright (c) 2013-2022. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
int count,
MPI_Datatype datatype,
MPI_Op op, int root, MPI_Comm comm);
-namespace simgrid {
-namespace smpi {
+namespace simgrid::smpi {
int reduce__mvapich2_two_level( const void *sendbuf,
void *recvbuf,
int count,
const unsigned char* in_buf = nullptr;
unsigned char *out_buf = nullptr, *tmp_buf = nullptr;
MPI_Aint true_lb, true_extent, extent;
- int is_commutative = 0, stride = 0;
+ int stride = 0;
int intra_node_root=0;
//if not set (use of the algo directly, without mvapich2 selector)
- if(MV2_Reduce_function==NULL)
+ if (MV2_Reduce_function == nullptr)
MV2_Reduce_function = reduce__mpich;
- if(MV2_Reduce_intra_function==NULL)
+ if (MV2_Reduce_intra_function == nullptr)
MV2_Reduce_intra_function = reduce__mpich;
if(comm->get_leaders_comm()==MPI_COMM_NULL){
leader_of_root = comm->group()->rank(leaders_map[root]);
leader_root = leader_comm->group()->rank(leaders_map[root]);
- is_commutative= (op==MPI_OP_NULL || op->is_commutative());
+ bool is_commutative = (op == MPI_OP_NULL || op->is_commutative());
datatype->extent(&true_lb,
&true_extent);
if (local_size == total_size) {
/* First handle the case where there is only one node */
- if (stride <= MV2_INTRA_SHMEM_REDUCE_MSG &&
- is_commutative == 1) {
+ if (stride <= MV2_INTRA_SHMEM_REDUCE_MSG && is_commutative) {
if (local_rank == 0 ) {
tmp_buf = smpi_get_tmp_sendbuffer(count * std::max(extent, true_extent));
tmp_buf = tmp_buf - true_lb;
*this step*/
if (MV2_Reduce_intra_function == & MPIR_Reduce_shmem_MV2)
{
- if (is_commutative == 1 && (count * (std::max(extent, true_extent)) < SHMEM_COLL_BLOCK_SIZE)) {
+ if (is_commutative && (count * (std::max(extent, true_extent)) < SHMEM_COLL_BLOCK_SIZE)) {
mpi_errno = MV2_Reduce_intra_function(in_buf, out_buf, count, datatype, op, intra_node_root, shmem_comm);
} else {
mpi_errno = MPIR_Reduce_intra_knomial_wrapper_MV2(in_buf, out_buf, count,
fn_exit:
return mpi_errno;
}
-}
-}
+} // namespace simgrid::smpi