DistDir
|
Functions | |
t_exchanger * | new_exchanger (t_map *map, MPI_Datatype type, distdir_hardware hw) |
Create a new t_exchanger structure. More... | |
void | exchanger_go (t_exchanger *exchanger, void *src_data, void *dst_data) |
Arbitrary exchange given a map. More... | |
void | exchanger_go_with_transform (t_exchanger *exchanger, void *src_data, void *dst_data, int *transform_src, int *transform_dst) |
Arbitrary exchange given a map with transformation of memory layout. More... | |
void | delete_exchanger (t_exchanger *exchanger) |
Clean memory of a t_exchanger structure. More... | |
User interface for the exchange between MPI ranks based on a provided t_map object and an MPI_Datatype
void delete_exchanger | ( | t_exchanger * | exchanger | ) |
Clean memory of a t_exchanger structure.
Free all the memory of a t_exchanger structure
[in] | exchanger | pointer to t_exchanger structure |
void exchanger_go | ( | t_exchanger * | exchanger, |
void * | src_data, | ||
void * | dst_data | ||
) |
Arbitrary exchange given a map.
Execute the MPI exchange given a previously generated exchanger. The source and destination buffers contain the data before and after the exchange
[in] | exchanger | pointer to a t_exchanger structure |
[in] | src_data | pointer to the data to be sent |
[in] | dst_data | pointer to the data to be received |
void exchanger_go_with_transform | ( | t_exchanger * | exchanger, |
void * | src_data, | ||
void * | dst_data, | ||
int * | transform_src, | ||
int * | transform_dst | ||
) |
Arbitrary exchange given a map with transformation of memory layout.
Execute the MPI exchange given a previously generated exchanger. The source and destination buffers contain the data before and after the exchange. A transformation array can be provided for source and destination.
[in] | exchanger | pointer to a t_exchanger structure |
[in] | src_data | pointer to the data to be sent |
[in] | dst_data | pointer to the data to be received |
[in] | transform_src | array of indices to define a memory layout transformation of the src_data |
[in] | transform_dst | array of indices to define a memory layout transformation of the dst_data |
t_exchanger* new_exchanger | ( | t_map * | map, |
MPI_Datatype | type, | ||
distdir_hardware | hw | ||
) |
Create a new t_exchanger structure.
Create an exchanger given a map object and a datatype
[in] | map | pointer to a t_map structure |
[in] | type | type of the data in the form of MPI datatype |
[in] | hw | hardware location of the data on the MPI process |