#include <string.h>
#include <mpi.h>
#include "interp_weights_internal.h"
#include "basic_grid.h"
#include "utils_common.h"
#include "yac_mpi_internal.h"
Go to the source code of this file.
|
static MPI_Datatype | get_dup_info_mpi_datatype (MPI_Comm comm) |
|
static MPI_Datatype | get_stencil_info_mpi_datatype (MPI_Comm comm) |
|
static int | compare_dup_info_orig_global_ids (const void *a, const void *b) |
|
static int | compare_stencil_info_tgt_global_id (const void *a, const void *b) |
|
static int | compute_bucket (yac_int value, int comm_size) |
|
void | yac_duplicate_stencils (struct yac_interp_weights *weights, struct yac_basic_grid *tgt_grid, yac_int *tgt_orig_global_id, size_t *tgt_duplicated_idx, size_t nbr_duplicated, enum yac_location location) |
|
void | yac_duplicate_stencils_f2c (struct yac_interp_weights *weights, struct yac_basic_grid *tgt_grid, yac_int *tgt_orig_global_id, size_t *tgt_duplicated_idx, size_t nbr_duplicated, int location) |
|
◆ compare_dup_info_orig_global_ids()
static int compare_dup_info_orig_global_ids |
( |
const void * | a, |
|
|
const void * | b ) |
|
static |
◆ compare_stencil_info_tgt_global_id()
static int compare_stencil_info_tgt_global_id |
( |
const void * | a, |
|
|
const void * | b ) |
|
static |
◆ compute_bucket()
static int compute_bucket |
( |
yac_int | value, |
|
|
int | comm_size ) |
|
inlinestatic |
◆ get_dup_info_mpi_datatype()
static MPI_Datatype get_dup_info_mpi_datatype |
( |
MPI_Comm | comm | ) |
|
|
static |
◆ get_stencil_info_mpi_datatype()
static MPI_Datatype get_stencil_info_mpi_datatype |
( |
MPI_Comm | comm | ) |
|
|
static |
◆ yac_duplicate_stencils()
Duplicates stencils for specified target points in a yac_interp_weights data structure.
- Parameters
-
[in,out] | weights | weights data structure |
[in] | tgt_grid | target grid |
[in] | tgt_orig_global_id | global ids of target points, whose interpolation stencils are to be duplicated |
[in] | tgt_duplicated_idx | local ids of target points, who are to interpolated using the duplicated stencils |
[in] | nbr_duplicated | number of stencils that are to be duplicated |
[in] | location | location of target points |
- Examples
- test_duplicate_stencils_parallel.c.
Definition at line 90 of file duplicate_stencils.c.
◆ yac_duplicate_stencils_f2c()
void yac_duplicate_stencils_f2c |
( |
struct yac_interp_weights * | weights, |
|
|
struct yac_basic_grid * | tgt_grid, |
|
|
yac_int * | tgt_orig_global_id, |
|
|
size_t * | tgt_duplicated_idx, |
|
|
size_t | nbr_duplicated, |
|
|
int | location ) |