DistDir
Typedefs | Functions
backend.h File Reference
#include "mpi.h"

Go to the source code of this file.

Typedefs

typedef void(* sort_fn) (int *, int, int)
 
typedef void(* sort_with_idx_fn) (int *, int *, int, int)
 
typedef void(* sort_with_idx2_fn) (int *, int *, int *, int, int)
 

Functions

sort_fn get_sort_function ()
 Return sorting function. More...
 
sort_with_idx_fn get_sort_with_idx_function ()
 Return sorting function with associated indices. More...
 
sort_with_idx2_fn get_sort_with_idx2_function ()
 Return sorting function with two associated indices. More...
 
void assign_idxlist_elements_to_buckets (int *bucket_idxlist, const int *idxlist, int bucket_min_size, int idxlist_size, int nbuckets)
 Assign each element of a given index list to a bucket. More...
 
void assign_idxlist_elements_to_buckets2 (int *bucket_idxlist, const int *idxlist, int bucket_min_size, int idxlist_size, int nbuckets, int bucket_stride)
 Assign each element of a given index list to a bucket. More...
 
int num_procs_send_to_each_bucket (const int *bucket_idxlist, int nbuckets, int idxlist_size, MPI_Comm comm)
 Return the number of processes that send information to this bucket. More...
 
void num_indices_to_send_to_each_bucket (int *n_idx_each_bucket, const int *bucket_idxlist, int idxlist_size, int nbuckets)
 Each process compute the number of indices to send to each bucket. More...
 
void senders_to_bucket (int *senders_to_bucket, const int *n_idx_each_bucket, int n_procs_sending_to_bucket, int bucket_max_size, int idxlist_size, MPI_Comm comm, sort_fn sort)
 Each bucket receives an array of size n_procs_sending_to_bucket with the rank ID which send indices to that bucket. More...
 
void num_indices_to_bucket_from_each_rank (int *bucket_msg_size_senders, const int *n_idx_each_bucket, const int *senders_to_bucket, int n_procs_sending_to_bucket, int bucket_max_size, int idxlist_size, MPI_Comm comm)
 Each bucket receives an array of size n_procs_sending_to_bucket with the number of indices that each rank send to that bucket. More...
 
void bucket_idxlist_procs (int *bucket_ranks, const int *n_idx_each_bucket, const int *bucket_msg_size_senders, const int *senders_to_bucket, int n_procs_sending_to_bucket, int bucket_max_size, int idxlist_size, MPI_Comm comm)
 Each bucket receives an array of size n_procs_sending_to_bucket with the MPI processes owning the index list element in the original decomposition. More...
 
void bucket_idxlist_elements (int *bucket_indices, const int *original_idxlist_sorted, const int *n_idx_each_bucket, const int *bucket_msg_size_senders, const int *senders_to_bucket, int n_procs_sending_to_bucket, int bucket_max_size, int idxlist_size, MPI_Comm comm)
 Each bucket receives an array of size n_procs_sending_to_bucket with the indices of the original decomposition belonging to the bucket. More...
 

Typedef Documentation

◆ sort_fn

typedef void(* sort_fn) (int *, int, int)

◆ sort_with_idx2_fn

typedef void(* sort_with_idx2_fn) (int *, int *, int *, int, int)

◆ sort_with_idx_fn

typedef void(* sort_with_idx_fn) (int *, int *, int, int)