YetAnotherCoupler 3.5.2
Loading...
Searching...
No Matches
remote_point.h File Reference
#include <stdint.h>
#include <mpi.h>
#include "yac_types.h"
Include dependency graph for remote_point.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  remote_point_info
 single location information of a point More...
 
struct  remote_point_infos
 location information about a point that is located on one or More...
 
struct  remote_point
 information (global id and location) about a point that More...
 
struct  remote_points
 structure containing the information (global id and location) More...
 

Functions

MPI_Datatype yac_get_remote_point_info_mpi_datatype (MPI_Comm comm)
 
int yac_remote_point_infos_get_pack_size (struct remote_point_infos const *infos, MPI_Datatype point_info_dt, MPI_Comm comm)
 
void yac_remote_point_infos_pack (struct remote_point_infos const *infos, void *buffer, int buffer_size, int *position, MPI_Datatype point_info_dt, MPI_Comm comm)
 
void yac_remote_point_infos_unpack (void *buffer, int buffer_size, int *position, struct remote_point_infos *infos, MPI_Datatype point_info_dt, MPI_Comm comm)
 
int yac_remote_point_get_pack_size (struct remote_point *point, MPI_Datatype point_info_dt, MPI_Comm comm)
 
void yac_remote_point_pack (struct remote_point *point, void *buffer, int buffer_size, int *position, MPI_Datatype point_info_dt, MPI_Comm comm)
 
void yac_remote_point_unpack (void *buffer, int buffer_size, int *position, struct remote_point *point, MPI_Datatype point_info_dt, MPI_Comm comm)
 
int yac_remote_points_get_pack_size (struct remote_points *points, MPI_Datatype point_info_dt, MPI_Comm comm)
 
void yac_remote_points_pack (struct remote_points *points, void *buffer, int buffer_size, int *position, MPI_Datatype point_info_dt, MPI_Comm comm)
 
void yac_remote_points_unpack (void *buffer, int buffer_size, int *position, struct remote_points **points, MPI_Datatype point_info_dt, MPI_Comm comm)
 

Function Documentation

◆ yac_get_remote_point_info_mpi_datatype()

MPI_Datatype yac_get_remote_point_info_mpi_datatype ( MPI_Comm comm)

generates an MPI Datatype for struct remote_point_info

Parameters
[in]commcommunicator
Returns
MPI Datatype for struct remote_point_info
Remarks
the user has to free the returned MPI Datatype using MPI_Type_free

Definition at line 14 of file remote_point.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_remote_point_get_pack_size()

int yac_remote_point_get_pack_size ( struct remote_point * point,
MPI_Datatype point_info_dt,
MPI_Comm comm )

computes the maximum size required by MPI to pack the provided point of type struct remote_point

Parameters
[in]pointpoint for which the pack size is to be determined
[in]point_info_dtMPI Datatype for packing struct point_info
[in]commcommunicator
Returns
maximum packing size

Definition at line 46 of file remote_point.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_remote_point_infos_get_pack_size()

int yac_remote_point_infos_get_pack_size ( struct remote_point_infos const * infos,
MPI_Datatype point_info_dt,
MPI_Comm comm )

computes the maximum size required by MPI to pack the provided point information of type struct remote_point_infos

Parameters
[in]infospoint information for which the pack size is to be determined
[in]point_info_dtMPI Datatype for packing struct point_info
[in]commcommunicator
Returns
maximum packing size

Definition at line 32 of file remote_point.c.

Here is the caller graph for this function:

◆ yac_remote_point_infos_pack()

void yac_remote_point_infos_pack ( struct remote_point_infos const * infos,
void * buffer,
int buffer_size,
int * position,
MPI_Datatype point_info_dt,
MPI_Comm comm )

packs a provided remote_point_infos; this is simlar to MPI_Pack

Parameters
[in]infosremote_point to be packed
[in,out]bufferpacking buffer
[in]buffer_sizesize of packing buffer
[in,out]positionpacking position
[in]point_info_dtMPI Datatype for packing struct point_info
[in]commcommunicator

Definition at line 59 of file remote_point.c.

Here is the caller graph for this function:

◆ yac_remote_point_infos_unpack()

void yac_remote_point_infos_unpack ( void * buffer,
int buffer_size,
int * position,
struct remote_point_infos * infos,
MPI_Datatype point_info_dt,
MPI_Comm comm )

unpacks and allocates a remote_point_infos from a buffer; this is similar to MPI_Unpack

Parameters
[in]bufferpacking buffer
[in]buffer_sizesize of packing buffer
[in,out]positionunpacking position
[out]infosunpacked point information
[in]point_info_dtMPI Datatype for unpacking struct point_info
[in]commcommunicator

Definition at line 87 of file remote_point.c.

Here is the caller graph for this function:

◆ yac_remote_point_pack()

void yac_remote_point_pack ( struct remote_point * point,
void * buffer,
int buffer_size,
int * position,
MPI_Datatype point_info_dt,
MPI_Comm comm )

packs a provided remote_point; this is simlar to MPI_Pack

Parameters
[in]pointremote_point to be packed
[in,out]bufferpacking buffer
[in]buffer_sizesize of packing buffer
[in,out]positionpacking position
[in]point_info_dtMPI Datatype for packing struct point_info
[in]commcommunicator

Definition at line 75 of file remote_point.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_remote_point_unpack()

void yac_remote_point_unpack ( void * buffer,
int buffer_size,
int * position,
struct remote_point * point,
MPI_Datatype point_info_dt,
MPI_Comm comm )

unpacks and allocates a remote_point from a buffer; this is similar to MPI_Unpack

Parameters
[in]bufferpacking buffer
[in]buffer_sizesize of packing buffer
[in,out]positionunpacking position
[out]pointunpacked point
[in]point_info_dtMPI Datatype for unpacking struct point_info
[in]commcommunicator

Definition at line 112 of file remote_point.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_remote_points_get_pack_size()

int yac_remote_points_get_pack_size ( struct remote_points * points,
MPI_Datatype point_info_dt,
MPI_Comm comm )

computes the maximum size required by MPI to pack the provided points of type struct remote_points

Parameters
[in]pointspoints for which the pack size is to be determined
[in]point_info_dtMPI Datatype for unpacking struct point_info
[in]commcommunicator
Returns
maximum packing size

Definition at line 124 of file remote_point.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_remote_points_pack()

void yac_remote_points_pack ( struct remote_points * points,
void * buffer,
int buffer_size,
int * position,
MPI_Datatype point_info_dt,
MPI_Comm comm )

packs provided remote_points; this is simlar to MPI_Pack

Parameters
[in]pointsremote_points to be packed
[in,out]bufferpacking buffer
[in]buffer_sizesize of packing buffer
[in,out]positionpacking position
[in]point_info_dtMPI Datatype for packing struct point_info
[in]commcommunicator

Definition at line 142 of file remote_point.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_remote_points_unpack()

void yac_remote_points_unpack ( void * buffer,
int buffer_size,
int * position,
struct remote_points ** points,
MPI_Datatype point_info_dt,
MPI_Comm comm )

unpacks and allocates remote_points from a buffer; this is similar to MPI_Unpack

Parameters
[in]bufferpacking buffer
[in]buffer_sizesize of packing buffer
[in,out]positionunpacking position
[out]pointsunpacked points
[in]point_info_dtMPI Datatype for unpacking struct point_info
[in]commcommunicator

Definition at line 200 of file remote_point.c.

Here is the call graph for this function:
Here is the caller graph for this function: