LEADER 00000cam 2200661Ii 4500 001 on1091191898 003 OCoLC 005 20200419054940.7 006 m o d | 007 cr ||||||||||| 008 190402s2017 maua ob 001 0 eng 010 2016043792 019 1115123088|a1125749979 020 |z9780262036290|q(hardcover ;|qalkaline paper) 020 |z0262036290|q(hardcover ;|qalkaline paper) 035 (OCoLC)1091191898|z(OCoLC)1115123088|z(OCoLC)1125749979 040 INA|beng|erda|epn|cINA|dOAPEN|dC6I|dVT2 049 STJJ 050 00 QA76.6|b.V573 2017 080 004.2+004.42|bV57 082 04 005.1|223 100 1 Viswanath, Divakar. 245 10 Scientific programming and computer architecture / |cDivakar Viswanath. 264 1 Cambridge, Massachusetts :|bThe MIT Press,|c[2017] 264 4 |c©2017 300 1 online resource (xxi, 598 pages) :|billustrations. 336 text|btxt|2rdacontent 337 computer|bc|2rdamedia 338 online resource|bcr|2rdacarrier 490 1 Scientific and engineering computation 504 Includes bibliographical references and index. 505 00 |tPreface --|tC/C++: Review --|tC/C++: Libraries and Makefiles --|tThe Processor --|tMemory --|tThreads and Shared Memory --|tSpecial Topic: Networks and Message Passing --|tSpecial Topic: The Xeon Phi Coprocessor -- |tSpecial Topic: Graphics Coprocessor Programming Using CUDA --|tMachines Used, Plotting, Python, GIT, Cscope, and gcc. 520 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. -- Provided by publisher. 588 0 Print version record. 590 MIT Press|bDTL OA MIT Titles 650 0 Computer programming. 650 0 Computer architecture. 650 0 Software engineering. 650 0 C (Computer program language) 650 7 Mobile & handheld device programming / Apps programming. |2bicssc 650 7 Computer science.|2bicssc 650 7 Information architecture.|2bicssc 650 7 COMPUTERS|xComputer Architecture.|2bisacsh 650 7 C (Computer program language)|2fast|0(OCoLC)fst00843279 650 7 Computer architecture.|2fast|0(OCoLC)fst00872026 650 7 Computer programming.|2fast|0(OCoLC)fst00872390 650 7 Software engineering.|2fast|0(OCoLC)fst01124185 650 7 Wissenschaftliches Rechnen.|2gnd 650 7 Computerarchitektur.|2gnd 650 7 C|gProgrammiersprache.|2gnd 650 7 Software Engineering.|2gnd 655 0 Electronic books. 776 08 |iPrint version:|aViswanath, Divakar.|tScientific programming and computer architecture.|dCambridge, Massachusetts : The MIT Press, [2017]|z0262036290 |z9780262036290|w(DLC) 2016043792|w(OCoLC)967774923 830 0 Scientific and engineering computation. 914 on1091191898 994 92|bSTJ
|