PaStiX Handbook  6.2.1
cpucblk_cpack.h
Go to the documentation of this file.
1 /**
2  *
3  * @file cpucblk_cpack.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 -> c, Tue Apr 12 09:38:27 2022
15  *
16  **/
17 
18 #ifndef _cpucblk_cpack_h_
19 #define _cpucblk_cpack_h_
20 
21 size_t cpublok_ccompute_size_lr( pastix_coefside_t side, pastix_int_t N, const SolverBlok *blok );
22 
23 pastix_uint_t cpucblk_ccompute_size_lr( pastix_coefside_t side, const SolverCblk *cblk );
24 
25 size_t cpucblk_ccompute_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_cpack_lr( pastix_coefside_t side, SolverCblk *cblk, size_t size );
33 
34 char *cpublok_cunpack_lr( pastix_coefside_t side, pastix_int_t N, SolverBlok *blok, char *buffer );
35 
36 void cpucblk_cunpack_lr( pastix_coefside_t side, SolverCblk *cblk, void *buffer );
37 
38 void *cpucblk_cpack_fr( pastix_coefside_t side, const SolverCblk *cblk );
39 
40 void cpucblk_cunpack_fr( pastix_coefside_t side, SolverCblk *cblk, pastix_complex32_t *buffer );
41 
42 void *cpucblk_cpack( pastix_coefside_t side, SolverCblk *cblk, size_t size );
43 
44 void cpucblk_cunpack( pastix_coefside_t side, SolverCblk *cblk, void *buffer );
45 
46 #endif /* _cpucblk_cpack_h_ */
cpucblk_cunpack
void cpucblk_cunpack(pastix_coefside_t side, SolverCblk *cblk, void *buffer)
Unpack data and fill the column block concerned by the computation.
Definition: cpucblk_cpack.c:431
cpucblk_ccompute_size
size_t cpucblk_ccompute_size(pastix_coefside_t side, const SolverCblk *cblk)
Compute the size of the buffer to send.
Definition: cpucblk_cpack.c:131
cpucblk_cpack_fr
void * cpucblk_cpack_fr(pastix_coefside_t side, const SolverCblk *cblk)
Pack data in full rank.
Definition: cpucblk_cpack.c:337
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
cpublok_cunpack_lr
char * cpublok_cunpack_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_cpack.c:263
cpucblk_cpack
void * cpucblk_cpack(pastix_coefside_t side, SolverCblk *cblk, size_t size)
Pack a column block (Full rank or low rank).
Definition: cpucblk_cpack.c:400
cpublok_ccompute_size_lr
size_t cpublok_ccompute_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_cpack.c:48
cpucblk_ccompute_size_lr
pastix_uint_t cpucblk_ccompute_size_lr(pastix_coefside_t side, const SolverCblk *cblk)
Compute the size of a column block to send in LR.
Definition: cpucblk_cpack.c:92
cpucblk_cpack_lr
void * cpucblk_cpack_lr(pastix_coefside_t side, SolverCblk *cblk, size_t size)
Pack low-rank data for column block.
Definition: cpucblk_cpack.c:213
cpucblk_cunpack_lr
void cpucblk_cunpack_lr(pastix_coefside_t side, SolverCblk *cblk, void *buffer)
Unpack low rank data and fill the column block concerned by the computation.
Definition: cpucblk_cpack.c:299
cpublok_cpack_lr
char * cpublok_cpack_lr(pastix_coefside_t side, pastix_uint_t N, const SolverBlok *blok, char *buffer)
Pack low-rank data for a block.
Definition: cpucblk_cpack.c:173
cpucblk_cunpack_fr
void cpucblk_cunpack_fr(pastix_coefside_t side, SolverCblk *cblk, pastix_complex32_t *buffer)
Unpack data in full rank and fill the column block concerned by the computation.
Definition: cpucblk_cpack.c:365