PaStiX Handbook  6.2.1
cpucblk_spack.h
Go to the documentation of this file.
1 /**
2  *
3  * @file cpucblk_spack.h
4  *
5  * Precision dependent routines to pack and unpack cblks.
6  *
7  * @copyright 2021-2021 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
8  * Univ. Bordeaux. All rights reserved.
9  *
10  * @version 6.2.1
11  * @author Nolan Bredel
12  * @date 2021-07-20
13  *
14  * @generated from /builds/solverstack/pastix/kernels/cpucblk_zpack.h, normal z -> s, Tue Apr 12 09:38:27 2022
15  *
16  **/
17 
18 #ifndef _cpucblk_spack_h_
19 #define _cpucblk_spack_h_
20 
21 size_t cpublok_scompute_size_lr( pastix_coefside_t side, pastix_int_t N, const SolverBlok *blok );
22 
23 pastix_uint_t cpucblk_scompute_size_lr( pastix_coefside_t side, const SolverCblk *cblk );
24 
25 size_t cpucblk_scompute_size( pastix_coefside_t side, const SolverCblk *cblk );
26 
28  pastix_uint_t N,
29  const SolverBlok *blok,
30  char * buffer );
31 
32 void *cpucblk_spack_lr( pastix_coefside_t side, SolverCblk *cblk, size_t size );
33 
34 char *cpublok_sunpack_lr( pastix_coefside_t side, pastix_int_t N, SolverBlok *blok, char *buffer );
35 
36 void cpucblk_sunpack_lr( pastix_coefside_t side, SolverCblk *cblk, void *buffer );
37 
38 void *cpucblk_spack_fr( pastix_coefside_t side, const SolverCblk *cblk );
39 
40 void cpucblk_sunpack_fr( pastix_coefside_t side, SolverCblk *cblk, float *buffer );
41 
42 void *cpucblk_spack( pastix_coefside_t side, SolverCblk *cblk, size_t size );
43 
44 void cpucblk_sunpack( pastix_coefside_t side, SolverCblk *cblk, void *buffer );
45 
46 #endif /* _cpucblk_spack_h_ */
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.
Definition: cpucblk_spack.c:92
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.
Definition: cpucblk_spack.c:299
cpucblk_sunpack
void cpucblk_sunpack(pastix_coefside_t side, SolverCblk *cblk, void *buffer)
Unpack data and fill the column block concerned by the computation.
Definition: cpucblk_spack.c:431
solver_cblk_s
Solver column block structure.
Definition: solver.h:127
pastix_coefside_t
enum pastix_coefside_e pastix_coefside_t
Data blocks used in the kernel.
cpucblk_scompute_size
size_t cpucblk_scompute_size(pastix_coefside_t side, const SolverCblk *cblk)
Compute the size of the buffer to send.
Definition: cpucblk_spack.c:131
cpucblk_spack_lr
void * cpucblk_spack_lr(pastix_coefside_t side, SolverCblk *cblk, size_t size)
Pack low-rank data for column block.
Definition: cpucblk_spack.c:213
solver_blok_s
Solver block structure.
Definition: solver.h:107
cpublok_sunpack_lr
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.
Definition: cpucblk_spack.c:263
cpublok_spack_lr
char * cpublok_spack_lr(pastix_coefside_t side, pastix_uint_t N, const SolverBlok *blok, char *buffer)
Pack low-rank data for a block.
Definition: cpucblk_spack.c:173
cpucblk_spack
void * cpucblk_spack(pastix_coefside_t side, SolverCblk *cblk, size_t size)
Pack a column block (Full rank or low rank).
Definition: cpucblk_spack.c:400
cpublok_scompute_size_lr
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.
Definition: cpucblk_spack.c:48
cpucblk_spack_fr
void * cpucblk_spack_fr(pastix_coefside_t side, const SolverCblk *cblk)
Pack data in full rank.
Definition: cpucblk_spack.c:337
cpucblk_sunpack_fr
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.
Definition: cpucblk_spack.c:365