PaStiX Handbook  6.2.1
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_dense_matrix_desc_s
 StarPU descriptor for the vectors linked to a given sparse matrix. More...
 
struct  measure_s
 
struct  starpu_profile_s
 Profiling data structure to register a codelet to profile. 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 TASK_SYNCHRONOUS
 
#define pastix_codelet(_codelet_)   _codelet_ TASK_SYNCHRONOUS
 
#define PASTIX_STARPU_INTERFACE_ID   pastix_starpu_interface_ops.interfaceid
 Alias to get the Interface id.
 

Typedefs

typedef struct starpu_conf starpu_conf_t
 
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_dense_matrix_desc_s starpu_dense_matrix_desc_t
 StarPU descriptor for the vectors linked to a given sparse matrix.
 
typedef struct measure_s measure_t
 
typedef struct starpu_profile_s starpu_profile_t
 
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, int 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 *spmtx)
 Free the StarPU descriptor of the sparse matrix. More...
 
void starpu_sparse_matrix_getoncpu (starpu_sparse_matrix_desc_t *spmtx)
 Submit asynchronous calls to retrieve the data on main memory. More...
 
void starpu_dense_matrix_init (SolverMatrix *solvmtx, pastix_int_t ncol, char *A, pastix_int_t lda, int typesize, int nodes, int myrank)
 Generate the StarPU descriptor of the dense matrix. More...
 
void starpu_dense_matrix_destroy (starpu_dense_matrix_desc_t *spmtx)
 Free the StarPU descriptor of the dense matrix. More...
 
void starpu_dense_matrix_getoncpu (starpu_dense_matrix_desc_t *spmtx)
 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)
 
int64_t pastix_starpu_tag_book (int64_t nbtags)
 
void pastix_starpu_tag_release (int64_t min)
 
void pastix_starpu_partition_submit (pastix_coefside_t side, SolverCblk *cblk, starpu_cblk_t *starpu_cblk)
 TODO. More...
 
void pastix_starpu_unpartition_submit (const starpu_sparse_matrix_desc_t *spmtx, int rank, pastix_coefside_t side, SolverCblk *cblk, starpu_cblk_t *starpu_cblk)
 TODO. More...
 
static void profiling_display_allinfo ()
 
static void profiling_log_init (const char *dirname)
 
static void profiling_log_fini ()
 
static void * pastix_starpu_cblk_get_ptr (void *interface)
 
static void * pastix_starpu_blok_get_ptr (void *interface)
 
void pastix_starpu_register (starpu_data_handle_t *handleptr, int home_node, SolverCblk *cblk, pastix_coefside_t side, pastix_coeftype_t flttype)
 Register a cblk at the StarPU level. More...
 
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.
 

Detailed Description

StarPU support for the numerical factorization and solve of PaStiX.

Version
6.2.0
Author
Mathieu Faverge
Pierre Ramet
Date
2021-01-03

Definition in file pastix_starpu.h.