Introduction to High-Performance Scientific Computing

I have written a textbook with both theory and practical tutorials in the theory and practice of high performance computing. This book is released under a CC-BY license, thanks to a gift from the Saylor Foundation.

Printed copies are for sale from

The source and pdf of the book (as well as lecture slides) can be found in this repository:


(I’m also starting to write a book about parallel programming)

(And now I'm also working on a C++/Fortran2008 book)

Table of contents:

  • Single processor computer architecture
  • Parallel computer architecture
  • Computer arithmetic
  • Numerical treatment of differential equations
  • Numerical linear algebra
  • High performance linear algebra
  • Combinatorics
  • Tutorials on LaTeX, Unix, Compilers, Make, Source code control

Experimental html version. Parallel programming book html version.

Kudos for the book: “this is a monumental achievement” [Cray Inc], “This is an excellent, expertly crafted, highly readable book that is the best snapshot of the state of HPC that I have seen in many years.” [Intel Corp], “comprehensive overview of high performance computing that excellently balances theory and application” [Simulation Consultant]. "superb, a bible for sci.computing" [University of Tennessee]

This book was originally designed for the SSC 335/394 “Introduction to Scientific and Technical Computing” course at UT. Right now it is listed as textbook or recommended reading by the following:
Pasted Graphic

  • Michigan State University CMSE 822: Parallel Computing (primary course material)
  • University of Maryland, AMSC/CMSC 662 (official textbook)
  • Pontificia Universidad Catolica de Chile, IMT2112 (textbook)
  • University of Liege, INFO 0939 (official textbook)
  • University of New Mexica, Math/CS 471 (textbook)
  • San Diego State University, COMP 696 (primary textbook)
  • UC Boulder APPM 4720/5720 (textbook)
  • University of Texas at El Paso, CPS 5401 (textbook)
  • NYU school of medicine, HPC in biomedical (required reading)
  • Los Alamos, Information Science and Technology Institute (recommended reading)
  • Brigham Young University IT 515R Scientific Computing
  • Gordon College, CPS371
  • University of Bath, CM30225
  • Illinois Institute of Technology, CS595
  • ETH / Swiss National Supercomputer Center
  • University of Notre Dame, ACMS60212/40212
  • Technische Universitat Munchen, Informatics V
  • University of Tennessee, Knoxville: CS 594-4, M578
  • Computation Institute, University of Chicago
  • Purdue University, CS 50100
  • University of New South Wales, Math3101/Math5305
  • University of Connecticut, Physics 2200
  • University of Tartu, Scientific Computing MTAT.08.010
  • Weierstrass Institute for Applied Analysis and Stochastics Berlin, Scientific Computing course
  • University of Pittsburgh, math 1070/1080
  • University of British Columbia, COSC 407
  • Georgia Tech, CSE 8803HNC
  • Sabanci Universitesi, CS 531

(image: Victor teaching a short course at Shanghai Jiao Tong University. If you want Victor to teach at your institution, contact him by the link below.)

Title = {Introduction to High Performance Scientific Computing},
Author = {{Victor Eijkhout with Robert van de Geijn and Edmond Chow}},
Publisher = {},
Year = {2011},
Note = {\url{}},
Abstract = {\url{}, also downloadable from \url{}},
ISBN = {978-1-257-99254-6},

Permalink to this page