/* selector for collective algorithms based on openmpi's default coll_tuned_decision_fixed selector */
-/* Copyright (c) 2009-2010, 2013-2017. The SimGrid Team.
+/* Copyright (c) 2009-2019. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
#define INTEL_MAX_NB_NUMPROCS 12
#define INTEL_MAX_NB_PPN 5 /* 1 2 4 8 16 ppn */
-typedef struct {
+struct intel_tuning_table_size_element {
unsigned int max_size;
int algo;
-} intel_tuning_table_size_element;
+};
-typedef struct {
+struct intel_tuning_table_numproc_element {
int max_num_proc;
int num_elems;
intel_tuning_table_size_element elems[INTEL_MAX_NB_THRESHOLDS];
-} intel_tuning_table_numproc_element;
+};
-typedef struct {
+struct intel_tuning_table_element {
int ppn;
intel_tuning_table_numproc_element elems[INTEL_MAX_NB_NUMPROCS];
-} intel_tuning_table_element;
+};
/*
I_MPI_ADJUST_ALLREDUCE
namespace simgrid{
namespace smpi{
-int (*intel_allreduce_functions_table[])(void *sendbuf,
+int (*intel_allreduce_functions_table[])(const void *sendbuf,
void *recvbuf,
int count,
MPI_Datatype datatype,
}
}
};
-int (*intel_alltoall_functions_table[])(void *sbuf, int scount,
+int (*intel_alltoall_functions_table[])(const void *sbuf, int scount,
MPI_Datatype sdtype,
void* rbuf, int rcount,
MPI_Datatype rdtype,
*/
-int (*intel_reduce_functions_table[])(void *sendbuf, void *recvbuf,
+int (*intel_reduce_functions_table[])(const void *sendbuf, void *recvbuf,
int count, MPI_Datatype datatype,
MPI_Op op, int root,
MPI_Comm comm) ={
5. Topology aware Reduce + Scatterv algorithm
*/
-static int intel_reduce_scatter_reduce_scatterv(void *sbuf, void *rbuf,
- int *rcounts,
+static int intel_reduce_scatter_reduce_scatterv(const void *sbuf, void *rbuf,
+ const int *rcounts,
MPI_Datatype dtype,
MPI_Op op,
MPI_Comm comm)
return MPI_SUCCESS;
}
-static int intel_reduce_scatter_recursivehalving(void *sbuf, void *rbuf,
- int *rcounts,
+static int intel_reduce_scatter_recursivehalving(const void *sbuf, void *rbuf,
+ const int *rcounts,
MPI_Datatype dtype,
MPI_Op op,
MPI_Comm comm)
return Coll_reduce_scatter_mvapich2::reduce_scatter(sbuf, rbuf, rcounts,dtype, op,comm);
}
-int (*intel_reduce_scatter_functions_table[])( void *sbuf, void *rbuf,
- int *rcounts,
+int (*intel_reduce_scatter_functions_table[])( const void *sbuf, void *rbuf,
+ const int *rcounts,
MPI_Datatype dtype,
MPI_Op op,
MPI_Comm comm
*/
-int (*intel_allgather_functions_table[])(void *sbuf, int scount,
+int (*intel_allgather_functions_table[])(const void *sbuf, int scount,
MPI_Datatype sdtype,
void* rbuf, int rcount,
MPI_Datatype rdtype,
*/
-int (*intel_allgatherv_functions_table[])(void *sbuf, int scount,
+int (*intel_allgatherv_functions_table[])(const void *sbuf, int scount,
MPI_Datatype sdtype,
- void* rbuf, int *rcounts,
- int *rdispls,
+ void* rbuf, const int *rcounts,
+ const int *rdispls,
MPI_Datatype rdtype,
MPI_Comm comm
) ={
*/
-int (*intel_gather_functions_table[])(void *sbuf, int scount,
+int (*intel_gather_functions_table[])(const void *sbuf, int scount,
MPI_Datatype sdtype,
void* rbuf, int rcount,
MPI_Datatype rdtype,
*/
-int (*intel_scatter_functions_table[])(void *sbuf, int scount,
+int (*intel_scatter_functions_table[])(const void *sbuf, int scount,
MPI_Datatype sdtype,
void* rbuf, int rcount,
MPI_Datatype rdtype,
*/
-int (*intel_alltoallv_functions_table[])(void *sbuf, int *scounts, int *sdisps,
+int (*intel_alltoallv_functions_table[])(const void *sbuf, const int *scounts, const int *sdisps,
MPI_Datatype sdtype,
- void *rbuf, int *rcounts, int *rdisps,
+ void *rbuf, const int *rcounts, const int *rdisps,
MPI_Datatype rdtype,
MPI_Comm comm
) ={