PaStiX Handbook  6.4.0
pastix_starpu.h File Reference
#include "common.h"
#include "blend/solver.h"
#include <starpu.h>
#include <starpu_profiling.h>

Go to the source code of this file.

Data Structures

struct  starpu_cblk_s
 Additional StarPU handlers for a column-block when using 2D kernels. More...
 
struct  starpu_sparse_matrix_desc_s
 StarPU descriptor stucture for the sparse matrix. More...
 
struct  starpu_rhs_desc_s
 StarPU descriptor for the vectors linked to a given sparse matrix. More...
 
struct  profile_data_s
 Base structure to all codelet arguments that include the profiling data. More...
 
struct  pastix_starpu_interface_s
 Interface data structure to register the pieces of data in StarPU. More...
 

Macros

#define PASTIX_STARPU_INTERFACE_ID   pastix_starpu_interface_ops.interfaceid
 Alias to get the Interface id.
 

Typedefs

typedef struct starpu_cblk_s starpu_cblk_t
 Additional StarPU handlers for a column-block when using 2D kernels. More...
 
typedef struct starpu_sparse_matrix_desc_s starpu_sparse_matrix_desc_t
 StarPU descriptor stucture for the sparse matrix.
 
typedef struct starpu_rhs_desc_s starpu_rhs_desc_t
 StarPU descriptor for the vectors linked to a given sparse matrix.
 
typedef struct profile_data_s profile_data_t
 Base structure to all codelet arguments that include the profiling data.
 
typedef struct pastix_starpu_interface_s pastix_starpu_interface_t
 Interface data structure to register the pieces of data in StarPU.
 

Functions

void starpu_sparse_matrix_init (SolverMatrix *solvmtx, pastix_mtxtype_t mtxtype, int nodes, int myrank, pastix_coeftype_t flttype)
 Generate the StarPU descriptor of the sparse matrix. More...
 
void starpu_sparse_matrix_destroy (starpu_sparse_matrix_desc_t *desc)
 Free the StarPU descriptor of the sparse matrix. More...
 
void starpu_sparse_matrix_getoncpu (starpu_sparse_matrix_desc_t *desc)
 Submit asynchronous calls to retrieve the data on main memory. More...
 
void starpu_rhs_init (SolverMatrix *solvmtx, pastix_rhs_t rhsb, int typesze, int nodes, int myrank)
 Generate the StarPU descriptor of the dense matrix. More...
 
void starpu_rhs_destroy (starpu_rhs_desc_t *desc)
 Free the StarPU descriptor of the dense matrix. More...
 
void starpu_rhs_getoncpu (starpu_rhs_desc_t *desc)
 Submit asynchronous calls to retrieve the data on main memory. More...
 
void starpu_sparse_cblk_wont_use (pastix_coefside_t coef, SolverCblk *cblk)
 Submit asynchronous calls to retrieve the data on main memory. More...
 
void pastix_starpu_init (pastix_data_t *pastix, int *argc, char **argv[], const int *bindtab)
 Startup the StarPU runtime system. More...
 
void pastix_starpu_finalize (pastix_data_t *pastix)
 Finalize the StarPU runtime system. More...
 
int pastix_starpu_tag_init (pastix_data_t *pastix_data)
 Initialize the StarPU tags manager. More...
 
int64_t pastix_starpu_tag_book (int64_t nbtags)
 Book a range of StarPU unique tags of size nbtags. More...
 
void pastix_starpu_tag_release (int64_t min)
 Release the set of tags starting by min. More...
 
static void profiling_display_allinfo ()
 Displays all profiling data collected into all measurements tables of the profile_list.
 
void pastix_starpu_register (starpu_data_handle_t *handleptr, const SolverCblk *cblk, pastix_coefside_t side, pastix_coeftype_t flttype)
 Register a cblk at the StarPU level. More...
 
void pastix_starpu_register_ws (starpu_data_handle_t *handleptr, const SolverCblk *cblk, pastix_coeftype_t flttype)
 
void pastix_starpu_register_blok (starpu_data_handle_t *handleptr, const SolverCblk *cblk, const SolverBlok *blok, pastix_coeftype_t flttype)
 
void pastix_starpu_interface_init ()
 Initialize the interface ID.
 
void pastix_starpu_interface_fini ()
 Finalize the interface and reset the ID.
 

Variables

struct starpu_data_interface_ops pastix_starpu_interface_ops
 StarPU Interface to handle cblks and bloks. More...
 
struct starpu_codelet cl_fanin_init_cpu
 Main structure for all tasks of fanin_init type.
 
struct starpu_codelet cl_rhs_init_cpu
 Main structure for all tasks of rhs_init type.
 

Detailed Description

StarPU support for the numerical factorization and solve of PaStiX.

Version
6.4.0
Author
Mathieu Faverge
Pierre Ramet
Alycia Lisito
Florent Pruvost
Nolan Bredel
Tom Moenne-Loccoz
Date
2024-07-05

Definition in file pastix_starpu.h.