PaStiX Handbook  6.2.1
cpucblk_zpack.h
Go to the documentation of this file.
1 /**
2  *
3  * @file cpucblk_zpack.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 -> z, Tue Apr 12 09:38:27 2022
15  *
16  **/
17 
18 #ifndef _cpucblk_zpack_h_
19 #define _cpucblk_zpack_h_
20 
21 size_t cpublok_zcompute_size_lr( pastix_coefside_t side, pastix_int_t N, const SolverBlok *blok );
22 
23 pastix_uint_t cpucblk_zcompute_size_lr( pastix_coefside_t side, const SolverCblk *cblk );
24 
25 size_t cpucblk_zcompute_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_zpack_lr( pastix_coefside_t side, SolverCblk *cblk, size_t size );
33 
34 char *cpublok_zunpack_lr( pastix_coefside_t side, pastix_int_t N, SolverBlok *blok, char *buffer );
35 
36 void cpucblk_zunpack_lr( pastix_coefside_t side, SolverCblk *cblk, void *buffer );
37 
38 void *cpucblk_zpack_fr( pastix_coefside_t side, const SolverCblk *cblk );
39 
40 void cpucblk_zunpack_fr( pastix_coefside_t side, SolverCblk *cblk, pastix_complex64_t *buffer );
41 
42 void *cpucblk_zpack( pastix_coefside_t side, SolverCblk *cblk, size_t size );
43 
44 void cpucblk_zunpack( pastix_coefside_t side, SolverCblk *cblk, void *buffer );
45 
46 #endif /* _cpucblk_zpack_h_ */
cpublok_zpack_lr
char * cpublok_zpack_lr(pastix_coefside_t side, pastix_uint_t N, const SolverBlok *blok, char *buffer)
Pack low-rank data for a block.
Definition: cpucblk_zpack.c:173
cpublok_zunpack_lr
char * cpublok_zunpack_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_zpack.c:263
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.
solver_blok_s
Solver block structure.
Definition: solver.h:107
cpucblk_zcompute_size
size_t cpucblk_zcompute_size(pastix_coefside_t side, const SolverCblk *cblk)
Compute the size of the buffer to send.
Definition: cpucblk_zpack.c:131
cpucblk_zunpack
void cpucblk_zunpack(pastix_coefside_t side, SolverCblk *cblk, void *buffer)
Unpack data and fill the column block concerned by the computation.
Definition: cpucblk_zpack.c:431
cpucblk_zpack_lr
void * cpucblk_zpack_lr(pastix_coefside_t side, SolverCblk *cblk, size_t size)
Pack low-rank data for column block.
Definition: cpucblk_zpack.c:213
cpucblk_zpack_fr
void * cpucblk_zpack_fr(pastix_coefside_t side, const SolverCblk *cblk)
Pack data in full rank.
Definition: cpucblk_zpack.c:337
cpublok_zcompute_size_lr
size_t cpublok_zcompute_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_zpack.c:48
cpucblk_zunpack_fr
void cpucblk_zunpack_fr(pastix_coefside_t side, SolverCblk *cblk, pastix_complex64_t *buffer)
Unpack data in full rank and fill the column block concerned by the computation.
Definition: cpucblk_zpack.c:365
cpucblk_zpack
void * cpucblk_zpack(pastix_coefside_t side, SolverCblk *cblk, size_t size)
Pack a column block (Full rank or low rank).
Definition: cpucblk_zpack.c:400
cpucblk_zunpack_lr
void cpucblk_zunpack_lr(pastix_coefside_t side, SolverCblk *cblk, void *buffer)
Unpack low rank data and fill the column block concerned by the computation.
Definition: cpucblk_zpack.c:299
cpucblk_zcompute_size_lr
pastix_uint_t cpucblk_zcompute_size_lr(pastix_coefside_t side, const SolverCblk *cblk)
Compute the size of a column block to send in LR.
Definition: cpucblk_zpack.c:92