Programming models for parallel computing
By: edited by Pavan Balaji
Series: Scientific and engineering computation; Scientific and engineering computation
Published: 2015
Language: eng
Number of pages: 458
ISBN-13: 9780262528818
Subjects: Parallel processing (Electronic computers); Parallel programs (Computer programs)
Description: "With the coming of the parallel computing era, computer scientists have turned their attention to designing programming models that are suited for high-performance parallel computing and supercomputing systems. Programming parallel systems is complicated by the fact that multiple processing units are simultaneously computing and moving data. This book offers an overview of some of the most prominent parallel programming models used in high-performance computing and supercomputing systems today. The chapters describe the programming models in a unique tutorial style rather than using the formal approach taken in the research literature. The aim is to cover a wide range of parallel programming models, enablign the reader to understand what each has to offer. The book begins with a description of the Message Passing Interface (MPI), the most common parallel programming model for distributed memory computing. It goes on to cover one-sided communication models, ranging from low-level runtime libraries (GASNet, OpenSHMEM) to high-level programming models (UPC, GA, Chapel); task-oriented programming models (Charm++, ADLB, Scioto, Swift, CnC) that allow users to describe their computation and data movement as necessary; and parallel programming models intended for on-node parallelism in the context of multicore architecture or attached accelerators (OpenMP, Cilk Plus, TBB, CUDA, OpenCL). The book will be a valuable resource for graduate students, researchers, and any scientist who works with data sets and large computations"--Back cover.
Notes: Includes bibliographical references (pages 429-458).
Table of contents: title: Message passing interface / W. Gropp and R. Thakur; title: Global address space networking / P. Hargrove; title: OpenSHMEM / J. Kuehn and S. Poole; title: Unified parallel C / K. Yelick and Y. Zhang; title: Global arrays / S. Krishnamoorthy, J. Daily, A. Vishnu and B. Palmer; title: Chapel / B. Chamberlain; title: Charm++ / L. Kale, N. Jain, and J. Lifflander; title: Asynchronous dynamic load balancing / E. Lusk, R. Butler, and S. Pieper; title: Scalable collections of task objects / J. Dinan; title: Swift: extreme-scale, implicitly parallel scripting / T. Armstrong, J.M. Wozniak, M. Wilde and I.T. Foster; title: Concurrent collections / K. Knobe, M. Burke, and F. Schlimbach; title: OpenMP / B. Chapman, D. Eachempati, and S. Chandrasekaran; title: Cilk plus / A. Robison and C. Leiserson; title: Intel threading building blocks / A. Kukanov; title: Compute unified device architecture / W. Hwu and D. Kirk; title: OpenCL: the open computing language / T. Mattson.