SimGrid  3.14.159
Versatile Simulation of Distributed Systems
colls.h File Reference
#include <math.h>
#include "smpi/mpi.h"
#include "src/smpi/private.h"
#include "xbt/ex.h"
#include "xbt.h"

Macros

#define COLL_DESCRIPTION(cat, ret, args, name)
 
#define COLL_PROTO(cat, ret, args, name)   ret smpi_coll_tuned_ ## cat ## _ ## name(COLL_UNPAREN args);
 
#define COLL_UNPAREN(...)   __VA_ARGS__
 
#define COLL_APPLY(action, sig, name)   action(sig, name)
 
#define COLL_COMMA   ,
 
#define COLL_NOsep
 
#define COLL_NOTHING(...)
 
#define COLL_GATHER_SIG
 
#define COLL_GATHERS(action, COLL_sep)
 
#define COLL_ALLGATHER_SIG
 
#define COLL_ALLGATHERS(action, COLL_sep)
 
#define COLL_ALLGATHERV_SIG
 
#define COLL_ALLGATHERVS(action, COLL_sep)
 
#define COLL_ALLREDUCE_SIG
 
#define COLL_ALLREDUCES(action, COLL_sep)
 
#define COLL_ALLTOALL_SIG
 
#define COLL_ALLTOALLS(action, COLL_sep)
 
#define COLL_ALLTOALLV_SIG
 
#define COLL_ALLTOALLVS(action, COLL_sep)
 
#define COLL_BCAST_SIG
 
#define COLL_BCASTS(action, COLL_sep)
 
#define COLL_REDUCE_SIG
 
#define COLL_REDUCES(action, COLL_sep)
 
#define COLL_REDUCE_SCATTER_SIG
 
#define COLL_REDUCE_SCATTERS(action, COLL_sep)
 
#define COLL_SCATTER_SIG
 
#define COLL_SCATTERS(action, COLL_sep)
 
#define COLL_BARRIER_SIG
 
#define COLL_BARRIERS(action, COLL_sep)
 

Macro Definition Documentation

◆ COLL_DESCRIPTION

#define COLL_DESCRIPTION (   cat,
  ret,
  args,
  name 
)
Value:
{# name,\
# cat " " # name " collective",\
(void*)smpi_coll_tuned_ ## cat ## _ ## name}
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint MPI_Info void baseptr void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Comm int keyval MPI_Comm int void attr_value void int MPI_Datatype int MPI_Comm comm MPI_Comm int int int int MPI_Comm comm_cart MPI_Comm int int int int coords MPI_Comm int int int int dest MPI_Comm MPI_Comm int result MPI_Comm MPI_Group MPI_Comm newcomm MPI_Comm comm int keyval MPI_Comm int void int flag MPI_Comm MPI_Group group MPI_Comm int void attribute_val MPI_Comm int int MPI_Comm comm_out int int errorclass int flag void baseptr void int MPI_Datatype void int int MPI_Datatype int MPI_Comm comm MPI_Status MPI_Datatype int count char * name
Definition: smpi_mpi.cpp:83

◆ COLL_PROTO

#define COLL_PROTO (   cat,
  ret,
  args,
  name 
)    ret smpi_coll_tuned_ ## cat ## _ ## name(COLL_UNPAREN args);

◆ COLL_UNPAREN

#define COLL_UNPAREN (   ...)    __VA_ARGS__

◆ COLL_APPLY

#define COLL_APPLY (   action,
  sig,
  name 
)    action(sig, name)

◆ COLL_COMMA

#define COLL_COMMA   ,

◆ COLL_NOsep

#define COLL_NOsep

◆ COLL_NOTHING

#define COLL_NOTHING (   ...)

◆ COLL_GATHER_SIG

