petsc-3.7.1 2016-05-15
Report Typos and Errors

# KSPCGUseSingleReduction

Merge the two inner products needed in CG into a single MPI_Allreduce() call.

### Synopsis

    #include "petscksp.h"
    PetscErrorCode  KSPCGUseSingleReduction(KSP ksp,PetscBool flg)

Logically Collective on KSP Many br

### Input Parameters

| ksp | - the iterative context Many br
| flg | - turn on or off the single reduction Many br

### Options Database

-ksp_cg_single_reduction - Many br Many br

The algorithm used in this case is described as Method 1 in Lapack Working Note 56, "Conjugate Gradient Algorithms with Reduced Synchronization Overhead Many brDistributed Memory Multiprocessors", by E. F. D'Azevedo, V. L. Eijkhout, and C. H. Romine, December 3, 1999. V. Eijkhout creates the algorithm Many brinitially to Chronopoulos and Gear. Many br

It requires two extra work vectors than the conventional implementation in PETSc. Many br

See also KSPPIPECG, KSPPIPECR, and KSPGROPPCG that use non-blocking reductions. Many br

### Keywords

CG, conjugate gradient, Hermitian, symmetric, set, type, KSPPGMRES

Level:intermediate
Location:src/ksp/ksp/impls/cg/cgtype.c
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages