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