Articles about PETSc Design

Many articles have been written about the design of PETSc. We mention an incomplete selection which may be of interest to developers.

You may also be interested in publications using PETSc.

Higher-level views of PETSc can be found in [ref-Smi11], [ref-BGMS02], [ref-GS94], [ref-BGMS98], and [ref-BGMS97].



Satish Balay, William D. Gropp, Lois Curfman McInnes, and Barry F. Smith. Efficient management of parallelism in object oriented numerical software libraries. In E. Arge, A. M. Bruaset, and H. P. Langtangen, editors, Modern Software Tools in Scientific Computing, 163–202. Birkhäuser Press, 1997.


S. Balay, W. D. Gropp, L. C. McInnes, and B. F. Smith. CRPC Handbook of Parallel Computing, chapter Software for the Scalable Solution of PDEs. Morgan Kaufmann Publishers, 2002. URL:


Satish Balay, William D. Gropp, Lois Curfman McInnes, and Barry F. Smith. A microkernel design for component-based parallel numerical software systems. In Proceedings of the SIAM Workshop on Object Oriented Methods for Inter-operable Scientific and Engineering Computing, 58–67. SIAM, 1998. URL:


William D. Gropp and Barry F. Smith. Scalable, extensible, and portable numerical libraries. In Proceedings of the Scalable Parallel Libraries Conference, 87–93. Mississippi State University, 1994. IEEE.


B. Smith. Encyclopedia of Parallel Computing, chapter PETSc, the Portable, Extensible Toolkit for Scientific computing. Springer, 2011.