Volume 1

The Science of Computing

(formerly: Introduction to High-Performance Scientific Computing)

This volume contains general theory of scientific computing. It takes a holistic approach to scientific computing: assuming that the reader is an application scientist, this book instills the knowledge necessary to bridge the gap between science and efficient computations.

Part 1 covers theoretical topics: Architecture of a single computer and parallel, Computer arithmetic, Numerical linear algebra, Ordinary and partial different equations, and finally bringing all these topics together in the Computational analysis of a number of algorithms.

Part 2 covers some applications such as molecular dynamics, sorting, graph analysis.

Part 3 has tutorial appendices, introducing the basic concepts of graph theory, linear algebra, partial differential equations and such.


Textbook, lectures slides, and repository of book and program sources

Kudos for Intro to HPSC

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] “A life saver” [more than one student or instructor]

This book was originally designed for the SSC 335/394 “Introduction to Scientific and Technical Computing” course at UT. It is listed as primary textbook by the 10 following courses:

Michigan State University CMSE 822: Parallel Computing (primary course material), University of Maryland, AMSC/CMSC 662 (official textbook), University of Utah, CS6230 Parallel Computing and HPC for Scientific Computing and Data Science (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),

Additionally, it is recommended or supplementary reading at the following 20 courses:

Los Alamos, Information Science and Technology Institute, 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 Duisburg Essen, HPC 2014/2015, 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, University of Bath, CM30225 Parallel Computing Harvard CS 205


Lorem ipsum dolor sit amet consectetur adipisicing elit. Possimus dolorem eius eligendi esse quod?