Skip to content

Settings

Pratik Nayak edited this page Oct 13, 2019 · 2 revisions

This module implements the settings and the metadata structs for the solver.

Settings

The settings struct contains the settings used for the solver, including all the settings for the initialization, partition, where the code should be run etc. The main settings are:

  1. Executor: As with ginkgo, you can use omp, reference and cuda depending on where you would want to run the code.

  2. Partition settings: This controls the with what algorithm the matrix should be partitioned.

  3. Convergence settings: This controls what type of convergence settings should be used.

  4. Local solver settings: This controls what local solver is used in each of the subdomains.

  5. Communication settings: These settings control the type of communication in the communication class such as enabling and disabling onesided communication.

Metadata

The metadata struct contains the solver metadata. This metadata is passed around along with the settings to help the easy solution. It contains:

  1. Sizes and dimensions: It contains the various sizes and dimensions of the different solution vectors and arrays.

  2. Essential data: It contains some solver metadata such as the local solver tolerance, the global iteration count, the residual norms, a time_struct to help time the functions etc.

  3. Arrays and vectors: Additionally it also contains some helper arrays and vectors such as the local_to_global mapping, the indices of the row overlap, the permutation vectors etc.

Clone this wiki locally