YetAnotherCoupler 3.5.2
Loading...
Searching...
No Matches
remote_point.c File Reference
#include "config.h"
#include "yac_mpi_common.h"
#include "yac_mpi_internal.h"
#include "remote_point.h"
Include dependency graph for remote_point.c:

Go to the source code of this file.

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)
 
int yac_remote_point_get_pack_size (struct remote_point *point, 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_pack (struct remote_point *point, 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)
 
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)
 
static void yac_remote_point_infos_unpack_info_buffer (void *buffer, int buffer_size, int *position, struct remote_point_info *info_buffer, size_t *info_buffer_position, struct remote_point_infos *infos, MPI_Datatype point_info_dt, MPI_Comm comm)
 
void yac_remote_point_unpack_info_buffer (void *buffer, int buffer_size, int *position, struct remote_point_info *info_buffer, size_t *info_buffer_position, struct remote_point *point, 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_infos_unpack_info_buffer()

static void yac_remote_point_infos_unpack_info_buffer ( void * buffer,
int buffer_size,
int * position,
struct remote_point_info * info_buffer,
size_t * info_buffer_position,
struct remote_point_infos * infos,
MPI_Datatype point_info_dt,
MPI_Comm comm )
static

Definition at line 161 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_point_unpack_info_buffer()

void yac_remote_point_unpack_info_buffer ( void * buffer,
int buffer_size,
int * position,
struct remote_point_info * info_buffer,
size_t * info_buffer_position,
struct remote_point * point,
MPI_Datatype point_info_dt,
MPI_Comm comm )

Definition at line 186 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: