Scientific Programming and Computer Architecture.pdf

A variety of programming models relevant to scientists explained, with an emphasis on how programming constructs map to parts of the computer.What makes computer programs fast or slow? To answer this question, we have to get behind the abstractions of programming languages and look at how a computer...

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Γλώσσα:English
Έκδοση: The MIT Press 2019
id oapen-20.500.12657-26041
record_format dspace
spelling oapen-20.500.12657-260412021-11-10T08:08:28Z Scientific Programming and Computer Architecture Viswanath, Divakar C C++ programming languages processor memory network high performance computing computer science engineering super computing bic Book Industry Communication::U Computing & information technology::UM Computer programming / software development::UMS Mobile & handheld device programming / Apps programming bic Book Industry Communication::U Computing & information technology::UY Computer science bic Book Industry Communication::U Computing & information technology::UY Computer science::UYZ Human-computer interaction::UYZM Information architecture A variety of programming models relevant to scientists explained, with an emphasis on how programming constructs map to parts of the computer.What makes computer programs fast or slow? To answer this question, we have to get behind the abstractions of programming 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. Throughout this book, the premise is to "get under the hood," and the discussion is tied to specific programs. 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 users to peer into its inner workings. A brief appendix provides a useful table of machines used to time programs. The book's website (https://github.com/divakarvi/bk-spca) has all the programs described in the book as well as a link to the html text. 2019-01-17 23:55 2018-12-01 23:55:55 2019-01-20 23:47:11 2020-04-01T10:58:00Z 2020-04-01T10:58:00Z 2017 book 1004044 OCN: 1091191898 9780262036290 http://library.oapen.org/handle/20.500.12657/26041 eng Scientific and Engineering Computation application/pdf n/a Scientific Programming and Computer Architecture.pdf The MIT Press f49dea23-efb1-407d-8ac0-6ed2b5cb4b74 9780262036290 624 Cambridge open access
institution OAPEN
collection DSpace
language English
description A variety of programming models relevant to scientists explained, with an emphasis on how programming constructs map to parts of the computer.What makes computer programs fast or slow? To answer this question, we have to get behind the abstractions of programming 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. Throughout this book, the premise is to "get under the hood," and the discussion is tied to specific programs. 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 users to peer into its inner workings. A brief appendix provides a useful table of machines used to time programs. The book's website (https://github.com/divakarvi/bk-spca) has all the programs described in the book as well as a link to the html text.
title Scientific Programming and Computer Architecture.pdf
spellingShingle Scientific Programming and Computer Architecture.pdf
title_short Scientific Programming and Computer Architecture.pdf
title_full Scientific Programming and Computer Architecture.pdf
title_fullStr Scientific Programming and Computer Architecture.pdf
title_full_unstemmed Scientific Programming and Computer Architecture.pdf
title_sort scientific programming and computer architecture.pdf
publisher The MIT Press
publishDate 2019
_version_ 1771297558735355904