PaStiX Handbook  6.2.1
pastix_scuda.h
Go to the documentation of this file.
1 /**
2  * @file pastix_scuda.h
3  *
4  * PaStiX GPU kernel header.
5  *
6  * @copyright 2011-2021 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
7  * Univ. Bordeaux. All rights reserved.
8  *
9  * @version 6.1.0
10  * @author Mathieu Faverge
11  * @author Pierre Ramet
12  * @author Xavier Lacoste
13  * @date 2019-11-12
14  * @generated from /builds/solverstack/pastix/kernels/pastix_zcuda.h, normal z -> s, Tue Apr 12 09:38:26 2022
15  *
16  */
17 #ifndef _pastix_scuda_h_
18 #define _pastix_scuda_h_
19 
20 #if defined(PASTIX_WITH_CUDA)
21 
22 #include <cuda.h>
23 #include <cuda_runtime_api.h>
24 #include <cuComplex.h>
25 
26 /**
27  * @addtogroup kernel_blas_lapack
28  * @{
29  * @name PastixFloat cblk-BLAS GPU kernels
30  * @{
31  */
32 pastix_fixdbl_t gpucblk_sgemmsp( pastix_coefside_t sideA, pastix_trans_t trans,
33  const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk,
34  const float *A, const float *B, float *C,
35  const pastix_lr_t *lowrank, cudaStream_t stream );
36 
37 pastix_fixdbl_t gpublok_sgemmsp( pastix_trans_t trans,
38  const SolverCblk *cblk, SolverCblk *fcblk,
39  pastix_int_t blok_mk, pastix_int_t blok_nk, pastix_int_t blok_mn,
40  const void *A, const void *B, void *C,
41  const pastix_lr_t *lowrank, cudaStream_t stream );
42 
43 pastix_fixdbl_t gpublok_strsmsp( pastix_side_t side, pastix_uplo_t uplo,
44  pastix_trans_t trans, pastix_diag_t diag,
45  const SolverCblk *cblk, pastix_int_t blok_m,
46  const void *A, void *C,
47  const pastix_lr_t *lowrank, cudaStream_t stream );
48 
49 pastix_fixdbl_t gpu_sgemmsp_fermi( const SolverMatrix *solvmatr,
50  pastix_uplo_t uplo, pastix_trans_t trans,
51  int *blocktab,
52  const SolverCblk *cblk,
53  const SolverBlok *blok,
54  SolverCblk *fcblk,
55  const float *A,
56  const float *B,
57  float *C,
58  cudaStream_t stream );
59 
60 /**
61  * @}
62  */
63 #endif
64 
65 #endif /* _pastix_scuda_h_ */
pastix_uplo_t
enum pastix_uplo_e pastix_uplo_t
Upper/Lower part.
pastix_lr_s
Structure to define the type of function to use for the low-rank kernels and their parameters.
Definition: pastix_lowrank.h:147
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.
pastix_trans_t
enum pastix_trans_e pastix_trans_t
Transpostion.
solver_blok_s
Solver block structure.
Definition: solver.h:107
pastix_diag_t
enum pastix_diag_e pastix_diag_t
Diagonal.
pastix_side_t
enum pastix_side_e pastix_side_t
Side of the operation.