# 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.

**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 Universit*y 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