PaStiX Handbook  6.3.2
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-2023 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
8  * Univ. Bordeaux. All rights reserved.
9  *
10  * @version 6.3.2
11  * @author Nolan Bredel
12  * @date 2023-07-21
13  *
14  * @generated from /builds/solverstack/pastix/kernels/cpucblk_zpack.h, normal z -> s, Wed Dec 13 12:09:05 2023
15  *
16  **/
17 
18 #ifndef _cpucblk_spack_h_
19 #define _cpucblk_spack_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  float *buffer );
55 
57  SolverCblk *cblk,
58  size_t size );
59 
61  SolverCblk *cblk,
62  void *buffer );
63 
64 #endif /* _cpucblk_spack_h_ */
void cpucblk_sunpack(pastix_coefside_t side, SolverCblk *cblk, void *buffer)
Unpack data and fill the column block concerned by the computation.
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:94
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.
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
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.
char * cpublok_spack_lr(pastix_coefside_t side, pastix_uint_t N, const SolverBlok *blok, char *buffer)
Pack low-rank data for a block.
void * cpucblk_spack(pastix_coefside_t side, SolverCblk *cblk, size_t size)
Pack a column block (Full rank or low rank).
size_t cpucblk_scompute_size(pastix_coefside_t side, const SolverCblk *cblk)
Compute the size of the buffer to send.
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.
void * cpucblk_spack_fr(pastix_coefside_t side, const SolverCblk *cblk)
Pack data in full rank.
void * cpucblk_spack_lr(pastix_coefside_t side, SolverCblk *cblk, size_t size)
Pack low-rank data for column block.
BEGIN_C_DECLS typedef int pastix_int_t
Definition: datatypes.h:51
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