slepc-3.18.0 2022-10-01
Report Typos and Errors

# DSSetParallel

Selects the mode of operation in parallel runs.

### Synopsis

    #include "slepcds.h"
    PetscErrorCode DSSetParallel(DS ds,DSParallelType pmode)

Logically Collective on ds

### Input Parameters

| ds | - the direct solver context
| pmode | - the parallel mode

### Options Database Key

| -ds_parallel <mode> | - Sets the parallel mode, 'redundant', 'synchronized' or 'distributed'

### Notes

In the 'redundant' parallel mode, all processes will make the computation redundantly, starting from the same data, and producing the same result. This result may be slightly different in the different processes if using a multithreaded BLAS library, which may cause issues in ill-conditioned problems.

In the 'synchronized' parallel mode, only the first MPI process performs the computation and then the computed quantities are broadcast to the other processes in the communicator. This communication is not done automatically, an explicit call to DSSynchronize() is required.

The 'distributed' parallel mode can be used in some DS types only, such as the contour integral method of DSNEP. In this case, every MPI process will be in charge of part of the computation.

### See Also

DSSynchronize(), DSGetParallel()

### Level

advanced

### Location

src/sys/classes/ds/interface/dsbasic.c
Index of all DS routines
Table of Contents for all manual pages
Index of all manual pages