Introduction to parallel computing: from algorithms to programming on state-of-the-art platforms
Book information
Description
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. Read more... Abstract: 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 Content: 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.
Similar books
Big Data: A Complete Guide To The Basic Concepts
2021 · AZW
Ruski przekład polskich statutów ziemskich z rękopisu Moskiewskiego
1959 · PDF
GIMP for Absolute Beginners
2012 · PDF
Canadian Income Taxation Planning and Decision Making (2023-2024)
2023 · PDF
Moderné dejiny dizajnu
1990 · PDF
Die Definition des vermögensrechtlichen Missbrauchs von General- und Vorsorgevollmachten
2015 · PDF
Jugendschutz oder Geschmackszensur?: Die Indizierung von Medien nach dem Jugendschutzgesetz. Eine verwaltungs- und verfassungsrechtliche Untersuchung unter Berücksichtigung europarechtlicher und völkerrechtlicher Bezüge
2009 · PDF
Die Unvereinbarkeit des Amts des Testamentsvollstreckers mit seiner Stellung als gesetzlicher Vertreter einer natürlichen Person als Erben
2011 · PDF