Yet Another eXchange Tool 0.11.4
Loading...
Searching...
No Matches
xt_ddt_internal.h File Reference

internal utility routines for manual handling of MPI DDT's More...

#include "xt_ddt.h"
#include "xt_gpu.h"
#include "core/ppm_visibility.h"
Include dependency graph for xt_ddt_internal.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  xt_ddt_data
 
struct  Xt_ddt_
 
struct  xt_ddt_kernels
 

Typedefs

typedef void(* xt_ddt_kernel_func) (size_t, ssize_t *, const void *, void *, enum xt_memtype)
 

Enumerations

enum  { NUM_VALID_KERNELS = 9 }
 

Functions

PPM_DSO_INTERNAL Xt_ddt xt_ddt_from_mpi_ddt (MPI_Datatype mpi_ddt)
 
PPM_DSO_INTERNAL void xt_ddt_delete (Xt_ddt ddt)
 
PPM_DSO_INTERNAL void xt_ddt_inc_ref_count (Xt_ddt ddt)
 
PPM_DSO_INTERNAL size_t xt_ddt_get_pack_size_internal (Xt_ddt ddt)
 
PPM_DSO_INTERNAL void xt_ddt_pack_internal (Xt_ddt ddt, void const *src, void *dst, enum xt_memtype memtype)
 
PPM_DSO_INTERNAL void xt_ddt_unpack_internal (Xt_ddt ddt, void const *src, void *dst, enum xt_memtype memtype)
 

Variables

PPM_DSO_INTERNAL struct xt_ddt_kernels xt_ddt_valid_kernels [NUM_VALID_KERNELS]
 

Detailed Description

internal utility routines for manual handling of MPI DDT's

contains internal utility routines for handling manual MPI DDT's

Author
Jörg Behrens behre.nosp@m.ns@d.nosp@m.krz.d.nosp@m.e Moritz Hanke hanke.nosp@m.@dkr.nosp@m.z.de Thomas Jahns jahns.nosp@m.@dkr.nosp@m.z.de

Definition in file xt_ddt_internal.h.

Typedef Documentation

◆ xt_ddt_kernel_func

typedef void(* xt_ddt_kernel_func) (size_t, ssize_t *, const void *, void *, enum xt_memtype)

Definition at line 82 of file xt_ddt_internal.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
NUM_VALID_KERNELS 

Definition at line 92 of file xt_ddt_internal.h.

Function Documentation

◆ xt_ddt_delete()

PPM_DSO_INTERNAL void xt_ddt_delete ( Xt_ddt ddt)

deletes a xt_ddt object

Parameters
[in]ddtxt_ddt object

Definition at line 999 of file xt_ddt_create.c.

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

◆ xt_ddt_from_mpi_ddt()

PPM_DSO_INTERNAL Xt_ddt xt_ddt_from_mpi_ddt ( MPI_Datatype mpi_ddt)

Returns a xt_ddt object for the provided MPI datatype. The routine will first check whether there is already a xt_ddt for this MPI datatype and will retrieve it, if available. Otherwise a new xt_ddt will be generated and cached in the MPI datatype.

Parameters
[in]mpi_ddtMPI datatype
Returns
xt_ddt object
Remarks
the returned xt_ddt object is only valid as long as the mpi_ddt is not freed
no xt_ddt_delete needs to be called for the xt_ddt object returned by this routine

Definition at line 1063 of file xt_ddt_create.c.

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

◆ xt_ddt_get_pack_size_internal()

PPM_DSO_INTERNAL size_t xt_ddt_get_pack_size_internal ( Xt_ddt ddt)

gets the buffer size required to pack the data in ddt

Parameters
[in]ddtxt_ddt object
Returns
required packing buffer size

Definition at line 166 of file xt_ddt.c.

Here is the caller graph for this function:

◆ xt_ddt_inc_ref_count()

PPM_DSO_INTERNAL void xt_ddt_inc_ref_count ( Xt_ddt ddt)

increases the internal reference counter for the given xt_ddt object

Parameters
[in]ddtxt_ddt object
Remarks
for each reference of a xt_ddt object xt_ddt_delete has to be called

Definition at line 994 of file xt_ddt_create.c.

Here is the caller graph for this function:

◆ xt_ddt_pack_internal()

PPM_DSO_INTERNAL void xt_ddt_pack_internal ( Xt_ddt ddt,
void const * src,
void * dst,
enum xt_memtype memtype )

packs the data from the source buffer into destination buffer

Parameters
[in]ddtxt_ddt object
[in]srcsource buffer
[out]dstdestination buffer
[in]memtypetype of source and destination memory
Remarks
both src and dst have to point to the same type of memory

Definition at line 341 of file xt_ddt.c.

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

◆ xt_ddt_unpack_internal()

PPM_DSO_INTERNAL void xt_ddt_unpack_internal ( Xt_ddt ddt,
void const * src,
void * dst,
enum xt_memtype memtype )

unpacks the data from the source buffer into destination buffer

Parameters
[in]ddtxt_ddt object
[in]srcsource buffer
[out]dstdestination buffer
[in]memtypetype of source and destination memory
Remarks
both src and dst have to point to the same type of memory

Definition at line 553 of file xt_ddt.c.

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

Variable Documentation

◆ xt_ddt_valid_kernels

PPM_DSO_INTERNAL struct xt_ddt_kernels xt_ddt_valid_kernels[NUM_VALID_KERNELS]
extern

Definition at line 127 of file xt_ddt.c.