File: KSPCGUseSingleReduction.html

package info (click to toggle)
petsc 3.7.5%2Bdfsg1-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 163,864 kB
  • ctags: 618,438
  • sloc: ansic: 515,133; python: 29,793; makefile: 20,458; fortran: 18,998; cpp: 6,515; f90: 3,914; sh: 1,012; xml: 621; objc: 445; csh: 240; java: 13
file content (46 lines) | stat: -rw-r--r-- 2,711 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD> <link rel="canonical" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/KSP/KSPCGUseSingleReduction.html" />
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>KSPCGUseSingleReduction</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
   <div id="version" align=right><b>petsc-3.7.5 2017-01-01</b></div>
   <div id="bugreport" align=right><a href="mailto:petsc-maint@mcs.anl.gov?subject=Typo or Error in Documentation &body=Please describe the typo or error in the documentation: petsc-3.7.5 v3.7.5 docs/manualpages/KSP/KSPCGUseSingleReduction.html "><small>Report Typos and Errors</small></a></div>
<A NAME="KSPCGUseSingleReduction"><H1>KSPCGUseSingleReduction</H1></A>
Merge the two inner products needed in CG into a single MPI_Allreduce() call. 
<H3><FONT COLOR="#CC3333">Synopsis</FONT></H3>
<PRE>
#include "petscksp.h" 
PetscErrorCode  KSPCGUseSingleReduction(KSP ksp,PetscBool flg)
</PRE>
Logically Collective on <A HREF="../KSP/KSP.html#KSP">KSP</A>
<P>
<H3><FONT COLOR="#CC3333">Input Parameters</FONT></H3>
<TABLE border="0" cellpadding="0" cellspacing="0">
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>ksp </B></TD><TD>- the iterative context
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>flg </B></TD><TD>- turn on or off the single reduction
</TD></TR></TABLE>
<P>
<H3><FONT COLOR="#CC3333">Options Database</FONT></H3>
<DT><B>-ksp_cg_single_reduction</B> -

<br>
<P>
The algorithm used in this case is described as Method 1 in Lapack Working Note 56, "Conjugate Gradient Algorithms with Reduced Synchronization Overhead
Distributed Memory Multiprocessors", by E. F. D'Azevedo, V. L. Eijkhout, and C. H. Romine, December 3, 1999. V. Eijkhout creates the algorithm
initially to Chronopoulos and Gear.
<P>
It requires two extra work vectors than the conventional implementation in PETSc.
<P>
See also <A HREF="../KSP/KSPPIPECG.html#KSPPIPECG">KSPPIPECG</A>, <A HREF="../KSP/KSPPIPECR.html#KSPPIPECR">KSPPIPECR</A>, and <A HREF="../KSP/KSPGROPPCG.html#KSPGROPPCG">KSPGROPPCG</A> that use non-blocking reductions.
<P>
<H3><FONT COLOR="#CC3333">Keywords</FONT></H3>
 CG, conjugate gradient, Hermitian, symmetric, set, type, <A HREF="../KSP/KSPPGMRES.html#KSPPGMRES">KSPPGMRES</A>
<BR><P><B><P><B><FONT COLOR="#CC3333">Level:</FONT></B>intermediate
<BR><FONT COLOR="#CC3333">Location:</FONT></B><A HREF="../../../src/ksp/ksp/impls/cg/cgtype.c.html#KSPCGUseSingleReduction">src/ksp/ksp/impls/cg/cgtype.c</A>
<BR><A HREF="./index.html">Index of all KSP routines</A>
<BR><A HREF="../../index.html">Table of Contents for all manual pages</A>
<BR><A HREF="../singleindex.html">Index of all manual pages</A>
</BODY></HTML>