000 02633cam a22003015i 4500
020 _a9783319988337
082 0 4 _a005.11
_bTRO.I
100 1 _aTrobec, Roman.
245 1 0 _aIntroduction to Parallel Computing :
_bFrom Algorithms to Programming on State-of-the-Art Platforms /
_cby Roman Trobec, Boštjan Slivnik, Patricio Bulić, Borut Robič.
250 _a1st ed. 2018.
260 _aSWITZERLAND:
_bSPRINGER,
_c2018
300 _a1 online resource (XII, 256 pages 86 illustrations, 7 illustrations in color.)
490 1 _aUndergraduate Topics in Computer Science,
505 0 _aPart I: Foundations -- Why Do We Need Parallel Programming -- Overview of Parallel Systems -- Part II: Programming -- Programming Multi-Core and Shared Memory Multiprocessors Using OpenMP -- MPI Processes and Messaging -- OpenCL for Massively Parallel Graphic Processors -- Part III: Engineering -- Engineering: Parallel Computation of the Number pi -- Engineering: Parallel Solution of 1-D Heat Equation -- Engineering: Parallel Implementation of Seam Carving -- Final Remarks and Perspectives -- Appendix A: Hints for Making Your Computer a Parallel Machine.
520 _aAdvancements in microprocessor architecture, interconnection technology, and software development have fueled rapid growth in parallel and distributed computing. However, this development is only of practical benefit if it is accompanied by progress in the design, analysis and programming of parallel algorithms. This concise textbook provides, in one place, three mainstream parallelization approaches, Open MPP, MPI and OpenCL, for multicore computers, interconnected computers and graphical processing units. An overview of practical parallel computing and principles will enable the reader to design efficient parallel programs for solving various computational problems on state-of-the-art personal computers and computing clusters. Topics covered range from parallel algorithms, programming tools, OpenMP, MPI and OpenCL, followed by experimental measurements of parallel programs' run-times, and by engineering analysis of obtained results for improved parallel execution performances. Many examples and exercises support the exposition.
650 0 _aComputer programming.
650 0 _aMicroprocessors.
650 0 _aMicroprogramming.
650 0 _aNumerical analysis.
650 1 4 _aProgramming Techniques.
650 2 4 _aControl Structures and Microprogramming.
650 2 4 _aNumeric Computing.
650 2 4 _aProcessor Architectures.
700 1 _aBulić, Patricio.
700 1 _aRobič, Borut.
700 1 _aSlivnik, Boštjan.
942 _cBK
999 _c224380
_d224380