User API

Macros

PARILU_VISIBILITY(mode)

Set the visibility of a symbol.

Parameters:
  • mode – Visibility mode (hidden, default, etc.).

PARILU_EXTERN

Declare a symbol as external.

Functions

void parilu_finalize(parilu_handle **parilu)

Finalize parILU. Frees the memory allocated for the handle returned by parilu_setup() and sets the pointer to NULL.

Parameters:

parilu – Pointer to parilu_handle to be released.

parilu_options *parilu_default_options()

Get the default options for the parilu_handle library. This can be used to setup a system with parilu_setup(). User is responsible for calling parilu_finalize_options() to free the memory allocated by this function.

Returns:

parilu_options*

parilu_handle *parilu_setup(const uint32_t nnz, const uint64_t *const row, const uint64_t *const col, const double *const val, const parilu_options *const options, const MPI_Comm comm)

Setup parilu. Returns a pointer to a newly allocated parilu_handle handle.

Parameters:
  • nnz – Number of nonzeros in the matrix.

  • row – Global row index or number.

  • col – Global column index or number.

  • val – Values of the matrix. val[i] is the value of the matrix entry (row[i], col[i]).

  • options – Pointer to the parilu_options which stores the options.

  • comm – MPI communicator.

Structures

typedef struct parilu_options_t parilu_options

Store the options for parILU. This is a typedef for struct parilu_options_t.

typedef struct parilu_handle_t parilu_handle

parILU handle returned by parilu_setup(). This is a typedef of struct parilu_handle_t.

typedef struct parilu_matrix_t parilu_matrix

parILU matrix used to represent a sparse linear system. This is a typedef of struct parilu_matrix_t.

typedef struct parilu_matrix_operator_t parilu_matrix_operator

parILU matrix operator used to perform matrix-vector product. This is a typedef of struct parilu_matrix_operator_t.