#define COLL_GATHER_SIG
Value:
gather, int, \
(void *send_buff, int send_count, MPI_Datatype send_type, \
void *recv_buff, int recv_count, MPI_Datatype recv_type, \
Definition: smpi_comm.cpp:29
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm
Definition: smpi_mpi.cpp:39
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint MPI_Info void baseptr void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Comm int keyval MPI_Comm int void attr_value void int MPI_Datatype int root
Definition: smpi_mpi.cpp:49
Definition: private.h:53

◆ COLL_GATHERS

#define COLL_GATHERS (   action,
  COLL_sep 
)
Value:
COLL_APPLY(action, COLL_GATHER_SIG, ompi_basic_linear) COLL_sep \
COLL_APPLY(action, COLL_GATHER_SIG, ompi_binomial) COLL_sep \
COLL_APPLY(action, COLL_GATHER_SIG, ompi_linear_sync) COLL_sep \
COLL_APPLY(action, COLL_GATHER_SIG, mvapich2_two_level) COLL_sep \
COLL_APPLY(action, COLL_GATHER_SIG, automatic)
#define COLL_APPLY(action, sig, name)
Definition: colls.h:27
#define COLL_GATHER_SIG
Definition: colls.h:35

◆ COLL_ALLGATHER_SIG

#define COLL_ALLGATHER_SIG
Value:
allgather, int, \
(void *send_buff, int send_count, MPI_Datatype send_type, \
void *recv_buff, int recv_count, MPI_Datatype recv_type, \
MPI_Comm comm)
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm
Definition: smpi_mpi.cpp:39
Definition: private.h:53

◆ COLL_ALLGATHERS

#define COLL_ALLGATHERS (   action,
  COLL_sep 
)

◆ COLL_ALLGATHERV_SIG

#define COLL_ALLGATHERV_SIG
Value:
allgatherv, int, \
(void *send_buff, int send_count, MPI_Datatype send_type, \
void *recv_buff, int *recv_count, int *recv_disps, \
MPI_Datatype recv_type, MPI_Comm comm)
Definition: smpi_comm.cpp:29
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm
Definition: smpi_mpi.cpp:39
Definition: private.h:53

◆ COLL_ALLGATHERVS

#define COLL_ALLGATHERVS (   action,
  COLL_sep 
)
Value:
COLL_APPLY(action, COLL_ALLGATHERV_SIG, ompi_neighborexchange) COLL_sep \
COLL_APPLY(action, COLL_ALLGATHERV_SIG, automatic)
#define COLL_ALLGATHERV_SIG
Definition: colls.h:92
#define COLL_APPLY(action, sig, name)
Definition: colls.h:27

◆ COLL_ALLREDUCE_SIG

#define COLL_ALLREDUCE_SIG
Value:
allreduce, int, \
(void *sbuf, void *rbuf, int rcount, \
MPI_Datatype dtype, MPI_Op op, MPI_Comm comm)
Definition: smpi_comm.cpp:29
Definition: smpi_mpi_dt.cpp:1159
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm
Definition: smpi_mpi.cpp:39
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op op
Definition: smpi_mpi.cpp:37

◆ COLL_ALLREDUCES

#define COLL_ALLREDUCES (   action,
  COLL_sep 
)
Value:
COLL_APPLY(action, COLL_ALLREDUCE_SIG, smp_binomial_pipeline) COLL_sep \
COLL_APPLY(action, COLL_ALLREDUCE_SIG, ompi_ring_segmented) COLL_sep \
COLL_APPLY(action, COLL_ALLREDUCE_SIG, mvapich2_two_level) COLL_sep \
COLL_APPLY(action, COLL_ALLREDUCE_SIG, automatic)
#define COLL_APPLY(action, sig, name)
Definition: colls.h:27
#define COLL_ALLREDUCE_SIG
Definition: colls.h:116

◆ COLL_ALLTOALL_SIG

#define COLL_ALLTOALL_SIG
Value:
alltoall, int, \
(void *send_buff, int send_count, MPI_Datatype send_type, \
void *recv_buff, int recv_count, MPI_Datatype recv_type, \
MPI_Comm comm)
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm
Definition: smpi_mpi.cpp:39
Definition: private.h:53

