Scientific Programming and Computer Architecture

Book
No Media

This item doesn’t have any media yet

Scientific Programming and Computer Architecture

2017 | Computing & IT

What makes computer programs fast or slow? To answer this question, we have to go behind the abstractions of programing languages and look at how a computer really works. This book examines and explains a variety of scientific programming models (programming models relevant to scientists) with an emphasis on how programming constructs map to different parts of the computer's architecture. Two themes emerge: program speed and program modularity. Most books on computer programming are written at the same level of abstraction as the programming language they utilize or explain. This book starts from the premise that we have to "get under the hood." The approach begins with with specific programs and moves up to general principles gradually. The book digs into linkers, compilers, operating systems, and computer architecture to understand how the different parts of the computer interact with programs. It begins with a review of C/C++ and explanations of how libraries, linkers, and Makefiles work. Programming models covered include Pthreads, OpenMP, MPI, TCP/IP, and CUDA.

The emphasis on how computers work leads the reader into computer architecture and occasionally into the operating system kernel. The operating system studied is Linux, the preferred platform for scientific computing. Linux is also open source, which allows readers to peer into its inner workings. A brief appendix provides a useful table of machines used to time programs. The website github.com/divakarvi/bk-spca has all the programs described in the book as well as a link to the html text.



Published by MIT Press Ltd

Edition Unknown
ISBN 9780262036290
Language N/A

Images And Data Courtesy Of: MIT Press Ltd.
This content (including text, images, videos and other media) is published and used in accordance with Fair Use.