|
static int | get_proc_sphere_part_node_data_pack_size (struct proc_sphere_part_node_data node_data, MPI_Comm comm) |
|
static int | get_proc_sphere_part_node_pack_size (struct proc_sphere_part_node node, MPI_Comm comm) |
|
static void | pack_proc_sphere_part_node_data (struct proc_sphere_part_node_data node_data, void *pack_buffer, int pack_buffer_size, int *position, MPI_Comm comm) |
|
static void | pack_proc_sphere_part_node (struct proc_sphere_part_node *node, void *pack_buffer, int pack_buffer_size, int *position, MPI_Comm comm) |
|
static struct proc_sphere_part_node_data | unpack_proc_sphere_part_node_data (void *pack_buffer, int pack_buffer_size, int *position, MPI_Comm comm) |
|
static struct proc_sphere_part_node * | unpack_proc_sphere_part_node (void *pack_buffer, int pack_buffer_size, int *position, MPI_Comm comm) |
|
static struct proc_sphere_part_node_data | get_remote_data (struct proc_sphere_part_node_data local_data, struct yac_group_comm local_group_comm, struct yac_group_comm remote_group_comm) |
|
static void | compute_redist_recvcounts_rdispls (int comm_rank, int split_rank, int comm_size, size_t global_sizes[2], size_t(*all_bucket_sizes)[2], int *counts, int *displs, size_t *recv_count) |
|
static void | compute_redist_sendcounts_sdispls (int comm_rank, int split_rank, int comm_size, size_t global_sizes[2], size_t(*all_bucket_sizes)[2], int *counts, int *displs) |
|
static void | reorder_data_remote_point_info (size_t *reorder_idx, size_t count, struct remote_point_info *data) |
|
static int | compare_dist_vertices (const void *a, const void *b) |
|
static void | remove_duplicated_vertices (struct dist_vertex *vertices, size_t *num_vertices, struct remote_point_info *owners, size_t num_owners, size_t **owners_reorder_idx, size_t *owners_reorder_idx_array_size) |
|
static void | redistribute_dist_vertices (struct dist_vertex **vertices, size_t *num_vertices, struct remote_point_info **owners, size_t *num_owners, size_t global_bucket_sizes[2], size_t(*all_bucket_sizes)[2], int split_rank, struct comm_buffers comm_buffers, size_t **owners_reorder_idx, size_t *owners_reorder_idx_array_size, MPI_Datatype dist_vertex_dt, MPI_Datatype remote_point_info_dt, struct yac_group_comm group_comm) |
|
static struct proc_sphere_part_node * | generate_proc_sphere_part_node_recursive (struct dist_vertex **vertices, size_t *num_vertices, struct remote_point_info **owners, size_t *num_owners, size_t(*all_bucket_sizes)[2], struct comm_buffers comm_buffers, size_t **reorder_idx, size_t *reorder_idx_array_size, int **list_flag_, size_t *list_flag_array_size, MPI_Datatype dist_vertex_dt, MPI_Datatype remote_point_info_dt, struct yac_group_comm group_comm, double prev_gc_norm_vector[3]) |
|
static MPI_Datatype | yac_get_dist_vertex_mpi_datatype (MPI_Comm comm) |
|
static void | inform_dist_vertex_owners (struct dist_vertex *dist_vertices, size_t num_dist_vertices, struct remote_point_info *dist_owners, size_t **reorder_idx, size_t *reorder_idx_array_size, yac_int **global_vertex_ids[2], int *global_ids_missing, int **vertex_ranks[2], size_t *num_vertices, MPI_Comm comm) |
|
void | yac_proc_sphere_part_new (yac_coordinate_pointer vertex_coordinates[2], size_t *num_vertices, struct proc_sphere_part_node **proc_sphere_part, yac_int **global_vertex_ids_[2], int **vertex_ranks[2], MPI_Comm comm) |
|
static int | is_serial_node (struct proc_sphere_part_node *node) |
|
void | yac_proc_sphere_part_do_point_search (struct proc_sphere_part_node *node, yac_coordinate_pointer search_coords, size_t count, int *ranks) |
|
static void | bnd_circle_search (struct proc_sphere_part_node *node, struct bounding_circle bnd_circle, int *ranks, int *rank_count) |
|
static void | bnd_circle_search_big_angle (struct proc_sphere_part_node *node, struct bounding_circle bnd_circle, int *ranks, int *rank_count) |
|
void | yac_proc_sphere_part_do_bnd_circle_search (struct proc_sphere_part_node *node, struct bounding_circle bnd_circle, int *ranks, int *rank_count) |
|
static int | get_leaf_ranks (struct proc_sphere_part_node *node, int *ranks) |
|
static void | get_neigh_ranks (struct proc_sphere_part_node *node, uint64_t *leaf_sizes, uint64_t min_size, uint64_t **inner_node_sizes, int *send_flags, int *recv_flags, int comm_rank, struct neigh_search_data *last_valid_node) |
|
static uint64_t | determine_node_sizes (struct proc_sphere_part_node *node, uint64_t *leaf_sizes, uint64_t **inner_node_sizes) |
|
void | yac_proc_sphere_part_get_neigh_ranks (struct proc_sphere_part_node *node, uint64_t *leaf_sizes, uint64_t min_size, int *send_flags, int *recv_flags, int comm_rank, int comm_size) |
|
void | yac_proc_sphere_part_node_delete (struct proc_sphere_part_node *node) |
|