◆ COLL_ALLTOALLS

#define COLL_ALLTOALLS (   action,
  COLL_sep 
)
Value:
COLL_APPLY(action, COLL_ALLTOALL_SIG, basic_linear) COLL_sep \
COLL_APPLY(action, COLL_ALLTOALL_SIG, pair_light_barrier) COLL_sep \
COLL_APPLY(action, COLL_ALLTOALL_SIG, pair_mpi_barrier) COLL_sep \
COLL_APPLY(action, COLL_ALLTOALL_SIG, pair_one_barrier) COLL_sep \
COLL_APPLY(action, COLL_ALLTOALL_SIG, ring_light_barrier) COLL_sep \
COLL_APPLY(action, COLL_ALLTOALL_SIG, ring_mpi_barrier) COLL_sep \
COLL_APPLY(action, COLL_ALLTOALL_SIG, ring_one_barrier) COLL_sep \
COLL_APPLY(action, COLL_ALLTOALL_SIG, mvapich2_scatter_dest) COLL_sep \
COLL_APPLY(action, COLL_ALLTOALL_SIG, automatic)
#define COLL_ALLTOALL_SIG
Definition: colls.h:149
#define COLL_APPLY(action, sig, name)
Definition: colls.h:27

◆ COLL_ALLTOALLV_SIG

#define COLL_ALLTOALLV_SIG
Value:
alltoallv, int, \
(void *send_buff, int *send_counts, int *send_disps, MPI_Datatype send_type, \
void *recv_buff, int *recv_counts, int *recv_disps, MPI_Datatype recv_type, \
MPI_Comm comm)
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm
Definition: smpi_mpi.cpp:39
Definition: private.h:53

◆ COLL_ALLTOALLVS

#define COLL_ALLTOALLVS (   action,
  COLL_sep 
)
Value:
COLL_APPLY(action, COLL_ALLTOALLV_SIG, pair_light_barrier) COLL_sep \
COLL_APPLY(action, COLL_ALLTOALLV_SIG, pair_mpi_barrier) COLL_sep \
COLL_APPLY(action, COLL_ALLTOALLV_SIG, pair_one_barrier) COLL_sep \
COLL_APPLY(action, COLL_ALLTOALLV_SIG, ring_light_barrier) COLL_sep \
COLL_APPLY(action, COLL_ALLTOALLV_SIG, ring_mpi_barrier) COLL_sep \
COLL_APPLY(action, COLL_ALLTOALLV_SIG, ring_one_barrier) COLL_sep \
COLL_APPLY(action, COLL_ALLTOALLV_SIG, ompi_basic_linear) COLL_sep \
COLL_APPLY(action, COLL_ALLTOALLV_SIG, automatic)
#define COLL_ALLTOALLV_SIG
Definition: colls.h:181
#define COLL_APPLY(action, sig, name)
Definition: colls.h:27

◆ COLL_BCAST_SIG

