PaStiX Handbook  6.3.0
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-2023 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
8  * Univ. Bordeaux. All rights reserved.
9  *
10  * @version 6.3.0
11  * @author Nolan Bredel
12  * @date 2023-01-16
13  *
14  * @generated from /builds/solverstack/pastix/kernels/cpucblk_zpack.h, normal z -> z, Mon Aug 28 13:40:25 2023
15  *
16  **/
17 
18 #ifndef _cpucblk_zpack_h_
19 #define _cpucblk_zpack_h_
20 
22  pastix_int_t N,
23  const SolverBlok *blok );
24 
26  const SolverCblk *cblk );
27 
29  const SolverCblk *cblk );
30 
32  pastix_uint_t N,
33  const SolverBlok *blok,
34  char * buffer );
35 
37  SolverCblk *cblk,
38  size_t size );
39 
41  pastix_int_t N,
42  SolverBlok *blok,
43  char *buffer );
44 
46  SolverCblk *cblk,
47  void *buffer );
48 
50  const SolverCblk *cblk );
51 
53  SolverCblk *cblk,
54  pastix_complex64_t *buffer );
55 
57  SolverCblk *cblk,
58  size_t size );
59 
61  SolverCblk *cblk,
62  void *buffer );
63 
64 #endif /* _cpucblk_zpack_h_ */
size_t cpucblk_zcompute_size(pastix_coefside_t side, const SolverCblk *cblk)
Compute the size of the buffer to send.
void cpucblk_zunpack(pastix_coefside_t side, SolverCblk *cblk, void *buffer)
Unpack data and fill the column block concerned by the computation.
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.
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
void * cpucblk_zpack(pastix_coefside_t side, SolverCblk *cblk, size_t size)
Pack a column block (Full rank or low rank).
char * cpublok_zpack_lr(pastix_coefside_t side, pastix_uint_t N, const SolverBlok *blok, char *buffer)
Pack low-rank data for a block.
void * cpucblk_zpack_lr(pastix_coefside_t side, SolverCblk *cblk, size_t size)
Pack low-rank data for column block.
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.
void * cpucblk_zpack_fr(pastix_coefside_t side, const SolverCblk *cblk)
Pack data in full rank.
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:94
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.
enum pastix_coefside_e pastix_coefside_t
Data blocks used in the kernel.
Solver block structure.
Definition: solver.h:137
Solver column block structure.
Definition: solver.h:156