xref: /petsc/src/benchmarks/results/benchmarks.html (revision eaa51f12aab489469d0eade1088fab4909b0f7e7)
1*eaa51f12SBarry Smith<HTML>
2*eaa51f12SBarry Smith<HEAD>
3*eaa51f12SBarry Smith<BASE HREF="http://www.mcs.anl.gov/petsc/petsc.html">
4*eaa51f12SBarry Smith<TITLE>PETSc - The Portable, Extensible Toolkit for Scientific Computation</TITLE>
5*eaa51f12SBarry Smith</HEAD>
6*eaa51f12SBarry Smith<BODY BGCOLOR="#ffffff" LINK="#0000ff" VLINK="#ff0000" ALINK="#ff0000" TEXT="#000000">
7*eaa51f12SBarry Smith<font size="4">
8*eaa51f12SBarry Smith
9*eaa51f12SBarry Smith<center>
10*eaa51f12SBarry Smith<IMG SRC="petsc_title.gif">
11*eaa51f12SBarry Smith</center>
12*eaa51f12SBarry Smith<P><HR><P>
13*eaa51f12SBarry Smith<center> The current version of <b>PETSc</b> is 2.0.17; released April 5, 1997.</center>
14*eaa51f12SBarry Smith<P><HR><P>
15*eaa51f12SBarry SmithRecent paper on the PETSc parallel design:
16*eaa51f12SBarry Smith<A HREF="ftp://info.mcs.anl.gov/pub/petsc/scitools96.ps.gz">Efficient
17*eaa51f12SBarry Smith     Management of Parallelism in Object-Oriented Numerical Software Libraries</A>.
18*eaa51f12SBarry Smith     To appear in <b>Modern Software Tools in Scientific Computing</b>, E. Arge,
19*eaa51f12SBarry Smith             A. M. Bruaset and H. P. Langtangen, Ed., Birkhauser Press, 1997.
20*eaa51f12SBarry Smith<P>
21*eaa51f12SBarry SmithUnofficial PETSc benchmarks: Single processor floating point performance of the PETSc
22*eaa51f12SBarry Smithsparse <A HREF="ftp://info.mcs.anl.gov/pub/petsc/matmultbench.ps">matrix vector product</A>
23*eaa51f12SBarry Smithand <A HREF="ftp://info.mcs.anl.gov/pub/petsc/solvebench.ps">linear system solve</A>
24*eaa51f12SBarry Smith(with GMRES and preconditioner ILU(0)) for a 1503 by 1503 sparse matrix with a block
25*eaa51f12SBarry Smithsize of three, using the SeqBAIJ matrix data structure. These tests were run using
26*eaa51f12SBarry Smiththe SLES example src/sles/examples/tutorials/ex10.c.
27*eaa51f12SBarry Smith<P><HR><P>
28*eaa51f12SBarry Smith<H3>
29*eaa51f12SBarry Smith<MENU>
30*eaa51f12SBarry Smith<LI> <a href="petsc.html#Overview"> Overview </a>
31*eaa51f12SBarry Smith<LI> <a href="petsc.html#Features"> Features of PETSc 2.0 </a>
32*eaa51f12SBarry Smith<LI> <a href="petsc.html#Documentation"> Documentation including Online Man Pages </a>
33*eaa51f12SBarry Smith<LI> <a href="petsc.html#Installation"> Obtaining and Installing PETSc </a>
34*eaa51f12SBarry Smith<LI> <a href="petsc.html#PETScView"> PETScView - Visualization  of PETSc Programs </a>
35*eaa51f12SBarry Smith<LI> <a href="petsc.html#PETScTeam"> The PETSc Team </a>
36*eaa51f12SBarry Smith<LI> <a href="petsc.html#MailingList"> PETSc Users Mailing List </a>
37*eaa51f12SBarry Smith<LI> <a href="petsc.html#BugReports"> Support and Submitting Bug Reports </a>
38*eaa51f12SBarry Smith<LI> <a href="petsc.html#Design"> Design of PETSc: Talks and Papers </a>
39*eaa51f12SBarry Smith<LI> <a href="petsc.html#Tutorials"> Online Tutorials </a>
40*eaa51f12SBarry Smith<LI> <a href="petsc.html#Applications"> Computational Science Applications using PETSc </a>
41*eaa51f12SBarry Smith</MENU>
42*eaa51f12SBarry Smith</H3>
43*eaa51f12SBarry Smith<P><HR><P>
44*eaa51f12SBarry Smith
45*eaa51f12SBarry Smith<A NAME="Overview"> <H1 align=center>Overview</H1> </A>
46*eaa51f12SBarry Smith
47*eaa51f12SBarry Smith  <b>PETSc, the Portable, Extensible Toolkit for Scientific Computation</b>
48*eaa51f12SBarry Smith  is a suite of data structures and routines for the
49*eaa51f12SBarry Smith  uni- and parallel-processor solution of large-scale scientific
50*eaa51f12SBarry Smith  application problems  modeled by partial differential equations.
51*eaa51f12SBarry Smith
52*eaa51f12SBarry Smith  <p>
53*eaa51f12SBarry Smith  <b>PETSc 2.0</b> is fully usable from Fortran, C/C++, and runs on most
54*eaa51f12SBarry Smith  <A HREF="ftp://info.mcs.anl.gov/pub/petsc/Machines">machines</A>, now
55*eaa51f12SBarry Smith  including Windows NT/95.
56*eaa51f12SBarry Smith
57*eaa51f12SBarry Smith  <p>
58*eaa51f12SBarry Smith <center>
59*eaa51f12SBarry Smith <IMG SRC="petscwww.gif"><br>
60*eaa51f12SBarry Smith</center>
61*eaa51f12SBarry Smith<P><HR><P>
62*eaa51f12SBarry Smith<A NAME="Features"> <H1 align=center>Features of <b>PETSc</b> 2.0</H1> </A>
63*eaa51f12SBarry Smith
64*eaa51f12SBarry Smith  <MENU>
65*eaa51f12SBarry Smith  <LI> Parallel vectors.
66*eaa51f12SBarry Smith  <LI> Parallel scatters and gathers.
67*eaa51f12SBarry Smith  <LI> Parallel matrices, including several sparse matrix storage formats.
68*eaa51f12SBarry Smith  <LI> Easy, efficient parallel matrix assembly.
69*eaa51f12SBarry Smith  <LI> Sequential sparse matrix direct solvers.
70*eaa51f12SBarry Smith  <LI> Scalable parallel preconditioners and Krylov subspace methods, including
71*eaa51f12SBarry Smith       ICC, ILU, block Jacobi, overlapping Schwarz, CG, GMRES, Bi-CG-stab.
72*eaa51f12SBarry Smith  <LI> Scalable parallel nonlinear equation solvers, including line search
73*eaa51f12SBarry Smith       and trust region Newton methods.
74*eaa51f12SBarry Smith  <LI> Scalable parallel unconstratined minimization solvers, including line search
75*eaa51f12SBarry Smith       and trust region Newton methods.
76*eaa51f12SBarry Smith  <LI> Simple parallel ODE solvers for application of the method of
77*eaa51f12SBarry Smith       lines to large scale nonlinear (or linear) time-dependent PDEs.
78*eaa51f12SBarry Smith  <LI> Distributed arrays.
79*eaa51f12SBarry Smith  <LI> Automatic profiling of floating point and memory usage.
80*eaa51f12SBarry Smith  <LI> Consistent interface for all solvers and data structures.
81*eaa51f12SBarry Smith  <LI> Complete documentation including users manual and man pages.
82*eaa51f12SBarry Smith  <LI> Intensive error checking.
83*eaa51f12SBarry Smith  <LI> Portable to all reasonable UNIX systems and Windows NT/95.
84*eaa51f12SBarry Smith  <LI> <b>PETSc</b> is <a href="petsc.html#BugReports">supported</a> and will
85*eaa51f12SBarry Smith       be actively enhanced for the next several years.
86*eaa51f12SBarry Smith  </MENU>
87*eaa51f12SBarry Smith
88*eaa51f12SBarry Smith<a href="http://www.mcs.anl.gov/petsc/petsc-components.html">More details on some of the
89*eaa51f12SBarry Smithimportant PETSc components</a>
90*eaa51f12SBarry Smith
91*eaa51f12SBarry Smith<P><HR><P>
92*eaa51f12SBarry Smith<A NAME="Documentation"><H1 align=center>PETSc Documentation</H1></A>
93*eaa51f12SBarry Smith
94*eaa51f12SBarry Smith<b>PETSc</b>
95*eaa51f12SBarry Smithis a sophisticated package; as such, fully understanding its
96*eaa51f12SBarry Smithits usage and design requires some time.  However, application programmers
97*eaa51f12SBarry Smithcan easily begin to use <b>PETSc</b> from a high level, and then
98*eaa51f12SBarry Smithgradually learn more details about various facets of the software
99*eaa51f12SBarry Smithaccording to their needs. To ease this transition, PETSc is fully
100*eaa51f12SBarry Smithdocumented, including a users manual and complete manual pages for
101*eaa51f12SBarry Smithevery function. There are over 100 examples demonstrating software
102*eaa51f12SBarry Smithuse for a variety of problem classes.
103*eaa51f12SBarry SmithUsers should
104*eaa51f12SBarry Smithread the users manual before attempting to do any serious coding with
105*eaa51f12SBarry Smith<b>PETSc</b>!
106*eaa51f12SBarry Smith
107*eaa51f12SBarry Smith<p>
108*eaa51f12SBarry Smith<b>PETSc</b> is not for everyone; if your problem can be coded
109*eaa51f12SBarry Smithefficiently and relatively easily with, for example, Matlab, then you
110*eaa51f12SBarry Smithshould use Matlab. If you have little experience with programming on
111*eaa51f12SBarry Smitha Unix machine, then it may require some time to get up to snuff using
112*eaa51f12SBarry Smith<b>PETSc</b>, since it employs many advanced features of Unix utilities
113*eaa51f12SBarry Smith(e.g., make). <b>PETSc</b> is intended to make the development of large-scale
114*eaa51f12SBarry Smithcodes tractable; thus, our design emphasis has been on
115*eaa51f12SBarry Smithfeatures required in large projects, not on making it trivial to run
116*eaa51f12SBarry Smithsimple problems.
117*eaa51f12SBarry Smith
118*eaa51f12SBarry Smith  <p>
119*eaa51f12SBarry Smith  One page  <A HREF="onepager.html"> summary of <b>PETSc</b></A>, also in
120*eaa51f12SBarry Smith  <A HREF="ftp://info.mcs.anl.gov/pub/petsc/onepager.ps"> PostScript.</A>
121*eaa51f12SBarry Smith  <p>
122*eaa51f12SBarry Smith
123*eaa51f12SBarry Smith  <MENU>
124*eaa51f12SBarry Smith  <LI> <A HREF="manual.html"> PETSc Users Manual (in HTML) </A>
125*eaa51f12SBarry Smith  <LI> <A HREF="www/www.html">PETSc Man Pages (in HTML)</A>
126*eaa51f12SBarry Smith  </MENU>
127*eaa51f12SBarry Smith
128*eaa51f12SBarry Smith  <MENU>
129*eaa51f12SBarry Smith  <LI> <A HREF="ftp://info.mcs.anl.gov/pub/petsc/intro.ps">Introduction to PETSc
130*eaa51f12SBarry Smith     (in Postscript)</A> - Part I of the Users Manual
131*eaa51f12SBarry Smith  <LI> <A HREF="ftp://info.mcs.anl.gov/pub/petsc/manual.ps">Users Manual (in Postscript)</A>
132*eaa51f12SBarry Smith  </MENU>
133*eaa51f12SBarry Smith
134*eaa51f12SBarry Smith<P><HR><P>
135*eaa51f12SBarry Smith<A NAME="Installation"><H1 align=center>Obtaining and Installing PETSc</H1></A>
136*eaa51f12SBarry Smith  <b>PETSc</b> is available by anonymous ftp from
137*eaa51f12SBarry Smith  <A HREF="ftp://info.mcs.anl.gov">info.mcs.anl.gov</A> in
138*eaa51f12SBarry Smith  <A HREF="ftp://info.mcs.anl.gov/pub/petsc">pub/petsc</A>
139*eaa51f12SBarry Smith  as <A HREF="ftp://info.mcs.anl.gov/pub/petsc/petsc.tar.Z">petsc.tar.Z</A>
140*eaa51f12SBarry Smith  or <A HREF="ftp://info.mcs.anl.gov/pub/petsc/petsc.tar.gz">petsc.tar.gz</A>
141*eaa51f12SBarry Smith  and the  bugfixes are in
142*eaa51f12SBarry Smith  <A HREF="http://www.mcs.anl.gov/petsc/petsc-patches.html"><b>BUGLIST</b></A>
143*eaa51f12SBarry Smith<P>
144*eaa51f12SBarry Smith  For Windows NT and Windows 95 using the Microsoft Developers Studio (Visual C++)
145*eaa51f12SBarry Smithretrieve <A HREF="ftp://info.mcs.anl.gov/pub/petsc/petsc.zip">petsc.zip</A>
146*eaa51f12SBarry Smith
147*eaa51f12SBarry Smith  <MENU>
148*eaa51f12SBarry Smith  <LI> <A HREF="ftp://info.mcs.anl.gov/pub/petsc/Installation">
149*eaa51f12SBarry Smith       Instructions for installing <b>PETSc</b></A>
150*eaa51f12SBarry Smith  <LI> <A HREF="ftp://info.mcs.anl.gov/pub/petsc/Machines">
151*eaa51f12SBarry Smith       Details of the machines we currently support</A>
152*eaa51f12SBarry Smith  <LI> <A HREF="ftp://info.mcs.anl.gov/pub/petsc/Changes">
153*eaa51f12SBarry Smith       Changes and new features in recent versions of <b>PETSc</b></A>
154*eaa51f12SBarry Smith  <LI> <A HREF="ftp://info.mcs.anl.gov/pub/petsc/Troubleshooting">
155*eaa51f12SBarry Smith       Trouble shooting guide for <b>PETSc</b></A>
156*eaa51f12SBarry Smith  <LI> <A HREF="ftp://info.mcs.anl.gov/pub/petsc/Performance">
157*eaa51f12SBarry Smith       Performance enhancement tips for <b>PETSc</b> programs</A>
158*eaa51f12SBarry Smith  <LI> <A HREF="ftp://info.mcs.anl.gov/pub/petsc/CodeManagement">
159*eaa51f12SBarry Smith       Suggestions for managing <b>PETSc</b> application codes</A>
160*eaa51f12SBarry Smith  <LI> <A HREF="ftp://info.mcs.anl.gov/pub/petsc/FAQ">The <b>PETSc</b> FAQ</A>
161*eaa51f12SBarry Smith  <LI> <A HREF="ftp://info.mcs.anl.gov/pub/petsc/README">FTP README file</A>
162*eaa51f12SBarry Smith  </MENU>
163*eaa51f12SBarry Smith
164*eaa51f12SBarry Smith  <p>
165*eaa51f12SBarry Smith   Before installing <b>PETSc</b>, the following software packages must
166*eaa51f12SBarry Smith   be installed on your machine. Many systems will already have them
167*eaa51f12SBarry Smith   installed; speak to your system administrator.
168*eaa51f12SBarry Smith
169*eaa51f12SBarry Smith  <MENU>
170*eaa51f12SBarry Smith  <LI> BLAS and LAPACK in
171*eaa51f12SBarry Smith       <A HREF="ftp://info.mcs.anl.gov/pub/petsc/blas_lapack.tar.Z">
172*eaa51f12SBarry Smith       blas_lapack.tar.Z</A> or
173*eaa51f12SBarry Smith       <A HREF="ftp://info.mcs.anl.gov/pub/petsc/blas_lapack.tar.gz">
174*eaa51f12SBarry Smith       in blas_lapack.tar.gz</A>.
175*eaa51f12SBarry Smith  <LI> An implementation of <A HREF="http://www.mcs.anl.gov/mpi/index.html">MPI</A>;
176*eaa51f12SBarry Smith       we recommend <A HREF="ftp://info.mcs.anl.gov/pub/mpi/mpich.tar.Z">MPICH</A>
177*eaa51f12SBarry Smith       <A HREF="http://www.mcs.anl.gov/home/lusk/mpich/index.html">(more info)</A>.
178*eaa51f12SBarry Smith  <LI> <A HREF="ftp://info.mcs.anl.gov/pub/BlockSolve95/BlockSolve95.tar.Z">
179*eaa51f12SBarry Smith       BlockSolve95 </A> (optional) - parallel ICC(0) and ILU(0)
180*eaa51f12SBarry Smith       <A HREF="http://www.mcs.anl.gov/blocksolve95/index.html">(more info)</A>.
181*eaa51f12SBarry Smith
182*eaa51f12SBarry Smith  </MENU>
183*eaa51f12SBarry Smith
184*eaa51f12SBarry Smith  If you are ONLY planning to use <b>PETSc</b> as a sequential library, you do
185*eaa51f12SBarry Smith  NOT have to install MPI before installing <b>PETSc</b>. See the file
186*eaa51f12SBarry Smith  <A HREF="ftp://info.mcs.anl.gov/pub/petsc/Installation">Installation</A>
187*eaa51f12SBarry Smith  (also available in the main directory of the <b>PETSc</b> distribution) for
188*eaa51f12SBarry Smith  details on installing <b>PETSc</b> without MPI.
189*eaa51f12SBarry Smith  <p>
190*eaa51f12SBarry Smith
191*eaa51f12SBarry Smith  Once you have untarred the <b>PETSc</b> directory, but before installing,
192*eaa51f12SBarry Smith  check the
193*eaa51f12SBarry Smith  <A HREF="http://www.mcs.anl.gov/petsc/petsc-patches.html"><b>BUGLIST</b></A>
194*eaa51f12SBarry Smith  for patches/fixes you may need to make.
195*eaa51f12SBarry Smith
196*eaa51f12SBarry Smith  <p>
197*eaa51f12SBarry Smith  You can also browse all of the
198*eaa51f12SBarry Smith  <A HREF="ftp://info.mcs.anl.gov/pub/petsc/petsc">
199*eaa51f12SBarry Smith  <b>PETSc</b> source code</A> without retrieving it.
200*eaa51f12SBarry Smith  Since we use wide source (100 characters per line), you probably will want to
201*eaa51f12SBarry Smith  widen your browser window accordingly.
202*eaa51f12SBarry Smith
203*eaa51f12SBarry Smith<P><HR><P>
204*eaa51f12SBarry Smith<A NAME="PETScView"> <H1 align=center>PETScView</H1> </A>
205*eaa51f12SBarry Smith  <b>PETSc</b> comes with high level tools for profiling and visualizing
206*eaa51f12SBarry Smith  <b>PETSc</b> programs. A short
207*eaa51f12SBarry Smith  <A HREF="ftp://info.mcs.anl.gov/pub/petsc/petscview.ps.gz">description</A>
208*eaa51f12SBarry Smith  of PETScView and
209*eaa51f12SBarry Smith  <A HREF="ftp://info.mcs.anl.gov/pub/petsc/petscview2.ps.gz">example output</A>
210*eaa51f12SBarry Smith  are available in PostScript.
211*eaa51f12SBarry Smith
212*eaa51f12SBarry Smith
213*eaa51f12SBarry Smith<P><HR><P>
214*eaa51f12SBarry Smith<A NAME="PETScTeam"> <H1 align=center>The PETSc Team</H1> </A>
215*eaa51f12SBarry Smith
216*eaa51f12SBarry Smith  <H3 align=center> <a href="http://www.mcs.anl.gov/home/balay"> Satish Balay</a><Br>
217*eaa51f12SBarry Smith  <a href="http://www.mcs.anl.gov/home/gropp"> William Gropp</a><Br>
218*eaa51f12SBarry Smith  <a href="http://www.mcs.anl.gov/home/curfman"> Lois Curfman McInnes</a><Br>
219*eaa51f12SBarry Smith  <a href="http://www.mcs.anl.gov/home/bsmith"> Barry Smith</a><P>
220*eaa51f12SBarry Smith
221*eaa51f12SBarry Smith  <a href="http://www.mcs.anl.gov/index.html">
222*eaa51f12SBarry Smith  Mathematics and Computer Science Division</a><Br>
223*eaa51f12SBarry Smith  <a href="http://www.anl.gov/">Argonne National Laboratory</a>.<P></H3>
224*eaa51f12SBarry Smith
225*eaa51f12SBarry Smith
226*eaa51f12SBarry Smith<P><HR><P>
227*eaa51f12SBarry Smith<A NAME="BugReports"> <H1 align=center>PETSc Questions and Bug Reports</H1></A>
228*eaa51f12SBarry Smith
229*eaa51f12SBarry Smith  <p>
230*eaa51f12SBarry Smith  Please send all maintenance requests and questions to the <b>PETSc</b> developers at
231*eaa51f12SBarry Smith  <a href="mailto:petsc-maint@mcs.anl.gov"> petsc-maint@mcs.anl.gov </a>.
232*eaa51f12SBarry Smith  Please do <em>not</em> send maintenance requests
233*eaa51f12SBarry Smith  to the individual <b>PETSc</b> authors; all e-mail to
234*eaa51f12SBarry Smith  <b>petsc-maint@mcs.anl.gov</b> is automatically distributed to all of
235*eaa51f12SBarry Smith  the <b>PETSc</b> authors, so our response time using this address
236*eaa51f12SBarry Smith  will be fastest.
237*eaa51f12SBarry Smith
238*eaa51f12SBarry Smith
239*eaa51f12SBarry Smith<P><HR><P>
240*eaa51f12SBarry Smith<A NAME="MailingList"> <H1 align=center>PETSc Users Mailing List</H1> </A>
241*eaa51f12SBarry Smith
242*eaa51f12SBarry Smith  You can join the <b>PETSc</b> users mailing list by sending email to
243*eaa51f12SBarry Smith  <a href="mailto:majordomo@mcs.anl.gov"> majordomo@mcs.anl.gov </a>
244*eaa51f12SBarry Smith  with the message, "subscribe petsc-users".
245*eaa51f12SBarry Smith  We will update users regarding new releases, changes, etc. through this
246*eaa51f12SBarry Smith  mailing list.
247*eaa51f12SBarry Smith
248*eaa51f12SBarry Smith<P><HR><P>
249*eaa51f12SBarry Smith<A NAME="Design"> <H1 align=center>The PETSc Design: Talks and Papers</H1> </A>
250*eaa51f12SBarry Smith
251*eaa51f12SBarry Smith  <p>
252*eaa51f12SBarry Smith  Several papers describe various facets of our design philosophy:
253*eaa51f12SBarry Smith
254*eaa51f12SBarry Smith  <MENU>
255*eaa51f12SBarry Smith     S. Balay, W. D. Gropp. L. C. McInnes, and B. F. Smith, <A HREF="ftp://info.mcs.anl.gov/pub/petsc/scitools96.ps.gz">Efficient
256*eaa51f12SBarry Smith     Management of Parallelism in Object-Oriented Numerical Software Libraries</A>.
257*eaa51f12SBarry Smith     To appear in <b>Modern Software Tools in Scientific Computing</b>, E. Arge,
258*eaa51f12SBarry Smith             A. M. Bruaset and H. P. Langtangen, Ed., Birkhauser Press, 1997.
259*eaa51f12SBarry Smith  <P>
260*eaa51f12SBarry Smith  L. C. McInnes and B. F. Smith, <b> PETSc 2.0: A case study of using MPI
261*eaa51f12SBarry Smith      to develop numerical software libraries</b>
262*eaa51f12SBarry Smith      <A HREF="http://www.mcs.anl.gov/petsc/mpidev.html">
263*eaa51f12SBarry Smith     [View document in hypertext format]</A>.
264*eaa51f12SBarry Smith     <A HREF="ftp://info.mcs.anl.gov/pub/petsc/mpidev.ps">
265*eaa51f12SBarry Smith     [Get the PostScript version]</A>. This is our contribution to the
266*eaa51f12SBarry Smith     1995 MPI Developers Conference, held at the University of Notre Dame,
267*eaa51f12SBarry Smith     June 22 and 23, 1995.
268*eaa51f12SBarry Smith  <P>
269*eaa51f12SBarry Smith  W. D. Gropp and B. F. Smith, <b> The design of data-structure-neutral
270*eaa51f12SBarry Smith           libraries for the iterative solution of sparse linear
271*eaa51f12SBarry Smith           systems</b>, Scientific Programming, 1996, Vol. 5, pp. 329--336.
272*eaa51f12SBarry Smith  <P>
273*eaa51f12SBarry Smith  W. D. Gropp and B. F. Smith, <b> Scalable, extensible, and portable numerical
274*eaa51f12SBarry Smith           libraries</b>, Proceedings of the Scalable Parallel Libraries
275*eaa51f12SBarry Smith           Conference, IEEE 1994, pp. 87-93.
276*eaa51f12SBarry Smith  <P>
277*eaa51f12SBarry Smith  W. D. Gropp, L. C. McInnes, and B. F. Smith, <b> Scalable libraries for solving
278*eaa51f12SBarry Smith            systems of nonlinear equations and unconstrained minimization
279*eaa51f12SBarry Smith            problems</b>, Proceedings of the Scalable
280*eaa51f12SBarry Smith            Parallel Libraries Conference, IEEE 1995, pp. 60-67.
281*eaa51f12SBarry Smith  <P>
282*eaa51f12SBarry Smith  Abstract discussing <b>PETSc</b> design and use within a reacting flow code
283*eaa51f12SBarry Smith  <A HREF="ftp://info.mcs.anl.gov/pub/petsc/pooma96_abstract.ps">
284*eaa51f12SBarry Smith  in PostScript.</A>
285*eaa51f12SBarry Smith  </MENU>
286*eaa51f12SBarry Smith
287*eaa51f12SBarry Smith  Talks related to <b>PETSc</b>:
288*eaa51f12SBarry Smith  <MENU>
289*eaa51f12SBarry Smith  Slides from 1996 SIAM Annual Meeting mini-symposium on Numerical
290*eaa51f12SBarry Smith  Simulation of Oil and Gas Reservoirs
291*eaa51f12SBarry Smith     <A HREF="ftp://info.mcs.anl.gov/pub/petsc/siam96.ps.gz">
292*eaa51f12SBarry Smith  in PostScript</A>.
293*eaa51f12SBarry Smith  <P>
294*eaa51f12SBarry Smith  Poster from 1996 MPI Developers Meeting
295*eaa51f12SBarry Smith     <A HREF="ftp://info.mcs.anl.gov/pub/petsc/mpi96.ps.gz">
296*eaa51f12SBarry Smith  in PostScript</A>.
297*eaa51f12SBarry Smith  <P>
298*eaa51f12SBarry Smith  Three examples demonstrating the use of <b>PETSc</b> for linear, nonlinear
299*eaa51f12SBarry Smith  and time dependent problems - slides
300*eaa51f12SBarry Smith  <A HREF="ftp://info.mcs.anl.gov/pub/petsc/cts.ps">
301*eaa51f12SBarry Smith  in PostScript.</A>
302*eaa51f12SBarry Smith  <P>
303*eaa51f12SBarry Smith  Workshop on Iterative
304*eaa51f12SBarry Smith  Methods for Large Scale Nonlinear Systems, September 1995,
305*eaa51f12SBarry Smith  Logan, Utah - slides <A HREF="ftp://info.mcs.anl.gov/pub/petsc/utah.ps.gz">
306*eaa51f12SBarry Smith  in PostScript.</A>
307*eaa51f12SBarry Smith  <P>
308*eaa51f12SBarry Smith  OONSCI 96, Workshop on Object Oriented Numerical Software, March 1996.
309*eaa51f12SBarry Smith  Overview of <b>PETSc</b> 2.0 - slides
310*eaa51f12SBarry Smith  <A HREF="ftp://info.mcs.anl.gov/pub/petsc/oonsci96_overview.ps.gz">
311*eaa51f12SBarry Smith  in PostScript.</A>
312*eaa51f12SBarry Smith  <P>
313*eaa51f12SBarry Smith  Discussion of reacting flow application written using <b>PETSc</b> - slides
314*eaa51f12SBarry Smith  <A HREF="ftp://info.mcs.anl.gov/pub/petsc/oonsci96_app.ps.gz">
315*eaa51f12SBarry Smith  in PostScript.</A>
316*eaa51f12SBarry Smith  <P>
317*eaa51f12SBarry Smith  Discussion of implementing multigrid algorithms using <b>PETSc</b> and its
318*eaa51f12SBarry Smith  abstract multigrid concepts.
319*eaa51f12SBarry Smith  <A HREF="ftp://info.mcs.anl.gov/pub/petsc/amg_petsc.ps.gz">Suitable
320*eaa51f12SBarry Smith  for viewing on screen.</A>
321*eaa51f12SBarry Smith  <A HREF="ftp://info.mcs.anl.gov/pub/petsc/amg_petsc4.ps.gz">Suitable
322*eaa51f12SBarry Smith  for printing.</A> Presented at the Ninth GAMM workshop on Parallel
323*eaa51f12SBarry Smith  Multigrid Methods, May 13-17, 1996
324*eaa51f12SBarry Smith  <P>
325*eaa51f12SBarry Smith  Discussion of <b>PETSc</b> 2.0 for applications.
326*eaa51f12SBarry Smith  <A HREF="ftp://info.mcs.anl.gov/pub/petsc/sweden96.ps.gz">Suitable
327*eaa51f12SBarry Smith  for viewing on screen.</A>
328*eaa51f12SBarry Smith  <A HREF="ftp://info.mcs.anl.gov/pub/petsc/sweden964.ps.gz">Suitable
329*eaa51f12SBarry Smith  for printing.</A> Presented in Stockholm, May 30-31, 1996
330*eaa51f12SBarry Smith  <P>
331*eaa51f12SBarry Smith  Slides from 1995 MPI Developers Meeting
332*eaa51f12SBarry Smith     <A HREF="ftp://info.mcs.anl.gov/pub/petsc/mpidev_slides.ps.gz">
333*eaa51f12SBarry Smith  in PostScript</A>.
334*eaa51f12SBarry Smith  </MENU>
335*eaa51f12SBarry Smith
336*eaa51f12SBarry Smith  Designing a scalable and portable numerical library requires
337*eaa51f12SBarry Smith  consideration of many factors, including choice of parallel
338*eaa51f12SBarry Smith  communication technology, data structures, and user interfaces.
339*eaa51f12SBarry Smith  The <b>PETSc</b> package uses modern software technology to provide a
340*eaa51f12SBarry Smith  portable, flexible, and extensible library environment.
341*eaa51f12SBarry Smith  Thus, the package serves a wide range of users with varying
342*eaa51f12SBarry Smith  needs and different levels of experience, including algorithmic
343*eaa51f12SBarry Smith  researchers as well as black-box and high-performance application
344*eaa51f12SBarry Smith  programmers.
345*eaa51f12SBarry Smith
346*eaa51f12SBarry Smith  <p>
347*eaa51f12SBarry Smith  We use an aggressive data-structure-neutral implementation that
348*eaa51f12SBarry Smith  minimizes dependence on particular data structures (even vectors).
349*eaa51f12SBarry Smith  This approach permits separation of the implementation language
350*eaa51f12SBarry Smith  from the user-interface language and enables the library to
351*eaa51f12SBarry Smith  adapt to the user, rather than the other way around.
352*eaa51f12SBarry Smith  Issues of parallelism are separated from the choice of algorithms.
353*eaa51f12SBarry Smith
354*eaa51f12SBarry Smith
355*eaa51f12SBarry Smith<P><HR><P>
356*eaa51f12SBarry Smith<A NAME="Tutorials"><H1 align=center>PETSc Tutorials</H1>
357*eaa51f12SBarry Smith
358*eaa51f12SBarry SmithWe are currently developing an on-line tutorial in conjunction with
359*eaa51f12SBarry Smithour <a href="http://www.mcs.anl.gov/petsc/petsc-byoc.html"> PETSc
360*eaa51f12SBarry SmithBring Your Own Code (BYOC) Workshops</a>.  Stay tuned for further
361*eaa51f12SBarry Smithdetails.
362*eaa51f12SBarry Smith<P>
363*eaa51f12SBarry Smith
364*eaa51f12SBarry SmithLiyang Xu and Tom Robey have developed an on-line <b>PETSc</b> tutorial at the
365*eaa51f12SBarry Smith<A HREF="http://www.arc.unm.edu/workshop/pmatlib/petsctut.html">
366*eaa51f12SBarry SmithUniversity of New Mexico.</A>
367*eaa51f12SBarry Smith<P>
368*eaa51f12SBarry Smith
369*eaa51f12SBarry Smith<P><HR><P>
370*eaa51f12SBarry Smith<A NAME="Applications"><H1 align=center>PETSc Computational Science Applications</H1>
371*eaa51f12SBarry Smith
372*eaa51f12SBarry Smith  Computational science presents a variety of challenges, including the
373*eaa51f12SBarry Smith  coordination of detailed physical models and various algorithmic
374*eaa51f12SBarry Smith  approaches.  The complexity inherent in these applications demands a
375*eaa51f12SBarry Smith  framework such as <b>PETSc</b> that provides broad-based
376*eaa51f12SBarry Smith  infrastructure with provisions for easy customization and extension.
377*eaa51f12SBarry Smith
378*eaa51f12SBarry Smith  By devoting strict attention to component interoperability,
379*eaa51f12SBarry Smith  <b>PETSc</b> enables the integration of independently developed
380*eaa51f12SBarry Smith  application modules, which often most naturally employ different
381*eaa51f12SBarry Smith  coding styles and data structures.  In addition, users can seamlessly
382*eaa51f12SBarry Smith  replace models as well as combine and nest algorithms.
383*eaa51f12SBarry Smith
384*eaa51f12SBarry Smith  <P>
385*eaa51f12SBarry Smith  Several ongoing computational science projects are built around
386*eaa51f12SBarry Smith  the <b>PETSc 2.0</b> framework.  Within each of these projects
387*eaa51f12SBarry Smith  <b>PETSc</b> facilitates the efficient solution of PDEs by
388*eaa51f12SBarry Smith  managing the complexity of evolving data structures and detailed
389*eaa51f12SBarry Smith  simulation models, and by providing access to the latest linear
390*eaa51f12SBarry Smith  algebra solution technology.  These projects include:
391*eaa51f12SBarry Smith
392*eaa51f12SBarry Smith  <MENU>
393*eaa51f12SBarry Smith  <LI> <A HREF="http://www.cs.odu.edu/~keyes/nsf.html">
394*eaa51f12SBarry Smith  <b>Multi-Model Multi-Domain Computational Methods in Aerodynamics and
395*eaa51f12SBarry Smith  Acoustics</b> </A>
396*eaa51f12SBarry Smith
397*eaa51f12SBarry Smith  <P>
398*eaa51f12SBarry Smith  This NSF funded multidisciplinary research project focuses
399*eaa51f12SBarry Smith  on the development of effective multi-domain parallel solutions to
400*eaa51f12SBarry Smith  multi-model coupled field problems.  Here <b>PETSc</b> provides the
401*eaa51f12SBarry Smith  foundation for designing advanced domain decomposition software for
402*eaa51f12SBarry Smith  use within the context of a numerical laboratory for engineering
403*eaa51f12SBarry Smith  analysis.
404*eaa51f12SBarry Smith
405*eaa51f12SBarry Smith  <P>
406*eaa51f12SBarry Smith  <em>PIs - David Keyes, Alex Pothen (Old Dominion University);
407*eaa51f12SBarry Smith  Hafiz Atassi (University of Notre Dame);
408*eaa51f12SBarry Smith  Xiao-Chuan Cai (University of Colorado-Boulder);
409*eaa51f12SBarry Smith  William Gropp, Lois Curfman McInnes, Barry Smith (Argonne National Laboratory);
410*eaa51f12SBarry Smith  Olof Widlund (Courant Institute of Mathematical Sciences, NYU);
411*eaa51f12SBarry Smith  David P. Young (Boeing Computer Services).</em>
412*eaa51f12SBarry Smith
413*eaa51f12SBarry Smith  <P>
414*eaa51f12SBarry Smith  <LI> <A HREF="http://www.mcs.anl.gov/Projects/acti/acti.html">
415*eaa51f12SBarry Smith  <b>Development of a New Generation Framework for Petroleum Reservoir
416*eaa51f12SBarry Smith  Simulation</b> </A>
417*eaa51f12SBarry Smith
418*eaa51f12SBarry Smith  <P>
419*eaa51f12SBarry Smith  The goal of this project, which is an Advanced
420*eaa51f12SBarry Smith  Computational Technology Initiative of DOE, is the design of a
421*eaa51f12SBarry Smith  prototype code supporting complex reservoir description with
422*eaa51f12SBarry Smith  three-dimensional seismic and geostatistical models, irregular
423*eaa51f12SBarry Smith  gridding, and multiple model realizations.  Within this project
424*eaa51f12SBarry Smith  <b>PETSc</b> provides the foundation of linear algebra and nonlinear
425*eaa51f12SBarry Smith  solvers for developing an object oriented framework for general
426*eaa51f12SBarry Smith  purpose parallel reservoir simulation.
427*eaa51f12SBarry Smith
428*eaa51f12SBarry Smith  <P>
429*eaa51f12SBarry Smith  <em> PIs - William Gropp, Tom Morgan, Barry
430*eaa51f12SBarry Smith  Smith (Argonne National Laboratory); Mary Wheeler, Gary Pope, Kamy
431*eaa51f12SBarry Smith  Sepehrnoori, Todd Arbogast, Clint Dawson, Daene McKinney, Larry Lake
432*eaa51f12SBarry Smith  (University of Texas at Austin).</em>
433*eaa51f12SBarry Smith  </MENU>
434*eaa51f12SBarry Smith
435*eaa51f12SBarry Smith  <P><HR><P>
436*eaa51f12SBarry Smith  The documentation for <b>PETSc</b> was created using the
437*eaa51f12SBarry Smith  <b>doctext</b> and <b>tohtml</b> text processing packages
438*eaa51f12SBarry Smith  written by William Gropp. More information regarding this software
439*eaa51f12SBarry Smith  may be obtained from
440*eaa51f12SBarry Smith  <a href="http://www.mcs.anl.gov/home/gropp">gropp@mcs.anl.gov</a><Br>
441*eaa51f12SBarry Smith
442*eaa51f12SBarry Smith</BODY>
443*eaa51f12SBarry Smith</HTML>