#define COLL_BCAST_SIG
Value:
bcast, int, \
(void *buf, int count, MPI_Datatype datatype, \
Definition: smpi_comm.cpp:29
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint MPI_Info void baseptr void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Comm int keyval MPI_Comm int void attr_value void int MPI_Datatype datatype
Definition: smpi_mpi.cpp:49
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint MPI_Info void baseptr void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Comm int keyval MPI_Comm int void attr_value void int count
Definition: smpi_mpi.cpp:49
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm
Definition: smpi_mpi.cpp:39
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint MPI_Info void baseptr void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Comm int keyval MPI_Comm int void attr_value void int MPI_Datatype int root
Definition: smpi_mpi.cpp:49
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint MPI_Info void baseptr void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Comm int keyval MPI_Comm int void attr_value void * buf
Definition: smpi_mpi.cpp:49
Definition: private.h:53

◆ COLL_BCASTS

#define COLL_BCASTS (   action,
  COLL_sep 
)
Value:
COLL_APPLY(action, COLL_BCAST_SIG, arrival_pattern_aware) COLL_sep \
COLL_APPLY(action, COLL_BCAST_SIG, arrival_pattern_aware_wait) COLL_sep \
COLL_APPLY(action, COLL_BCAST_SIG, arrival_scatter) COLL_sep \
COLL_APPLY(action, COLL_BCAST_SIG, binomial_tree) COLL_sep \
COLL_APPLY(action, COLL_BCAST_SIG, flattree_pipeline) COLL_sep \
COLL_APPLY(action, COLL_BCAST_SIG, NTSL_Isend) COLL_sep \
COLL_APPLY(action, COLL_BCAST_SIG, scatter_LR_allgather) COLL_sep \
COLL_APPLY(action, COLL_BCAST_SIG, scatter_rdb_allgather) COLL_sep \
COLL_APPLY(action, COLL_BCAST_SIG, SMP_binary) COLL_sep \
COLL_APPLY(action, COLL_BCAST_SIG, SMP_binomial) COLL_sep \
COLL_APPLY(action, COLL_BCAST_SIG, SMP_linear) COLL_sep \
COLL_APPLY(action, COLL_BCAST_SIG, ompi_split_bintree) COLL_sep \
COLL_APPLY(action, COLL_BCAST_SIG, ompi_pipeline) COLL_sep \
COLL_APPLY(action, COLL_BCAST_SIG, mvapich2_inter_node) COLL_sep \
COLL_APPLY(action, COLL_BCAST_SIG, mvapich2_intra_node) COLL_sep \
COLL_APPLY(action, COLL_BCAST_SIG, mvapich2_knomial_intra_node) COLL_sep \
COLL_APPLY(action, COLL_BCAST_SIG, automatic)
#define COLL_BCAST_SIG
Definition: colls.h:208
#define COLL_APPLY(action, sig, name)
Definition: colls.h:27

◆ COLL_REDUCE_SIG

#define COLL_REDUCE_SIG
Value:
reduce, int, \
(void *buf, void *rbuf, int count, MPI_Datatype datatype, \
MPI_Op op, int root, MPI_Comm comm)
Definition: smpi_comm.cpp:29
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint MPI_Info void baseptr void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Comm int keyval MPI_Comm int void attr_value void int MPI_Datatype datatype
Definition: smpi_mpi.cpp:49
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint MPI_Info void baseptr void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Comm int keyval MPI_Comm int void attr_value void int count
Definition: smpi_mpi.cpp:49
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm
Definition: smpi_mpi.cpp:39
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint MPI_Info void baseptr void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Comm int keyval MPI_Comm int void attr_value void int MPI_Datatype int root
Definition: smpi_mpi.cpp:49
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint MPI_Info void baseptr void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Comm int keyval MPI_Comm int void attr_value void * buf
Definition: smpi_mpi.cpp:49
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op op
Definition: smpi_mpi.cpp:37
Definition: private.h:53

◆ COLL_REDUCES

#define COLL_REDUCES (   action,
  COLL_sep 
)
Value:
COLL_APPLY(action, COLL_REDUCE_SIG, arrival_pattern_aware) COLL_sep \
COLL_APPLY(action, COLL_REDUCE_SIG, scatter_gather) COLL_sep \
COLL_APPLY(action, COLL_REDUCE_SIG, ompi_pipeline) COLL_sep \
COLL_APPLY(action, COLL_REDUCE_SIG, ompi_basic_linear) COLL_sep \
COLL_APPLY(action, COLL_REDUCE_SIG, ompi_in_order_binary) COLL_sep \
COLL_APPLY(action, COLL_REDUCE_SIG, ompi_binary) COLL_sep \
COLL_APPLY(action, COLL_REDUCE_SIG, ompi_binomial) COLL_sep \
COLL_APPLY(action, COLL_REDUCE_SIG, mvapich2_knomial) COLL_sep \
COLL_APPLY(action, COLL_REDUCE_SIG, mvapich2_two_level) COLL_sep \
COLL_APPLY(action, COLL_REDUCE_SIG, automatic)
#define COLL_REDUCE_SIG
Definition: colls.h:244
#define COLL_APPLY(action, sig, name)
Definition: colls.h:27

