Yet Another eXchange Tool 0.11.3
|
Go to the source code of this file.
Classes | |
struct | Xt_mpiddt_list |
Macros | |
#define | Xt_mpiddt_empty_list ((struct Xt_mpiddt_list){NULL,NULL,0,0}) |
Functions | |
PPM_DSO_INTERNAL MPI_Datatype | Xt_mpi_ddt_cache_acquire_contiguous (struct Xt_mpiddt_list *ddt_list, int count, MPI_Datatype oldtype, MPI_Comm comm) |
PPM_DSO_INTERNAL MPI_Datatype | Xt_mpi_ddt_cache_acquire_vector (struct Xt_mpiddt_list *ddt_list, int count, int blocklength, int stride, MPI_Datatype oldtype, MPI_Comm comm) |
PPM_DSO_INTERNAL MPI_Datatype | Xt_mpi_ddt_cache_acquire_hvector (struct Xt_mpiddt_list *ddt_list, int count, int blocklength, MPI_Aint stride, MPI_Datatype oldtype, MPI_Comm comm) |
PPM_DSO_INTERNAL MPI_Datatype | Xt_mpi_ddt_cache_acquire_indexed_block (struct Xt_mpiddt_list *ddt_list, int count, int blocklength, const int disp[count], MPI_Datatype oldtype, MPI_Comm comm) |
PPM_DSO_INTERNAL MPI_Datatype | Xt_mpi_ddt_cache_acquire_hindexed_block (struct Xt_mpiddt_list *ddt_list, int count, int blocklength, const MPI_Aint disp[count], MPI_Datatype oldtype, MPI_Comm comm) |
PPM_DSO_INTERNAL MPI_Datatype | Xt_mpi_ddt_cache_acquire_indexed (struct Xt_mpiddt_list *ddt_list, int count, const int blocklength[count], const int disp[count], MPI_Datatype oldtype, MPI_Comm comm) |
PPM_DSO_INTERNAL MPI_Datatype | Xt_mpi_ddt_cache_acquire_hindexed (struct Xt_mpiddt_list *ddt_list, int count, const int blocklength[count], const MPI_Aint disp[count], MPI_Datatype oldtype, MPI_Comm comm) |
PPM_DSO_INTERNAL MPI_Datatype | Xt_mpi_ddt_cache_acquire_struct (struct Xt_mpiddt_list *ddt_list, int count, const int blocklength[count], const MPI_Aint disp[count], const MPI_Datatype oldtype[count], MPI_Comm comm) |
PPM_DSO_INTERNAL void | Xt_mpi_ddt_cache_entry_release (struct Xt_mpiddt_list *ddt_list, MPI_Datatype *dt, MPI_Comm comm) |
PPM_DSO_INTERNAL void | Xt_mpi_ddt_cache_free (struct Xt_mpiddt_list *ddt_list, MPI_Comm comm) |
PPM_DSO_INTERNAL void | Xt_mpi_ddt_cache_check_retention (struct Xt_mpiddt_list *ddt_list, size_t nmsg, struct Xt_redist_msg msgs[nmsg]) |
Definition in file xt_mpi_ddt_cache.h.
#define Xt_mpiddt_empty_list ((struct Xt_mpiddt_list){NULL,NULL,0,0}) |
Definition at line 66 of file xt_mpi_ddt_cache.h.
PPM_DSO_INTERNAL MPI_Datatype Xt_mpi_ddt_cache_acquire_contiguous | ( | struct Xt_mpiddt_list * | ddt_list, |
int | count, | ||
MPI_Datatype | oldtype, | ||
MPI_Comm | comm ) |
lookup MPI contiguous datatype in cache or create if not yet present
[in,out] | ddt_list | cache of already created derived datatypes |
[in] | count | number of elements in contiguous datatype |
[in] | oldtype | element type to create contiguous sequence datatype of |
[in] | comm | communicator to use for coordination |
Definition at line 144 of file xt_mpi_ddt_cache.c.
PPM_DSO_INTERNAL MPI_Datatype Xt_mpi_ddt_cache_acquire_hindexed | ( | struct Xt_mpiddt_list * | ddt_list, |
int | count, | ||
const int | blocklength[count], | ||
const MPI_Aint | disp[count], | ||
MPI_Datatype | oldtype, | ||
MPI_Comm | comm ) |
lookup MPI hindexed datatype in cache or create if not yet present
[in,out] | ddt_list | cache of already created derived datatypes |
[in] | count | number of blocks in hindexed datatype |
[in] | blocklength | number of contiguous elements for each block |
[in] | disp | displacement of each block in bytes |
[in] | oldtype | element type to create derived datatype of |
[in] | comm | communicator to use for coordination |
Definition at line 438 of file xt_mpi_ddt_cache.c.
PPM_DSO_INTERNAL MPI_Datatype Xt_mpi_ddt_cache_acquire_hindexed_block | ( | struct Xt_mpiddt_list * | ddt_list, |
int | count, | ||
int | blocklength, | ||
const MPI_Aint | disp[count], | ||
MPI_Datatype | oldtype, | ||
MPI_Comm | comm ) |
lookup MPI hindexed block datatype in cache or create if not yet present
[in,out] | ddt_list | cache of already created derived datatypes |
[in] | count | number of repeated blocks in hindexed block datatype |
[in] | blocklength | number of contiguous elements per repeated block |
[in] | disp | displacement of each block in bytes |
[in] | oldtype | element type to create derived datatype of |
[in] | comm | communicator to use for coordination |
Definition at line 318 of file xt_mpi_ddt_cache.c.
PPM_DSO_INTERNAL MPI_Datatype Xt_mpi_ddt_cache_acquire_hvector | ( | struct Xt_mpiddt_list * | ddt_list, |
int | count, | ||
int | blocklength, | ||
MPI_Aint | stride, | ||
MPI_Datatype | oldtype, | ||
MPI_Comm | comm ) |
lookup MPI hvector datatype in cache or create if not yet present
[in,out] | ddt_list | cache of already created derived datatypes |
[in] | count | number of repeated blocks in hvector datatype |
[in] | blocklength | number of contiguous elements per repeated block |
[in] | stride | hvector stride in bytes from start of one block to next block |
[in] | oldtype | element type to create derived datatype of |
[in] | comm | communicator to use for coordination |
Definition at line 223 of file xt_mpi_ddt_cache.c.
PPM_DSO_INTERNAL MPI_Datatype Xt_mpi_ddt_cache_acquire_indexed | ( | struct Xt_mpiddt_list * | ddt_list, |
int | count, | ||
const int | blocklength[count], | ||
const int | disp[count], | ||
MPI_Datatype | oldtype, | ||
MPI_Comm | comm ) |
lookup MPI indexed datatype in cache or create if not yet present
[in,out] | ddt_list | cache of already created derived datatypes |
[in] | count | number of blocks in indexed datatype |
[in] | blocklength | number of contiguous elements for each block |
[in] | disp | displacement of each block in unit of elements |
[in] | oldtype | element type to create derived datatype of |
[in] | comm | communicator to use for coordination |
Definition at line 383 of file xt_mpi_ddt_cache.c.
PPM_DSO_INTERNAL MPI_Datatype Xt_mpi_ddt_cache_acquire_indexed_block | ( | struct Xt_mpiddt_list * | ddt_list, |
int | count, | ||
int | blocklength, | ||
const int | disp[count], | ||
MPI_Datatype | oldtype, | ||
MPI_Comm | comm ) |
lookup MPI indexed block datatype in cache or create if not yet present
[in,out] | ddt_list | cache of already created derived datatypes |
[in] | count | number of repeated blocks in indexed block datatype |
[in] | blocklength | number of contiguous elements per repeated block |
[in] | disp | displacement of each block in unit of elements from start |
[in] | oldtype | element type to create derived datatype of |
[in] | comm | communicator to use for coordination |
Definition at line 264 of file xt_mpi_ddt_cache.c.
PPM_DSO_INTERNAL MPI_Datatype Xt_mpi_ddt_cache_acquire_struct | ( | struct Xt_mpiddt_list * | ddt_list, |
int | count, | ||
const int | blocklength[count], | ||
const MPI_Aint | disp[count], | ||
const MPI_Datatype | oldtype[count], | ||
MPI_Comm | comm ) |
lookup MPI struct datatype in cache or create if not yet present
[in,out] | ddt_list | cache of already created derived datatypes |
[in] | count | number of blocks in struct datatype |
[in] | blocklength | number of contiguous elements for each block |
[in] | disp | displacement of each block in bytes |
[in] | oldtype | element type for each block |
[in] | comm | communicator to use for coordination |
Definition at line 498 of file xt_mpi_ddt_cache.c.
PPM_DSO_INTERNAL MPI_Datatype Xt_mpi_ddt_cache_acquire_vector | ( | struct Xt_mpiddt_list * | ddt_list, |
int | count, | ||
int | blocklength, | ||
int | stride, | ||
MPI_Datatype | oldtype, | ||
MPI_Comm | comm ) |
lookup MPI vector datatype in cache or create if not yet present
[in,out] | ddt_list | cache of already created derived datatypes |
[in] | count | number of repeated blocks in vector datatype |
[in] | blocklength | number of contiguous elements per repeated block |
[in] | stride | vector stride in unit of elements from start of one block to next block |
[in] | oldtype | element type to create derived datatype of |
[in] | comm | communicator to use for coordination |
Definition at line 182 of file xt_mpi_ddt_cache.c.
PPM_DSO_INTERNAL void Xt_mpi_ddt_cache_check_retention | ( | struct Xt_mpiddt_list * | ddt_list, |
size_t | nmsg, | ||
struct Xt_redist_msg | msgs[nmsg] ) |
PPM_DSO_INTERNAL void Xt_mpi_ddt_cache_entry_release | ( | struct Xt_mpiddt_list * | ddt_list, |
MPI_Datatype * | dt, | ||
MPI_Comm | comm ) |
reduce reference counter for MPI datatype in cache
[in,out] | ddt_list | cache of already created derived datatypes |
[in] | dt | derived datatype to mark as used one instance less |
[in] | comm | communicator to use for coordination and error reporting |
Definition at line 579 of file xt_mpi_ddt_cache.c.
PPM_DSO_INTERNAL void Xt_mpi_ddt_cache_free | ( | struct Xt_mpiddt_list * | ddt_list, |
MPI_Comm | comm ) |
Remove ddt cache data structure
This function will also call MPI_Type_free for all datatypes in cache that have 0 reference count
[in,out] | ddt_list | cache of already created derived datatypes |
[in] | comm | communicator to use for coordination and error reporting |
Definition at line 605 of file xt_mpi_ddt_cache.c.