Skip to:Content
|
Bottom
Cover image for Fundamentals of multicore software development
Title:
Fundamentals of multicore software development
Series:
Chapman & Hall/CRC computational science
Publication Information:
Boca Raton, FL. : CRC Press, c2012.
Physical Description:
xii, 317 p. : ill. ; 25 cm.
ISBN:
9781439812730

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010297423 QA76.642 F86 2012 Open Access Book Book
Searching...

On Order

Summary

Summary

With multicore processors now in every computer, server, and embedded device, the need for cost-effective, reliable parallel software has never been greater. By explaining key aspects of multicore programming, Fundamentals of Multicore Software Development helps software engineers understand parallel programming and master the multicore challenge.

Accessible to newcomers to the field, the book captures the state of the art of multicore programming in computer science. It covers the fundamentals of multicore hardware, parallel design patterns, and parallel programming in C++, .NET, and Java. It also discusses manycore computing on graphics cards and heterogeneous multicore platforms, automatic parallelization, automatic performance tuning, transactional memory, and emerging applications.

As computing power increasingly comes from parallelism, software developers must embrace parallel programming. Written by leaders in the field, this book provides an overview of the existing and up-and-coming programming choices for multicores. It addresses issues in systems architecture, operating systems, languages, and compilers.


Author Notes

Victor Pankratius heads the Multicore Software Engineering group at the Karlsruhe Institute of Technology. He is also the elected chairman of the Software Engineering for Parallel Systems (SEPARS) international working group. With a focus on making parallel programming easier, his research encompasses auto-tuning, language design, debugging, and empirical studies.

Ali-Reza Adl-Tabatabai is a senior principal engineer at Intel Corporation, where he leads a team working on compilers and scalable runtimes. His research concentrates on language features that make it easier to build reliable and scalable parallel programs for future multicore architectures.

Walter Tichy is a professor of computer science and head of the Programming Systems group at the Karlsruhe Institute of Technology. He is also a member of the board of directors of software engineering at Forschungszentrum Informatik (FZI), an independent research institution. His research covers tools and methods to simplify the engineering of general-purpose parallel software, including race detection, auto-tuning, and high-level languages for expressing parallelism.


Table of Contents

Victor Pankratius and Ali-Reza Adl-Tabatabai and Walter F. TichyBarry WilkinsonTim MattsonHans BoehmJudith BishopBarbara Chapman and James LaGroneMichael Garland and Vinod Grover and Kevin SkadronChristoph W. KesslerDavid I. August and Jialu Huang and Thomas B. Jablin and Hanjun Kim and Thomas R. Mason and Prakash Prabhu and Arun Raman and Yun ZhangChristoph A. Schaefer and Victor Pankratius and Walter F. TichyTim HarrisPradeep Dubey
Forewordp. vii
Editorsp. ix
Contributorsp. xi
1 Introductionp. 1
Part I Basics of Parallel Programmingp. 7
2 Fundamentals of Multicore Hardware and Parallel Programmingp. 9
3 Parallel Design Patternsp. 31
Part II Programming Languages for Multicorep. 53
4 Threads and Shared Variables in C++p. 55
5 Parallelism in .NET and Javap. 79
6 OpenMPp. 101
Part III Programming Heterogeneous Processorsp. 129
7 Scalable Manycore Computing with CUDAp. 131
8 Programming the Cell Processorp. 155
Part IV Emerging Technologiesp. 199
9 Automatic Extraction of Parallelism from Sequential Codep. 201
10 Auto-Tuning Parallel Application Performancep. 239
11 Transactional Memoryp. 265
12 Emerging Applicationsp. 291
Indexp. 309
Go to:Top of Page