◆ COLL_REDUCE_SCATTER_SIG

#define COLL_REDUCE_SCATTER_SIG
Value:
reduce_scatter, int, \
(void *sbuf, void *rbuf, int *rcounts,\
MPI_Datatype dtype,MPI_Op op,MPI_Comm comm)
Definition: smpi_comm.cpp:29
Definition: smpi_mpi_dt.cpp:1159
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm
Definition: smpi_mpi.cpp:39
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op op
Definition: smpi_mpi.cpp:37

◆ COLL_REDUCE_SCATTERS

#define COLL_REDUCE_SCATTERS (   action,
  COLL_sep 
)
Value:
COLL_APPLY(action, COLL_REDUCE_SCATTER_SIG, ompi_basic_recursivehalving) COLL_sep \
#define COLL_APPLY(action, sig, name)
Definition: colls.h:27
#define COLL_REDUCE_SCATTER_SIG
Definition: colls.h:274

◆ COLL_SCATTER_SIG

#define COLL_SCATTER_SIG
Value:
scatter, int, \
Definition: smpi_comm.cpp:29
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int sendcount
Definition: smpi_mpi.cpp:39
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int recvcount
Definition: smpi_mpi.cpp:39
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype sendtype
Definition: smpi_mpi.cpp:39
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void * recvbuf
Definition: smpi_mpi.cpp:39
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm
Definition: smpi_mpi.cpp:39
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void * sendbuf
Definition: smpi_mpi.cpp:39
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint MPI_Info void baseptr void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Comm int keyval MPI_Comm int void attr_value void int MPI_Datatype int root
Definition: smpi_mpi.cpp:49
Definition: private.h:53
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype recvtype
Definition: smpi_mpi.cpp:39

◆ COLL_SCATTERS

#define COLL_SCATTERS (   action,
  COLL_sep 
)
Value:
COLL_APPLY(action, COLL_SCATTER_SIG, ompi_basic_linear) COLL_sep \
COLL_APPLY(action, COLL_SCATTER_SIG, ompi_binomial) COLL_sep \
COLL_APPLY(action, COLL_SCATTER_SIG, mvapich2_two_level_binomial) COLL_sep \
COLL_APPLY(action, COLL_SCATTER_SIG, mvapich2_two_level_direct) COLL_sep \
COLL_APPLY(action, COLL_SCATTER_SIG, automatic)
#define COLL_SCATTER_SIG
Definition: colls.h:298
#define COLL_APPLY(action, sig, name)
Definition: colls.h:27

◆ COLL_BARRIER_SIG

#define COLL_BARRIER_SIG
Value:
barrier, int, \
Definition: smpi_comm.cpp:29
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm
Definition: smpi_mpi.cpp:39

◆ COLL_BARRIERS

#define COLL_BARRIERS (   action,
  COLL_sep 
)
Value:
COLL_APPLY(action, COLL_BARRIER_SIG, ompi_basic_linear) COLL_sep \
COLL_APPLY(action, COLL_BARRIER_SIG, ompi_two_procs) COLL_sep \
COLL_APPLY(action, COLL_BARRIER_SIG, ompi_recursivedoubling) COLL_sep \
COLL_APPLY(action, COLL_BARRIER_SIG, ompi_doublering) COLL_sep \
COLL_APPLY(action, COLL_BARRIER_SIG, mvapich2_pair) COLL_sep \
COLL_APPLY(action, COLL_BARRIER_SIG, automatic)
#define COLL_BARRIER_SIG
Definition: colls.h:319
#define COLL_APPLY(action, sig, name)
Definition: colls.h:27