PaStiX Handbook 6.4.0
Loading...
Searching...
No Matches
pastix_ccuda.h
Go to the documentation of this file.
1/**
2 * @file pastix_ccuda.h
3 *
4 * PaStiX GPU kernel header.
5 *
6 * @copyright 2011-2024 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
7 * Univ. Bordeaux. All rights reserved.
8 *
9 * @version 6.4.0
10 * @author Mathieu Faverge
11 * @author Pierre Ramet
12 * @author Xavier Lacoste
13 * @date 2024-07-05
14 * @generated from /builds/j2uR5rszh/0/solverstack/pastix/kernels/pastix_zcuda.h, normal z -> c, Fri Jul 25 09:29:33 2025
15 *
16 */
17#ifndef _pastix_ccuda_h_
18#define _pastix_ccuda_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 PastixComplex32 cblk-BLAS GPU kernels
30 * @{
31 */
32pastix_fixdbl_t gpucblk_cgemmsp( pastix_coefside_t sideA, pastix_trans_t trans,
33 const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk,
34 const cuFloatComplex *A, const cuFloatComplex *B, cuFloatComplex *C,
35 const pastix_lr_t *lowrank, cudaStream_t stream );
36
37pastix_fixdbl_t gpublok_cgemmsp( 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
43pastix_fixdbl_t gpublok_ctrsmsp( 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
49pastix_fixdbl_t gpu_cgemmsp_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 cuFloatComplex *A,
56 const cuFloatComplex *B,
57 cuFloatComplex *C,
58 cudaStream_t stream );
59
60/**
61 * @}
62 * @}
63 */
64#endif
65
66#endif /* _pastix_ccuda_h_ */
BEGIN_C_DECLS typedef int pastix_int_t
Definition datatypes.h:51
double pastix_fixdbl_t
Definition datatypes.h:65
Structure to define the type of function to use for the low-rank kernels and their parameters.
enum pastix_diag_e pastix_diag_t
Diagonal.
enum pastix_uplo_e pastix_uplo_t
Upper/Lower part.
enum pastix_side_e pastix_side_t
Side of the operation.
enum pastix_trans_e pastix_trans_t
Transpostion.
enum pastix_coefside_e pastix_coefside_t
Data blocks used in the kernel.
Solver block structure.
Definition solver.h:141
Solver column block structure.
Definition solver.h:161
Solver column block structure.
Definition solver.h:203