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

Go to the source code of this file.

Data Structures

struct  yac_group_comm
 

Macros

#define YAC_MPI_SIZE_T   MPI_UINT8_T
 
#define YAC_MPI_SIZE_T_TYPE   uint8_t
 
#define YAC_ALLTOALLV_P2P_DEC(N, T)
 

Functions

void yac_alltoallv_p2p (void const *send_buffer, size_t const *sendcounts, size_t const *sdispls, void *recv_buffer, size_t const *recvcounts, size_t const *rdispls, size_t dt_size, MPI_Datatype dt, MPI_Comm comm)
 
void yac_alltoallv_p2p_group (void const *send_buffer, int const *sendcounts, int const *sdispls, void *recv_buffer, int const *recvcounts, int const *rdispls, size_t dt_size, MPI_Datatype dt, struct yac_group_comm group_comm)
 
void yac_allreduce_sum_dble (double *buffer, int count, struct yac_group_comm group_comm)
 
void yac_allgather_uint64 (const uint64_t *sendbuf, uint64_t *recvbuf, int count, struct yac_group_comm group_comm)
 
void yac_bcast_group (void *buffer, int count, MPI_Datatype datatype, int root, struct yac_group_comm group_comm)
 
struct yac_group_comm yac_group_comm_new (MPI_Comm comm)
 
void yac_group_comm_delete (struct yac_group_comm group_comm)
 
int yac_group_comm_get_rank (struct yac_group_comm group_comm)
 
int yac_group_comm_get_size (struct yac_group_comm group_comm)
 
int yac_group_comm_get_global_rank (struct yac_group_comm group_comm)
 
int yac_group_comm_get_global_size (struct yac_group_comm group_comm)
 
void yac_group_comm_split (struct yac_group_comm group_comm, int split_rank, struct yac_group_comm *local_group_comm, struct yac_group_comm *remote_group_comm)
 
MPI_Datatype yac_get_bounding_circle_mpi_datatype (MPI_Comm comm)
 
MPI_Datatype yac_create_resized (MPI_Datatype dt, size_t new_size, MPI_Comm comm)
 
void yac_generate_alltoallv_args (int count, size_t const *sendcounts, size_t *recvcounts, size_t *sdispls, size_t *rdispls, MPI_Comm comm)
 
void yac_get_comm_buffers (int count, size_t **sendcounts, size_t **recvcounts, size_t **sdispls, size_t **rdispls, MPI_Comm comm)
 
void yac_free_comm_buffers (size_t *sendcounts, size_t *recvcounts, size_t *sdispls, size_t *rdispls)
 

Macro Definition Documentation

◆ YAC_ALLTOALLV_P2P_DEC

#define YAC_ALLTOALLV_P2P_DEC ( N,
T )
Value:
void yac_alltoallv_ ## N ## _p2p( \
T const * send_buffer, size_t const * sendcounts, size_t const * sdispls, \
T * recv_buffer, size_t const * recvcounts, size_t const * rdispls, \
MPI_Comm comm); \

Definition at line 40 of file yac_mpi_internal.h.

◆ YAC_MPI_SIZE_T

#define YAC_MPI_SIZE_T   MPI_UINT8_T

Definition at line 15 of file yac_mpi_internal.h.

◆ YAC_MPI_SIZE_T_TYPE

#define YAC_MPI_SIZE_T_TYPE   uint8_t

Definition at line 16 of file yac_mpi_internal.h.

Function Documentation

◆ yac_allgather_uint64()

void yac_allgather_uint64 ( const uint64_t * sendbuf,
uint64_t * recvbuf,
int count,
struct yac_group_comm group_comm )

Definition at line 361 of file yac_mpi.c.

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

◆ yac_allreduce_sum_dble()

void yac_allreduce_sum_dble ( double * buffer,
int count,
struct yac_group_comm group_comm )

Definition at line 289 of file yac_mpi.c.

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

