PaStiX Handbook 6.4.0
Loading...
Searching...
No Matches
pastix_parsec.h
Go to the documentation of this file.
1/**
2 *
3 * @file pastix_parsec.h
4 *
5 * PaRSEC support for the numerical factorization and solve of PaStiX.
6 *
7 * @copyright 2016-2024 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
8 * Univ. Bordeaux. All rights reserved.
9 *
10 * @version 6.4.0
11 * @author Mathieu Faverge
12 * @author Pierre Ramet
13 * @date 2024-07-05
14 *
15 * @addtogroup pastix_parsec
16 * @{
17 * This module describes the functionnality provided by the runtime system
18 * PaRSEC for the numerical factorization and solve.
19 *
20 **/
21#ifndef _pastix_parsec_h_
22#define _pastix_parsec_h_
23
24#include <parsec.h>
25#include <parsec/data_distribution.h>
26
27/**
28 * @name PaRSEC sparse matrix descriptor
29 * @{
30 */
31
32/**
33 * @brief PaRSEC descriptor stucture for the sparse matrix.
34 */
36 parsec_data_collection_t super; /**< Every PaRSEC descriptors must inherit from parsec_desc_t */
37 int typesze; /**< Arithmetic size */
38 pastix_mtxtype_t mtxtype; /**< Matrix structure: PastixGeneral, PastixSymmetric or PastixHermitian. */
39 SolverMatrix *solvmtx; /**< Solver matrix structure that describes the problem and stores the original data */
40 void **gpu_blocktab; /**< Pointer to GPU arrays that contains frownum,lrownum of each block for Fermi */
42
44 int typesize, pastix_mtxtype_t mtxtype,
45 int nodes, int myrank );
47
48/**
49 * @}
50 * @name PaRSEC control function
51 * @{
52 *
53 */
55 int *argc, char **argv[],
56 const int *bindtab );
58
59/**
60 * @}
61 */
62#endif /* _pastix_parsec_h_ */
63
64/**
65 *@}
66 */
spm_mtxtype_t pastix_mtxtype_t
Matrix symmetry type property.
Definition api.h:457
BEGIN_C_DECLS int pastix(pastix_data_t **pastix_data, PASTIX_Comm pastix_comm, pastix_int_t n, pastix_int_t *colptr, pastix_int_t *rowptr, void *values, pastix_int_t *perm, pastix_int_t *invp, void *B, pastix_int_t nrhs, pastix_int_t *iparm, double *dparm)
Main function for compatibility with former releases.
Definition pastix.c:103
parsec_data_collection_t super
void parsec_sparse_matrix_init(SolverMatrix *solvmtx, int typesize, pastix_mtxtype_t mtxtype, int nodes, int myrank)
Generate the PaRSEC descriptor of the sparse matrix.
void pastix_parsec_init(pastix_data_t *pastix, int *argc, char **argv[], const int *bindtab)
Startup the PaRSEC runtime system.
Definition parsec.c:61
void pastix_parsec_finalize(pastix_data_t *pastix)
Finalize the PaRSEC runtime system.
Definition parsec.c:178
struct parsec_sparse_matrix_desc_s parsec_sparse_matrix_desc_t
PaRSEC descriptor stucture for the sparse matrix.
void parsec_sparse_matrix_destroy(parsec_sparse_matrix_desc_t *desc)
Free the PaRSEC descriptor of the sparse matrix.
PaRSEC descriptor stucture for the sparse matrix.
Main PaStiX data structure.
Definition pastixdata.h:68
Solver column block structure.
Definition solver.h:203