Introduction to Parallel Computing From Algorithms to Programming on State-of-the-Art Platforms

Advancements 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 paralle...

Full description

Bibliographic Details
Main Authors: Trobec, Roman, Slivnik, Boštjan (Author), Bulić, Patricio (Author), Robič, Borut (Author)
Format: eBook
Language:English
Published: Cham Springer International Publishing 2018, 2018
Edition:1st ed. 2018
Series:Undergraduate Topics in Computer Science
Subjects:
Online Access:
Collection: Springer eBooks 2005- - Collection details see MPG.ReNa
LEADER 02959nmm a2200373 u 4500
001 EB001848262
003 EBX01000000000000001012566
005 00000000000000.0
007 cr|||||||||||||||||||||
008 181001 ||| eng
020 |a 9783319988337 
100 1 |a Trobec, Roman 
245 0 0 |a Introduction to Parallel Computing  |h Elektronische Ressource  |b From Algorithms to Programming on State-of-the-Art Platforms  |c by Roman Trobec, Boštjan Slivnik, Patricio Bulić, Borut Robič 
250 |a 1st ed. 2018 
260 |a Cham  |b Springer International Publishing  |c 2018, 2018 
300 |a XII, 256 p. 86 illus., 7 illus. in color  |b online resource 
505 0 |a Part 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 π -- 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 
653 |a Microprogramming  
653 |a Control Structures and Microprogramming 
653 |a Computer programming 
653 |a Programming Techniques 
653 |a Processor Architectures 
653 |a Numeric Computing 
653 |a Numerical analysis 
653 |a Microprocessors 
700 1 |a Slivnik, Boštjan  |e [author] 
700 1 |a Bulić, Patricio  |e [author] 
700 1 |a Robič, Borut  |e [author] 
041 0 7 |a eng  |2 ISO 639-2 
989 |b Springer  |a Springer eBooks 2005- 
490 0 |a Undergraduate Topics in Computer Science 
856 4 0 |u https://doi.org/10.1007/978-3-319-98833-7?nosfx=y  |x Verlag  |3 Volltext 
082 0 |a 005.11 
520 |a Advancements 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