DistDir
Functions
Backend_cpu

Functions

t_kernelsnew_vtable_cpu (MPI_Datatype type)
 Create new t_kernels data structure. More...
 
void delete_vtable (t_kernels *vtable)
 Delete t_kernels data structure. More...
 
void pack_cpu_int (int *buffer, int *data, int *buffer_idxlist, int buffer_size, int offset, int *transform)
 Packing function for int arrays. More...
 
void unpack_cpu_int (int *buffer, int *data, int *buffer_idxlist, int buffer_size, int offset, int *transform)
 Unpacking function for int arrays. More...
 
void pack_cpu_float (float *buffer, float *data, int *buffer_idxlist, int buffer_size, int offset, int *transform)
 Packing function for float arrays. More...
 
void unpack_cpu_float (float *buffer, float *data, int *buffer_idxlist, int buffer_size, int offset, int *transform)
 Unpacking function for float arrays. More...
 
void pack_cpu_double (double *buffer, double *data, int *buffer_idxlist, int buffer_size, int offset, int *transform)
 Packing function for double arrays. More...
 
void unpack_cpu_double (double *buffer, double *data, int *buffer_idxlist, int buffer_size, int offset, int *transform)
 Unpacking function for double arrays. More...
 
void * allocator_cpu (size_t buffer_size)
 Allocate array. More...
 
void deallocator_cpu (void *buffer)
 Deallocate array. More...
 

Detailed Description

CPU specific implementation

Function Documentation

◆ allocator_cpu()

void* allocator_cpu ( size_t  buffer_size)

Allocate array.

Parameters
[in]buffer_sizebyte size of the array to be allocated
Returns
pointer to the allocated memory

◆ deallocator_cpu()

void deallocator_cpu ( void *  buffer)

Deallocate array.

Parameters
[in,out]bufferPointer to the memory to be deallocated

◆ delete_vtable()

void delete_vtable ( t_kernels vtable)

Delete t_kernels data structure.

Parameters
[in,out]vtablepointer to t_kernels structure

◆ new_vtable_cpu()

t_kernels* new_vtable_cpu ( MPI_Datatype  type)

Create new t_kernels data structure.

Parameters
[in]typeMPI datatype of the exchanged fields
Returns
pointer to t_kernels structure

◆ pack_cpu_double()

void pack_cpu_double ( double *  buffer,
double *  data,
int *  buffer_idxlist,
int  buffer_size,
int  offset,
int *  transform 
)

Packing function for double arrays.

Pack array data into a buffer using the buffer_idxlist

Parameters
[out]bufferdouble array to be filled
[in]datadouble array with the data
[in]buffer_idxlistinteger array with the information to fill the buffer
[in]buffer_sizesize of the buffer to be filled (it can be a subset of the buffer array)
[in]offsetbuffer offset to start the filling of the buffer array
[in]transformarray of indices to transform the memory layout

◆ pack_cpu_float()

void pack_cpu_float ( float *  buffer,
float *  data,
int *  buffer_idxlist,
int  buffer_size,
int  offset,
int *  transform 
)

Packing function for float arrays.

Pack array data into a buffer using the buffer_idxlist

Parameters
[out]bufferfloat array to be filled
[in]datafloat array with the data
[in]buffer_idxlistinteger array with the information to fill the buffer
[in]buffer_sizesize of the buffer to be filled (it can be a subset of the buffer array)
[in]offsetbuffer offset to start the filling of the buffer array
[in]transformarray of indices to transform the memory layout

◆ pack_cpu_int()

void pack_cpu_int ( int *  buffer,
int *  data,
int *  buffer_idxlist,
int  buffer_size,
int  offset,
int *  transform 
)

Packing function for int arrays.

Pack array data into a buffer using the buffer_idxlist

Parameters
[out]bufferinteger array to be filled
[in]datainteger array with the data
[in]buffer_idxlistinteger array with the information to fill the buffer
[in]buffer_sizesize of the buffer to be filled (it can be a subset of the buffer array)
[in]offsetbuffer offset to start the filling of the buffer array
[in]transformarray of indices to transform the memory layout

◆ unpack_cpu_double()

void unpack_cpu_double ( double *  buffer,
double *  data,
int *  buffer_idxlist,
int  buffer_size,
int  offset,
int *  transform 
)

Unpacking function for double arrays.

Unpack beffer into array data using the buffer_idxlist

Parameters
[in]bufferdouble array with the data
[out]datadouble array to be filled
[in]buffer_idxlistinteger array with the information to fill the data array
[in]buffer_sizesize of the buffer to unpack (it can be a subset of the buffer array)
[in]offsetbuffer offset to start the unpacking of the buffer array
[in]transformarray of indices to transform the memory layout

◆ unpack_cpu_float()

void unpack_cpu_float ( float *  buffer,
float *  data,
int *  buffer_idxlist,
int  buffer_size,
int  offset,
int *  transform 
)

Unpacking function for float arrays.

Unpack beffer into array data using the buffer_idxlist

Parameters
[in]bufferfloat array with the data
[out]datafloat array to be filled
[in]buffer_idxlistinteger array with the information to fill the data array
[in]buffer_sizesize of the buffer to unpack (it can be a subset of the buffer array)
[in]offsetbuffer offset to start the unpacking of the buffer array
[in]transformarray of indices to transform the memory layout

◆ unpack_cpu_int()

void unpack_cpu_int ( int *  buffer,
int *  data,
int *  buffer_idxlist,
int  buffer_size,
int  offset,
int *  transform 
)

Unpacking function for int arrays.

Unpack beffer into array data using the buffer_idxlist

Parameters
[in]bufferinteger array with the data
[out]datainteger array to be filled
[in]buffer_idxlistinteger array with the information to fill the data array
[in]buffer_sizesize of the buffer to unpack (it can be a subset of the buffer array)
[in]offsetbuffer offset to start the unpacking of the buffer array
[in]transformarray of indices to transform the memory layout