1 #ifndef _UTILS_MPSORT_H
2 #define _UTILS_MPSORT_H
5 #define MPSORT_DISABLE_GATHER_SORT (1 << 3)
6 #define MPSORT_REQUIRE_GATHER_SORT (1 << 4)
13 void (*radix)(
const void * ptr,
void * radix,
void * arg),
15 void * arg, MPI_Comm comm,
16 const int line,
const char * file);
19 void * out,
size_t outnmemb,
21 void (*radix)(
const void * ptr,
void * radix,
void * arg),
23 void * arg, MPI_Comm comm,
24 const int line,
const char * file);
26 #define mpsort_mpi(base, nmemb, elsize, radix, rsize, arg, comm) \
27 mpsort_mpi_impl(base, nmemb, elsize, radix, rsize, arg, comm, \
30 #define mpsort_mpi_newarray(base, nmemb, out, outnmemb, elsize, \
31 radix, rsize, arg, comm) \
32 mpsort_mpi_newarray_impl(base, nmemb, out, outnmemb, elsize, \
33 radix, rsize, arg, comm, __LINE__, __FILE__)
int mpsort_mpi_has_options(int options)
void mpsort_mpi_newarray_impl(void *base, size_t nmemb, void *out, size_t outnmemb, size_t size, void(*radix)(const void *ptr, void *radix, void *arg), size_t rsize, void *arg, MPI_Comm comm, const int line, const char *file)
void mpsort_mpi_unset_options(int options)
void mpsort_free_timers(void)
void mpsort_mpi_set_options(int options)
void mpsort_setup_timers(int ntimers)
void mpsort_mpi_report_last_run()
void mpsort_mpi_impl(void *base, size_t nmemb, size_t elsize, void(*radix)(const void *ptr, void *radix, void *arg), size_t rsize, void *arg, MPI_Comm comm, const int line, const char *file)