PaStiX Handbook
6.3.0
|
#include "common/common.h"
#include "blend/solver.h"
#include "cpucblk_spack.h"
#include "pastix_scores.h"
#include "pastix_slrcores.h"
Go to the source code of this file.
Functions | |
size_t | cpublok_scompute_size_lr (pastix_coefside_t side, pastix_int_t N, const SolverBlok *blok) |
Compute the size of a block to send in LR. More... | |
pastix_uint_t | cpucblk_scompute_size_lr (pastix_coefside_t side, const SolverCblk *cblk) |
Compute the size of a column block to send in LR. More... | |
size_t | cpucblk_scompute_size (pastix_coefside_t side, const SolverCblk *cblk) |
Compute the size of the buffer to send. More... | |
char * | cpublok_spack_lr (pastix_coefside_t side, pastix_uint_t N, const SolverBlok *blok, char *buffer) |
Pack low-rank data for a block. More... | |
void * | cpucblk_spack_lr (pastix_coefside_t side, SolverCblk *cblk, size_t size) |
Pack low-rank data for column block. More... | |
char * | cpublok_sunpack_lr (pastix_coefside_t side, pastix_int_t N, SolverBlok *blok, char *buffer) |
Unpack low rank data and fill the block concerned by the computation. More... | |
void | cpucblk_sunpack_lr (pastix_coefside_t side, SolverCblk *cblk, void *buffer) |
Unpack low rank data and fill the column block concerned by the computation. More... | |
void * | cpucblk_spack_fr (pastix_coefside_t side, const SolverCblk *cblk) |
Pack data in full rank. More... | |
void | cpucblk_sunpack_fr (pastix_coefside_t side, SolverCblk *cblk, float *buffer) |
Unpack data in full rank and fill the column block concerned by the computation. More... | |
void * | cpucblk_spack (pastix_coefside_t side, SolverCblk *cblk, size_t size) |
Pack a column block (Full rank or low rank). More... | |
void | cpucblk_sunpack (pastix_coefside_t side, SolverCblk *cblk, void *buffer) |
Unpack data and fill the column block concerned by the computation. More... | |
Precision dependent routines to pack and unpack cblks.
Definition in file cpucblk_spack.c.
size_t cpublok_scompute_size_lr | ( | pastix_coefside_t | side, |
pastix_int_t | N, | ||
const SolverBlok * | blok | ||
) |
Compute the size of a block to send in LR.
[in] | side | Define which side of the cblk must be tested.
|
[in] | N | The number of columns of the block. |
[in] | blok | The block for which the size is computed. |
Definition at line 48 of file cpucblk_spack.c.
References blok_rownbr(), core_slrgetsize(), solver_blok_s::LRblock, PastixLCoef, and PastixUCoef.
Referenced by cpucblk_scompute_size_lr().
pastix_uint_t cpucblk_scompute_size_lr | ( | pastix_coefside_t | side, |
const SolverCblk * | cblk | ||
) |
Compute the size of a column block to send in LR.
[in] | side | Define which side of the cblk must be tested.
|
[in] | cblk | The low-rank column block for which the size is computed. |
Definition at line 94 of file cpucblk_spack.c.
References cblk_colnbr(), solver_cblk_s::cblktype, cpublok_scompute_size_lr(), and solver_cblk_s::fblokptr.
Referenced by cpucblk_scompute_size().
size_t cpucblk_scompute_size | ( | pastix_coefside_t | side, |
const SolverCblk * | cblk | ||
) |
Compute the size of the buffer to send.
[in] | side | Define which side of the cblk must be tested.
|
[in] | cblk | The column block for which the size is computed. |
Definition at line 134 of file cpucblk_spack.c.
References cblk_colnbr(), solver_cblk_s::cblktype, cpucblk_scompute_size_lr(), PastixLUCoef, and solver_cblk_s::stride.
char* cpublok_spack_lr | ( | pastix_coefside_t | side, |
pastix_uint_t | N, | ||
const SolverBlok * | blok, | ||
char * | buffer | ||
) |
Pack low-rank data for a block.
[in] | side | Define which side of the cblk must be tested.
|
[in] | N | Number of columns of the block. |
[in] | blok | The solver block to pack. |
[in,out] | buffer | Pointer to the buffer where to pack the data. |
Definition at line 177 of file cpucblk_spack.c.
References blok_rownbr(), core_slrpack(), solver_blok_s::LRblock, PastixLCoef, and PastixUCoef.
Referenced by cpucblk_spack_lr().
void* cpucblk_spack_lr | ( | pastix_coefside_t | side, |
SolverCblk * | cblk, | ||
size_t | size | ||
) |
Pack low-rank data for column block.
[in] | side | Define which side of the cblk must be tested.
|
[in] | cblk | The column block to pack. |
[in] | size | Size to allocate the buffer. |
Definition at line 220 of file cpucblk_spack.c.
References cblk_colnbr(), solver_cblk_s::cblktype, cpublok_spack_lr(), solver_cblk_s::fblokptr, solver_cblk_s::lcoeftab, PastixLCoef, PastixUCoef, and solver_cblk_s::ucoeftab.
Referenced by cpucblk_spack().
char* cpublok_sunpack_lr | ( | pastix_coefside_t | side, |
pastix_int_t | N, | ||
SolverBlok * | blok, | ||
char * | buffer | ||
) |
Unpack low rank data and fill the block concerned by the computation.
[in] | side | Define which side of the cblk must be tested.
|
[in] | N | Number of columns of the block. |
[in,out] | blok | The block concerned by the computation. |
[in,out] | buffer | Pointer on the packed data. |
Definition at line 272 of file cpucblk_spack.c.
References blok_rownbr(), core_slrunpack(), solver_blok_s::LRblock, PastixLCoef, and PastixUCoef.
Referenced by cpucblk_sunpack_lr().
void cpucblk_sunpack_lr | ( | pastix_coefside_t | side, |
SolverCblk * | cblk, | ||
void * | buffer | ||
) |
Unpack low rank data and fill the column block concerned by the computation.
[in] | side | Define which side of the cblk must be tested.
|
[in,out] | cblk | The column block to fill. |
[in,out] | buffer | Pointer on packed data. |
Definition at line 311 of file cpucblk_spack.c.
References cblk_colnbr(), solver_cblk_s::cblktype, cpublok_sunpack_lr(), cpucblk_salloc_lr(), and solver_cblk_s::fblokptr.
Referenced by cpucblk_sunpack().
void* cpucblk_spack_fr | ( | pastix_coefside_t | side, |
const SolverCblk * | cblk | ||
) |
Pack data in full rank.
[in] | side | Define which side of the cblk must be tested.
|
[in] | cblk | The column block that will be sent. |
Definition at line 351 of file cpucblk_spack.c.
References solver_cblk_s::cblktype, solver_cblk_s::lcoeftab, PastixUCoef, and solver_cblk_s::ucoeftab.
Referenced by cpucblk_spack().
void cpucblk_sunpack_fr | ( | pastix_coefside_t | side, |
SolverCblk * | cblk, | ||
float * | buffer | ||
) |
Unpack data in full rank and fill the column block concerned by the computation.
[in] | side | Define which side of the cblk must be tested.
|
[in] | cblk | The column block to unpack. |
[in] | buffer | Pointer on packed data. |
Definition at line 380 of file cpucblk_spack.c.
References cblk_colnbr(), solver_cblk_s::cblktype, solver_cblk_s::lcoeftab, PastixLCoef, solver_cblk_s::stride, and solver_cblk_s::ucoeftab.
Referenced by cpucblk_sunpack().
void* cpucblk_spack | ( | pastix_coefside_t | side, |
SolverCblk * | cblk, | ||
size_t | size | ||
) |
Pack a column block (Full rank or low rank).
[in] | side | Define which side of the cblk must be tested.
|
[in] | cblk | The column block that will be sent. |
[in] | size | TODO |
Definition at line 417 of file cpucblk_spack.c.
References solver_cblk_s::cblktype, cpucblk_spack_fr(), and cpucblk_spack_lr().
void cpucblk_sunpack | ( | pastix_coefside_t | side, |
SolverCblk * | cblk, | ||
void * | buffer | ||
) |
Unpack data and fill the column block concerned by the computation.
[in] | side | Define which side of the cblk must be tested.
|
[in,out] | cblk | The cblk to unpack. |
[in] | buffer | Pointer on packed data. |
Definition at line 450 of file cpucblk_spack.c.
References solver_cblk_s::cblktype, cpucblk_sunpack_fr(), and cpucblk_sunpack_lr().