◆ yac_alltoallv_p2p()

void yac_alltoallv_p2p ( void const * send_buffer,
size_t const * sendcounts,
size_t const * sdispls,
void * recv_buffer,
size_t const * recvcounts,
size_t const * rdispls,
size_t dt_size,
MPI_Datatype dt,
MPI_Comm comm )

Definition at line 131 of file yac_mpi.c.

Here is the caller graph for this function:

◆ yac_alltoallv_p2p_group()

void yac_alltoallv_p2p_group ( void const * send_buffer,
int const * sendcounts,
int const * sdispls,
void * recv_buffer,
int const * recvcounts,
int const * rdispls,
size_t dt_size,
MPI_Datatype dt,
struct yac_group_comm group_comm )

Definition at line 236 of file yac_mpi.c.

Here is the caller graph for this function:

◆ yac_bcast_group()

void yac_bcast_group ( void * buffer,
int count,
MPI_Datatype datatype,
int root,
struct yac_group_comm group_comm )

Definition at line 405 of file yac_mpi.c.

Here is the caller graph for this function:

◆ yac_create_resized()

MPI_Datatype yac_create_resized ( MPI_Datatype dt,
size_t new_size,
MPI_Comm comm )

Definition at line 550 of file yac_mpi.c.

Here is the caller graph for this function:

◆ yac_free_comm_buffers()

void yac_free_comm_buffers ( size_t * sendcounts,
size_t * recvcounts,
size_t * sdispls,
size_t * rdispls )

Definition at line 627 of file yac_mpi.c.

Here is the caller graph for this function:

◆ yac_generate_alltoallv_args()

void yac_generate_alltoallv_args ( int count,
size_t const * sendcounts,
size_t * recvcounts,
size_t * sdispls,
size_t * rdispls,
MPI_Comm comm )

Definition at line 571 of file yac_mpi.c.

Here is the caller graph for this function:

◆ yac_get_bounding_circle_mpi_datatype()

MPI_Datatype yac_get_bounding_circle_mpi_datatype ( MPI_Comm comm)

Definition at line 530 of file yac_mpi.c.

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

◆ yac_get_comm_buffers()

void yac_get_comm_buffers ( int count,
size_t ** sendcounts,
size_t ** recvcounts,
size_t ** sdispls,
size_t ** rdispls,
MPI_Comm comm )

Definition at line 596 of file yac_mpi.c.

Here is the caller graph for this function:

◆ yac_group_comm_delete()

void yac_group_comm_delete ( struct yac_group_comm group_comm)

Definition at line 480 of file yac_mpi.c.

Here is the caller graph for this function:

◆ yac_group_comm_get_global_rank()

int yac_group_comm_get_global_rank ( struct yac_group_comm group_comm)

Definition at line 493 of file yac_mpi.c.

Here is the caller graph for this function:

◆ yac_group_comm_get_global_size()

int yac_group_comm_get_global_size ( struct yac_group_comm group_comm)

Definition at line 499 of file yac_mpi.c.

◆ yac_group_comm_get_rank()

int yac_group_comm_get_rank ( struct yac_group_comm group_comm)

Definition at line 485 of file yac_mpi.c.

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

◆ yac_group_comm_get_size()

int yac_group_comm_get_size ( struct yac_group_comm group_comm)

Definition at line 489 of file yac_mpi.c.

Here is the caller graph for this function:

◆ yac_group_comm_new()

struct yac_group_comm yac_group_comm_new ( MPI_Comm comm)

Definition at line 470 of file yac_mpi.c.

Here is the caller graph for this function:

◆ yac_group_comm_split()

void yac_group_comm_split ( struct yac_group_comm group_comm,
int split_rank,
struct yac_group_comm * local_group_comm,
struct yac_group_comm * remote_group_comm )

Definition at line 505 of file yac_mpi.c.

Here is the caller graph for this function: